NumPy——ndarray数据的维度
数据的维度
维度:一组数据的组织形式
一维数据采用线性方式组织
列表和数组
列表:数据类型可以不同
数组:数据类型相同
二维数据由多个一维数据构成,是一维数据的组合形式
ndarray 数组对象
ndarray是一个多维数组对象,由两部分组成:
1)实际的数据
2)描述这些数据的元数据(数据维度、数据类型等)
使用np.array()生成一个ndarray数组
直接打印np.array输出以[ ]包裹,元素以空格分割
其中:
轴(axis)是保存数据的维度
秩(rank)是轴的数量
属性:拥有六个参数 详见上一篇
其中详细描述一下np.shape:
shape表示数组对象的形状,当打印的时候,有多少层嵌套的中括号对应就有几个维度,如果同一维度元素数量不一致,则会空出对应维度的元素数
import numpy as np def ndarray(): a0 = np.array(1) a = np.array([1]) b = np.array([1,2,3]) c = np.array([[1,2,3],[4,5,6]]) d = np.array([[1,2,3],[1,2]]) e = np.array([[[1,2,3]]]) print(a0.shape,a.shape,b.shape,c.shape,d.shape,e.shape) return 0 ndarray()
结果:
() (1,) (3,) (2, 3) (2,) (1, 1, 3)
ndarray数组一般要求所有元素类型相同(同质),数组下标从0开始。
在数组元素维度相同的时候可以将数组对象作为单一数据进行运算
import numpy as np def pySum(): a=[0,1,2,3,4] b=[9,8,7,6,5] c=[] for i in range(len(a)): c.append(a[i]**2 + b[i]**3) return c def npSum(): a=np.array([0,1,2,3,4]) b=np.array([9,8,7,6,5]) c = a**2 + b**3 return c print(pySum()) print(npSum())
运行结果:
[729, 513, 347, 225, 141]
[729 513 347 225 141]