numpy_基础运算2


Demo.py

import numpy as np
A = np.arange(2,14).reshape((3,4)) 
# array([[ 2, 3, 4, 5]
#        [ 6, 7, 8, 9]
#        [10,11,12,13]])
# argmin() 和 argmax() 两个函数分别对应着求矩阵中最小元素和最大元素的索引         
print np.argmin(A)   # 0
print np.argmax(A)   # 11
#求整个矩阵的均值
print np.mean(A)        # 7.5  另一种写法print A.mean()         # 7.5
print np.average(A)     # 7.5
#求解中位数
print np.median(A)       # 7.5
#在累加运算函数cumsum()中:生成的每一项矩阵元素均是从原矩阵首项累加到对应项的元素之和
print np.cumsum(A)
# [2 5 9 14 20 27 35 44 54 65 77 90]
#累差运算函数计算的便是每一行中后一项与前一项之差。
#故一个3行4列矩阵通过函数计算得到的矩阵便是3行3列的矩阵。
print np.diff(A)   
# [[1 1 1]
#  [1 1 1]
#  [1 1 1]]
#nonzero()函数:将所有非零元素的行与列坐标分割开,重构成两个分别关于行和列的矩阵。
print np.nonzero(A)    
# (array([0,0,0,0,1,1,1,1,2,2,2,2]),array([0,1,2,3,0,1,2,3,0,1,2,3]))


#同样的,我们可以对所有元素进行仿照列表一样的排序操作,
#但这里的排序函数仍然仅针对每一行进行从小到大排序操作:
import numpy as np
A = np.arange(14,2, -1).reshape((3,4)) 
# array([[14, 13, 12, 11],
#       [10,  9,  8,  7],
#       [ 6,  5,  4,  3]])

print np.sort(A)    
# array([[11,12,13,14]
#        [ 7, 8, 9,10]
#        [ 3, 4, 5, 6]])

#矩阵的转置有两种表示方法:
print np.transpose(A)    
print A.T
# array([[14,10, 6]
#        [13, 9, 5]
#        [12, 8, 4]
#        [11, 7, 3]])
# array([[14,10, 6]
#        [13, 9, 5]
#        [12, 8, 4]
#        [11, 7, 3]])

print A
# array([[14,13,12,11]
#        [10, 9, 8, 7]
#        [ 6, 5, 4, 3]])
#clip(Array,Array_min,Array_max)
print np.clip(A,5,9)    
# array([[ 9, 9, 9, 9]
#        [ 9, 9, 8, 7]
#        [ 6, 5, 5, 5]])

结果:

0
11
7.5
7.5
7.5
[ 2  5  9 ..., 65 77 90]
[[1 1 1]
 [1 1 1]
 [1 1 1]]
(array([0, 0, 0, ..., 2, 2, 2], dtype=int64), array([0, 1, 2, ..., 1, 2, 3], dtype=int64))

[[11 12 13 14]
 [ 7  8  9 10]
 [ 3  4  5  6]]
[[14 10  6]
 [13  9  5]
 [12  8  4]
 [11  7  3]]
[[14 10  6]
 [13  9  5]
 [12  8  4]
 [11  7  3]]
[[14 13 12 11]
 [10  9  8  7]
 [ 6  5  4  3]]
[[9 9 9 9]
 [9 9 8 7]
 [6 5 5 5]]

你可能感兴趣的:(numpy_基础运算2)