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。

1
2
3
4
5
6
7
>>> np.empty([ 2 , 2 ])
array([[ - 9.74499359e + 001 , 6.69583040e - 309 ],
[ 2.13182611e - 314 , 3.06959433e - 309 ]])    #random
 
>>> np.empty([ 2 , 2 ], dtype = int )
array([[ - 1073741821 , - 1067949133 ],
[ 496041986 , 19249760 ]])    #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. ])
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值