数据的结构和运算(求和,最大和最小)
# 数据的基本定义 lst=np.array([[[1,2,3,4],[4,5,6,7]],[[7,8,9,10],[10,11,12,13]]]) print(lst) ''' [[[ 1 2 3 4] [ 4 5 6 7]] [[ 7 8 9 10] [10 11 12 13]]] ''' print(lst.ndim) # 3 数据的维度,也叫做秩 rank print(lst.shape) # (2, 2, 4) print(lst.size) # 16 <==2*2*4 print(lst.itemsize) # 4
可以先求出shape 求出 ndim,即可得到维度,也是秩。0维所有的数据。一维数据有两块。二维数据有四列。
# 数据的操作 # 求和 print(lst.sum()) # 112 所有数据的和
# axis 越大深入程度越大,axis越小深入程度越小;
# 根据 axis 找到 该维度下的分块
# 各块数据进行操作
print(lst.sum(axis=0)) # 居然不是所有数据和?????? ''' # axis=0 实际应该是一维?? 维度下(分块) 同等数据 相加!!! [[ 8 10 12 14] [14 16 18 20]] ''' print(lst.sum(axis=1)) # ''' [[ 5 7 9 11] [17 19 21 23]] ''' print(lst.sum(axis=2)) ''' [[10 22] [34 46]] '''
求最大和最小:
# max print(lst.max()) # 13 print(lst.max(axis=0)) ''' [[ 7 8 9 10] [10 11 12 13]] ''' print(lst.max(axis=1)) ''' [[ 4 5 6 7] [10 11 12 13]] ''' print(lst.max(axis=2)) ''' [[ 4 7] [10 13]] ''' # min print(lst.min(axis=1)) ''' [[ 1 2 3 4] [ 7 8 9 10]] '''
数据的拼接,分离和复制
# 拼接 print(np.concatenate((lst1,lst2),axis=0)) # 注意书写格式 [10 20 30 40 4 3 2 1] print(np.vstack((lst1,lst2))) ''' [[10 20 30 40] [ 4 3 2 1]] ''' print(np.hstack((lst1,lst2))) # 注意和上面的不同点 # [10 20 30 40 4 3 2 1] # 分离 print(np.split(lst1,2)) # 分成两组 [array([10, 20]), array([30, 40])] print(np.split(lst1,4)) # [array([10]), array([20]), array([30]), array([40])] # 复制 print(np.copy(lst1))