导言
数组创建的一般机制有五种:
从其它Python的结构转换(如列表和元组)
内置的NumPy数组创建对象(如 arange, ones, zeros以及其它)
从磁盘中读取标准或自定义格式的数据
通过使用字符串或者缓冲区,从原始的字节创建数组
使用特殊的库函数(比如random)
本节不会涉及复制和连接等扩展和转换现有数组的方法,也不会涉及创建对象数组和结构化数组。这些会在它们自己的章节中讲述。
将Python类似数组的对象转换为NumPy数组
通常,Python中排列为数组结构的数值数据可以通过array()函数来转换成数组,典型的例子就是列表和元组。具体使用方法请见array()函数的文档。一些对象也支持数组的协议,并且可以用这种方法转换成数组。辨识一个对象是否能转换为数组,最简单的方法就是在交互式环境中尝试这一方法,看看它是否有效(即Python之道)。
例如:
>>> x = np.array([2,3,1,0])
>>> x = np.array([2, 3, 1, 0])
>>> x = np.array([[1,2.0],[0,0],(1+1j,3.)]) # note mix of tuple and lists,
and types
>>> x = np.array([[ 1.+0.j, 2.+0.j], [ 0.+0.j, 0.+0.j], [ 1.+1.j, 3.+0.j]])
内置的NumPy数组创建
NumPy具有从无到有创建数组的内置功能: