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

来源:互联网 发布:二手mac pro工作站 编辑:程序博客网 时间:2024/05/21 14:51
转自:http://www.cnblogs.com/fortran/archive/2010/09/01/1814773.html


1、empty(shape[, dtype, order])

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

参数:

shape : 整数或者整型元组

  定义返回数组的形状;

dtype : 数据类型,可选

  定义返回数组的类型。

order : {‘C’, ‘F’}, 可选

  规定返回数组元素在内存的存储顺序:C(C语言)-row-major;F(Fortran)column-major。

1
2
3
4
5
6
7
>>> np.empty([22])
array([[ -9.74499359e+0016.69583040e-309],
2.13182611e-3143.06959433e-309]])    #random
 
>>> np.empty([22], dtype=int)
array([[-1073741821-1067949133],
49604198619249760]])    #random

2、empty_like(a)

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

参数:

a:数组

其形状和类型用来规定返回函数的形状和类型。

返回值:

输出:ndarray

与数组a形状和类型一样的数组。

1
2
3
4
>>> a = np.array([[1.,2.,3.],[4.,5.,6.]])
>>> 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。

1
2
3
4
5
6
7
8
>>> np.eye(2, dtype=int)
array([[1,0],
[0,1]])
 
>>> 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 单位方阵。

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

5、ones(shape[, dtype, order])

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

参数设置请参考zeros。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
>>> np.ones(5)
array([1.,1.,1.,1.,1.])
 
>>> np.ones((5,), dtype=np.int)
array([1,1,1,1,1])
 
>>> 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的文档。
1
2
3
4
>>> a = np.array([[1,2,3], [4,5,6]])
>>> np.ones_like(a)
array([[1,1,1],
[1,1,1]])

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

给定形状,数据类型的数组。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
>>> np.zeros(5)
array([0.,0.,0.,0.,0.])
 
>>> np.zeros((5,), dtype=numpy.int)
array([0,0,0,0,0])
 
>>> 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’, ’<i4’), (’y’, ’<i4’)])

8、zeros_like(a)

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

等同于a.copy().fill(0)。

参数:

a : array_like

输出:ndarray

与a数组形状类型一致的0数组。

1
2
3
4
5
6
7
8
9
10
11
12
13
>>> x = np.arange(6)
>>> x = x.reshape((2,3))
>>> x
array([[0,1,2],
[3,4,5]])
>>> np.zeros_like(x)
array([[0,0,0],
[0,0,0]])
>>> y = np.arange(3, dtype=np.float)
>>> y
array([0.,1.,2.])
>>> np.zeros_like(y)
array([0.,0.,0.])
0 0
原创粉丝点击