NumPy基础-数组创建

有5种创建数组的通用机制:
1.从其它Python结构(例如列表、元组)转换
2.内在的NumPy数组创建对象(例如arange,1,0等)
3.从磁盘读取标准或自定义格式的数组
4.通过使用字符串或缓冲期从原始字节创建数组
5.使用特殊的库函数创建(例如,随机的)

将Python array_like对象转换为NumPy数组

通常,可以通过使用array()函数将Python中以数组状结构排列的数值数据转换为数组。最明显的例子是列表和元组。一些对象可能支持数组协议,并允许以这种方式转换为数组。查找是否可以使用array()将对象转换为numpy数组的简单方法就是,以交互方式尝试并查看其是否有效!(Python方式)。例如:
在这里插入图片描述

内部NumPy数组创建

NumPy具有内置功能,可以从头开始创建数组:
零个 (形状)将创建一个数组,其中填充了具有指定形状的0个值。默认dtype是float64。

在这里插入图片描述
一个(形状)将创建一个填充有1个值的数组。在其他方面,它都等于0.
arange()将创建具有规则递增值的数组。检查文档字符串以获取有关各种使用方式的完整信息。例如:

在这里插入图片描述
Iinspace()将创建具有指定数量的元素的数组,并在指定的开始值和结束值之间平均隔开。例如:
在这里插入图片描述
这个创建函数的优点是可以保证元素的数量以及起点和终点,而arange()通常不能保证任意的起点,终点和步长值。
index()将创建一组数组(堆叠为一维数组),每个维一个,每个维表示该维的变化。例如:
在这里插入图片描述
这对于评估常规网络上的多维功能特别有用。

从磁盘读取数组

这大概是创建大型数组的最常见情况。当然,这些细节在很大程度上取决于磁盘上的数据格式,因此这里我们主要讲有关如何处理各种格式数据。

标准的二进制格式

各个字段具有用于数组数据的标准格式。以下列出了使用已知的python库读取他们并返回numpy数组的库(可能还有其他可能读取并转换为numpy数组的库),所有要同时检查最后一部分)。
在这里插入图片描述
不能直接读取但不难转换的格式示例包括PIL之类的库支持的那些格式(能够读取和写入许多图像格式,例如jpg、png等)。

常见的ASCII格式

逗号分隔值文件(CSV)被广泛使用(以及Excel等程序的导出和导入选项)。有很多种方法可以再Python中读取这些文件。Python中有CSV函数,而pylab中有函数(matplotlib的一部分)。
可以使用scipy中的io包读取更多通用的ascii文件。

自定义的二进制格式

如果文件具有相对简单的格式,则可以编写一个简单的I / O库,并使用numpy fromfile()函数和.tofile()方法直接读取和写入numpy数组(但是要注意字节顺序)或存在读取数据的C++库,可以用多种技术包装该库,但是这需要做更多的工作,并且需要相当多的更先进的知识才能与C或C++交互。

使用特殊的库

有一些库可以用于生成特殊用途的数组,并且无法枚举所有库。最常见的用途是随机使用可以生成随机值数组的许多数组生成函数,以及一些实现程序函数来生成特殊矩阵(例如对角线)。

如果你想学习Python,但是找不到学习路径和资源,欢迎来指尖编程


版权声明:本文为m0_54342642原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。