数据的结构和运算(求和,最大和最小)

# 数据的基本定义

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))

 

posted @ 2017-09-27 20:32  hbb360  阅读(258)  评论(0编辑  收藏  举报