前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python—numpy模块下函数介绍(一)numpy.ones、empty等

Python—numpy模块下函数介绍(一)numpy.ones、empty等

作者头像
用户7886150
修改2021-01-04 10:12:12
4750
修改2021-01-04 10:12:12
举报
文章被收录于专栏:bit哲学院

参考链接: Python中的numpy.eye

NumPy数组的维数称为秩(rank),一维数组的秩为1,二维数组的秩为2,以此类推。在NumPy中,每一个线性的数组称为是一个轴(axes),秩其实是描述轴的数量。比如说,二维数组相当于是一个一维数组,而这个一维数组中每个元素又是一个一维数组。所以这个一维数组就是NumPy中的轴(axes),而轴的数量——秩,就是数组的维数。? 首先来看看以np.ones为例的英文参数介绍?

numpy.ones(shape, dtype=None, order=’C’)?

Return a new array of given shape and type, filled with ones. Parameters:?

shape : int or sequence of ints?

Shape of the new array, e.g., (2, 3) or 2.

dtype : data-type, optional?

The desired data-type for the array, e.g., numpy.int8. Default is numpy.float64.

order : {‘C’, ‘F’}, optional?

Whether to store multidimensional data in C- or Fortran-contiguous (row- or column-wise) order in memory.

Returns: out : ndarray?

Array of ones with the given shape, dtype, and order.

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

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

? 参数:shape : 整数或者整型元组定义返回数组的形状;

? ? dtype : 数据类型,可选定义返回数组的类型。

? ? order : {‘C’, ‘F’}, 可选规定返回数组元素在内存的存储顺序:C(C语言)-rowmajor;F(Fortran)column-major。?

print('\nnp.empty([2,2])生成的array=\n{}'.format(np.empty([2,2])))

print('\nnp.empty([2,2],dtype=int)生成的array=\n{}'.format(np.empty([2,2],dtype=int)))?

? 2、empty_like(a)?

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

a=np.array([[1.,2.,3.],[4.,5.,6.]])

print('\nnp.empty_like(a)生成的array=\n{}'.format(np.empty_like(a)))#输出:ndarray与数组a形状和类型一样的数组。?

? 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。?

print('\nnp.eye(2,dtype=int)生成的array=\n{}'.format(np.eye(2,dtype=int)))

print('\nnp.eye(3,k=1)生成的array=\n{}'.format(np.eye(3,k=1)))

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.? 返回值:输出: ndarrayn x n 单位方阵。?

print('\nnp.identity(3)生成的array=\n{}'.format(np.identity(3)))

np.identity(3)生成的array=

[[ 1.? 0.? 0.]

?[ 0.? 1.? 0.]

?[ 0.? 0.? 1.]]?

5、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给定形状,数据类型的数组。?

print('\nnp.zeros(5)生成的array=\n{}'.format(np.ones(5)))

print('\nnp.zeros((5,),dtype=np.int)生成的array=\n{}'.format(np.zeros((5,),dtype=np.int)))

print('\nnp.zeros((2,1))生成的array=\n{}'.format(np.zeros((2,1))))

S=(2,2)

print('\nnp.zeros(S)生成的array=\n{}'.format(np.zeros(S)))

print('\n np.zeros((2,), dtype=[(’x’, ’i4’), (’y’, ’i4’)])生成的array=\n{}'.format( np.zeros((2,), dtype=[('x','i4'), ('y','i4')])))

print(type(np.zeros((2,), dtype=[('x','i4'), ('y','i4')])))

x=np.arange(6)

x=x.reshape((2,3))? #([[0, 1, 2],[3, 4, 5]])

print('\nnp.zeros_like(x)生成的array=\n{}'.format(np.zeros_like(x)))

y=np.arange(3,dtype=np.float)? ?#([ 0., 1., 2.])

print('\nnp.zeros_like(y)生成的array=\n{}'.format(np.zeros_like(y)))

np.zeros(5)生成的array=

[ 1.? 1.? 1.? 1.? 1.]

np.zeros((5,),dtype=np.int)生成的array=

[0 0 0 0 0]

np.zeros((2,1))生成的array=

[[ 0.]

?[ 0.]]

np.zeros(S)生成的array=

[[ 0.? 0.]

?[ 0.? 0.]]

?np.zeros((2,), dtype=[(’x’, ’i4’), (’y’, ’i4’)])生成的array=

[(0, 0) (0, 0)]

<class 'numpy.ndarray'>

np.zeros_like(x)生成的array=

[[0 0 0]

?[0 0 0]]

np.zeros_like(y)生成的array=

[ 0.? 0.? 0.]?

6、ones(shape[, dtype, order])?

  依据给定形状和类型(shape[, dtype, order])返回一个新的元素全部为1的数组。相应用法同5.zeros?

print('\nnp.ones(4)生成的array=\n{}'.format(np.ones(4)))

print('\nnp.ones((4,),dtype=np.int)生成的array=\n{}'.format(np.ones((4,),dtype=np.int)))

print('\nnp.ones((2,1))生成的array=\n{}'.format(np.ones((2,1))))

S=(2,2)

print('\nnp.ones(S)生成的array=\n{}'.format(np.ones(S)))

a=np.array([[1,2,3],[4,5,6]])

print('\nnp.ones_like(a)生成的array=\n{}'.format(np.ones_like(a)))#等同于a.copy().fill(1)

np.ones(4)生成的array=

[ 1.? 1.? 1.? 1.]

np.ones((4,),dtype=np.int)生成的array=

[1 1 1 1]

np.ones((2,1))生成的array=

[[ 1.]

?[ 1.]]

np.ones(S)生成的array=

[[ 1.? 1.]

?[ 1.? 1.]]

np.ones_like(a)生成的array=

[[1 1 1]

?[1 1 1]]

其中i4与i8等可以参考:直通车? Little-Endian与BIG-ENDIAN参考:直通车? 其他方面数组操作参考连接

本文系转载,前往查看

如有侵权,请联系?cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系?cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com