yanghongjun 发表于 2015-4-26 10:44:37

Python之路——numpy各函数简介之生成数组函数(Array creation routines)

1、empty(shape[, dtype, order])
  依据给定形状和类型(shape[, dtype, order])返回一个新的空数组。

  参数:
  shape : 整数或者整型元组
  定义返回数组的形状;
  dtype : 数据类型,可选
  定义返回数组的类型。
  order : {‘C’, ‘F’}, 可选
  规定返回数组元素在内存的存储顺序:C(C语言)-row-major;F(Fortran)column-major。




>>> np.empty()
array([[ -9.74499359e+001, 6.69583040e-309],
[ 2.13182611e-314, 3.06959433e-309]])    #random
>>> np.empty(, dtype=int)
array([[-1073741821, -1067949133],
[ 496041986, 19249760]])    #random

2、empty_like(a)
  依据给定数组(a)的形状和类型返回一个新的空数组。

  参数:
  a:数组
  其形状和类型用来规定返回函数的形状和类型。
  返回值:
  输出:ndarray
  与数组a形状和类型一样的数组。




>>> a = np.array([,])
>>> np.empty_like(a)
array([[ -2.00000715e+000, 1.48219694e-323, -2.00000572e+000], #random
[ 4.38791518e-305, -2.00000715e+000, 4.17269252e-309]])

3、eye(N[, M, k, dtype])
  返回一个对角线元素为1,其他元素为0的二维数组。

  参数:
  N : 整数
  返回数组的行数;
  M : 整数,可选
  返回数组的列数。如果不赋值的话,默认等于N;
  k : 整数, 可选
  对角线序列号: 0 对应主对角线;,整数对应upper diagonal,负数对应lower diagonal;
  dtype : dtype, 可选
  返回数组的数据类型
  返回值:
  I : ndarray (N,M)
  该数组第k个对角线的元素为1,其他元素为0。




>>> np.eye(2, dtype=int)
array([,
])
>>> np.eye(3, k=1)
array([[ 0., 1., 0.],
[ 0., 0., 1.],
[ 0., 0., 0.]])

4、identity(n[, dtype])
  返回一个N维单位方阵。

  参数:
  n : 整数
  返回方阵的行列数;
  dtype : 数据类型,可选
  返回方阵的数据类型,默认为float.
  返回值:
  输出: ndarray
  n x n 单位方阵。




>>> np.identity(3)
array([[ 1., 0., 0.],
[ 0., 1., 0.],
[ 0., 0., 1.]])

5、ones(shape[, dtype, order])
  依据给定形状和类型(shape[, dtype, order])返回一个新的元素全部为1的数组。

参数设置请参考zeros。


>>> np.ones(5)
array([ 1., 1., 1., 1., 1.])
>>> np.ones((5,), dtype=np.int)
array()
>>> np.ones((2, 1))
array([[ 1.],
[ 1.]])
>>> s = (2,2)
>>> np.ones(s)
array([[ 1., 1.],
[ 1., 1.]])

6、ones_like()
  依据给定数组(a)的形状和类型返回一个新的元素全部为1的数组。

等同于a.copy().fill(1),具体使用请参考zeros_like的文档。


>>> a = np.array([, ])
>>> np.ones_like(a)
array([,
])

7、zeros(shape[, dtype, order])
  依据给定形状和类型(shape[, dtype, order])返回一个新的元素全部为0的数组。

  参数:
  shape:int或者ints元组;
  定义返回数组的形状,形如:(2, 3)或2。
  dtype:数据类型,可选。
  返回数组的数据类型,例如:numpy.int8、默认为numpy.float64。
  order:{‘C’, ‘F’},可选,返回数组为多维时,元素在内存的排列方式是按C语言还是Fortran语言顺序(row- or columnwise)。
  输出:ndarray
  给定形状,数据类型的数组。




>>> np.zeros(5)
array([ 0., 0., 0., 0., 0.])
>>> np.zeros((5,), dtype=numpy.int)
array()
>>> np.zeros((2, 1))
array([[ 0.],
[ 0.]])
>>> s = (2,2)
>>> np.zeros(s)
array([[ 0., 0.],
[ 0., 0.]])
>>> np.zeros((2,), dtype=[(’x’, ’i4’), (’y’, ’i4’)]) # custom dtype
array([(0, 0), (0, 0)],
dtype=[(’x’, ’> x = np.arange(6)
>>> x = x.reshape((2, 3))
>>> x
array([,
])
>>> np.zeros_like(x)
array([,
])
>>> y = np.arange(3, dtype=np.float)
>>> y
array([ 0., 1., 2.])
>>> np.zeros_like(y)
array([ 0., 0., 0.])

  
  待编辑………………………………
页: [1]
查看完整版本: Python之路——numpy各函数简介之生成数组函数(Array creation routines)