# Numpy #2 基本處理2
## 分割split
np.split(a, 分割數, axis=n)
np.vsplit(a, 分割數) 根據垂直軸切
np.hsplit(a, 分割數) 根據水平軸切
分割數若為list如[a, b] 則分割成 0到a-1;a到b-1;b到最後 三塊,超出則回傳空陣列
## 迭代for
### 一維
for i in a:
print(i)
印出所有元素
多維想要印出元素可先扁平
### 多維
for row in b:
print(row)
印出各列元素
## 搜尋極值
(以下用法固定,不可寫成np.max或a.amax之類的)
np.amax(a)
np.amin(a)
a.max()
a.min()
可指定軸向找該軸向各自極值,沒有的話就是元素極值
若設定 keepdims=True,結果會保留原陣列的維度來顯示
## 搜尋極值的索引
np.argmax(a)
np.argmin(a)
可以不寫軸(找全部極值,若多維會得到扁平之後的索引)
若指定軸,則列出該方向各自極值索引
## 搜尋指定條件where
np.where(條件)
若被搜尋的陣列為多維,輸出的陣列必須分開看
例如2X4矩陣a,條件輸入a>10
輸出[0,0,1,2],[1,2,1,3]
代表符合的索引是(0,1)(0,2)(1,1)(2,3)共四個
np.where(條件, "Y", "N")
直接輸出跟原來陣列一樣形狀的陣列,符合變成"Y",不符合變成"N"
np.nonzero(a)
等同上面且條件是a!=0
## 排序
np.sort(a) 排序 回傳值
np.argsort(a) 排序 回傳原來的索引
若用 a.sort() 則a會被覆蓋變成排序後的結果
若多維,可指定axis,依照該方向排序
###### tags: `資料分析` `numpy` `python`