新的ndarray对象可以通过下列数组创建例程或使用低级ndarray构造函数构造。
(1)语法:numpy.empty
创建指定形状和dtype的未初始化数组。该函数的用法如下:
numpy.empty(shape, dtype = float, order = 'C')
构造器接收下列参数:
【例3.15】
下面是一个展示空数组的例子:
import numpy as np x = np.empty([3,2], dtype = int) print x
输出如下:
[[22649312 1701344351] [1818321759 1885959276] [16779776 156368896]]
注意:数组元素为随机值,因为它们未初始化。
(2)语法:numpy.zeros
返回特定大小,以0填充的新数组。该函数的用法如下:
numpy.zeros(shape, dtype = float, order = 'C')
构造器接收下列参数:
【例3.16】
# 含有 5 个 0 的数组,默认类型为 float import numpy as np x = np.zeros(5) print x
输出如下:
[ 0. 0. 0. 0. 0.]
(3)语法:numpy.ones
返回特定大小,以1填充的新数组。该函数的用法如下:
numpy.ones(shape, dtype = None, order = 'C')
构造器接收下列参数:
【例3.17】
# 含有 5 个 1 的数组,默认类型为 float import numpy as np x = np.ones(5) print x
输出如下:
[ 1. 1. 1. 1. 1.]
(1)语法:numpy.asarray
该函数类似于numpy.array,除了它有较少的参数外。这个例程对于将Python序列转换为ndarray非常有用。该函数的用法如下:
numpy.asarray(a, dtype = None, order = None)
构造器接收下列参数:
【例3.18】
# 将列表转换为 ndarray import numpy as np x = [1,2,3] a = np.asarray(x) print a
输出如下:
[1 2 3]
【例3.19】
# 设置了 dtype import numpy as np x = [1,2,3] a = np.asarray(x, dtype = float) print a
输出如下:
[ 1. 2. 3.]
(2)语法:numpy.frombuffer
此函数将缓冲区解释为一维数组。暴露缓冲区接口的任何对象都用作参数来返回ndarray。该函数的用法如下:
numpy.frombuffer(buffer, dtype=float, count=-1, offset=0)
构造器接收下列参数:
【例3.20】
frombuffer函数的用法:
import numpy as np s = 'Hello World' a = np.frombuffer(s, dtype = 'S1') print a
输出如下:
['H' 'e' 'l' 'l' 'o' ' ' 'W' 'o' 'r' 'l' 'd']
(3)语法:numpy.fromiter
此函数从任何可迭代对象构建一个ndarray对象,返回一个新的一维数组。该函数的用法如下:
numpy.fromiter(iterable, dtype, count=-1)
构造器接收下列参数:
【例3.21】
使用内置的range()函数返回列表对象,此列表的迭代器用于形成ndarray对象。
# 使用 range 函数创建列表对象 import numpy as np list = range(5) print list
输出如下:
[0, 1, 2, 3, 4]
(1)语法:numpy.arange
该函数从数值范围创建数组,返回ndarray对象,包含给定范围内的等间隔值。该函数的用法如下:
numpy.arange(start, stop, step, dtype)
构造器接收下列参数:
【例3.22】
import numpy as np x = np.arange(5) print x
输出如下:
[0 1 2 3 4]
(2)语法:numpy.linspace
该函数类似于arange()函数。在此函数中,指定了范围之间的均匀间隔数量,而不是步长。该函数的用法如下:
numpy.linspace(start, stop, num, endpoint, retstep, dtype)
构造器接收下列参数:
【例3.23】
import numpy as np x = np.linspace(10,20,5) print x
输出如下:
[10. 12.5 15. 17.5 20.]
(3)语法:numpy.logspace
该函数返回一个ndarray对象,其中包含在对数刻度上均匀分布的数字。刻度的开始和结束端点是某个底数的幂,通常为10。该函数的用法如下:
numpy.logscale(start, stop, num, endpoint, base, dtype)
logspace函数的输出由以下参数决定:
【例3.24】
import numpy as np # 默认底数是 10 a = np.logspace(1.0, 2.0, num = 10) print a
输出如下: