Python数据科学numpy的基础属性、创建

本篇介绍numpy的基础用法练习

numpy是一个底层为ndarray类型的数据科学包,特点是快速的科学运算,以数组形式存在的。通常和pandas、matplotlibs合用,含有较多的统计分析函数。

  • ndarray数组的基本属性,主要以shape和dtype为主
a = np.array([[20,3,24],[23,4,2]])
print("数组形状:"+ str(a.shape))
print("数组的轴数:"+ str(a.ndim))
print("数组元素的个数:"+ str(a.size))

print("数组元素的类型:"+ str(a.dtype))
print("数组元素的字节大小:"+ str(a.itemsize))

在这里插入图片描述
从结果可以看出个数组属性的用法:np.函数名

np.shape:以元组形式返回数组的形状
np.ndim:返回数组的轴数,int类型;此处是二维的2行3列,则返回2,
np.size:返回数组元素的个数,int类型;2*3
np.dtype:返回数组元素的类型
np.itemsize:返回数组元素的字节大小

为什么从将这几个数组属性分成两部分呢,因为一个数组最主要的属性由这两个组成,其他都可以从这两个去推导出来。

shape 数组形状(2,3) 则可以推出 ndim轴数=2,size元素个数=2*3=6
dtype 数组元素类型,知道元素的数据类型,自然也就知道对应的字节大小

  • 数组创建
b1 = np.arange(2,9,1)
b2 = np.ones((3,5))
b3 = np.zeros((3,3))
b4 = np.full((2,3),6)
b5 = np.eye(3)
b6 = np.linspace(10,50,5,endpoint=True)
print(b1)
print("-----------------")
print(b2)
print("-----------------")
print(b3)
print("-----------------")
print(b4)
print("-----------------")
print(b5)
print("-----------------")
print(b6)

在这里插入图片描述
为了多个输出结果能区分清楚,添加了------的输出。numpy内含有多种创建函数,这里列举了几个常用创建方法说明。

np.arange(begin,end,step):创建[begin,end),步长step的一维整数数组,注意是左闭右开
np.ones(shape):按shape的形状,创建元素都是1的数组
np.zeros(shape):按shape的形状,创建元素都是0的数组
np.full(shape,val):按shape的形状,以val值全部填充的数组
np.eye(val):创建对角线为1,val乘val的正方形数组,例子中是3乘3,对角线为1的数组

np.linspace(begin,end,parts,endpoint=True):创建在[begin,end]范围内分成parts等份,例子中是(10,50,5) 意思从[10,50]中分成5份来组成数组元素,注意是左闭右也闭;默认endpoint=True,意思是末值(此处是50)是否包含在内,若设置为False,则不包含。

np.array(列表/字典):这是一开始讲基础属性时创建数组的方法(具体可以往上看),这种方法比较自由,可以以多种形式创建,也不限维度。

还有3个类似的函数,介绍一下

np.ones_like(shape)
np.zeros_like(shape)
np.full_like(shape,val)

看到函数名字和参数设置,想必也能够猜到以上3个函数的用法,直接上图。

b4 = np.full((2,3),6)
b22 = np.ones_like(b4)
b33 = np.zeros_like(b4)
b44 = np.full_like(b4,6)
print(b22,'\n-------\n',b33,'\n-------\n',b44)

在这里插入图片描述
不多解释了,就是基础上给个like,“模仿”shape的形状来创建对应的数组。

小结一句:以上创建数组的函数,所涉及的shape参数,一定要用元组形式写进,如(2,3),否则会提示参数无效的错误

猜你喜欢

转载自blog.csdn.net/Hefqic/article/details/88551942