1. 程式人生 > >Numpy:ndarray的聚合操作、矩陣操作及排序

Numpy:ndarray的聚合操作、矩陣操作及排序

ndarray的聚合操作

axis引數:
當axis=0時,對列進行聚合操作;
當axis=1時,對行進行聚合操作。
1.求和np.sum:
圖1
2.最大最小值np.max/np.min:
圖2
3.平均值np.mean:
圖3

ndarray的矩陣操作

廣播機制:

  • 規則一:為缺失的維度補1(維度只能相差1)
  • 規則二:缺失元素用已有元素補充
  • 規則三:缺失維度的矩陣只能有一行或者一列

1.算數運算:
圖四
其他算數方法同理
2.矩陣積:
圖5
圖6

ndarray排序

1.快速排序:
np.sort()與ndarray.sort()都可以,但有區別:
np.sort()不改變輸入
ndarray.sort()本地處理,不佔用空間,但改變輸入
圖7


2.部分排序:
np.partition(a,k)
有的時候我們不是對全部資料感興趣,我們可能只對最小或最大的一部分感興趣。
當k為正時,我們想要得到最小的k個數:

import numpy as np
a = np.random.randint(0,100,10)
print(a)
print(np.partition(a,3))

輸出:
[67  0 63 42 30 82 28 63 95 13]
[ 0 13 28 30 42 82 63 63 95 67]

當k為負時,我們想要得到最大的k個數:

b = np.random.randint(0,100,10)
print(b)
print(np.partition(b,-3))

輸出:
[89 66 11 58 97  7 50 13 87 77]
[ 7 13 11 50 58 66 77 87 89 97]