作者 | 黃偉呢 責編 | 歐陽姝黎
原本是不想專門講述Numpy函數的,但是今天又有人問起。為此給大家總結了這12個Numpy高級函數,大家一定要掌握,因為它真的很好用!很好用!很好用!
在正式講述12個函數之前,先看看大綱,辛苦整理,記得保存。
np.where(condition,x,y)
用法一:滿足條件(condition),輸出x,不滿足輸出y。
用法二:篩選出滿足條件(condition)的元素。
例一:查找數組中大于5的值,并返回。對于小于等于5的部分,直接用5代替;
import numpy as np
x = np.array([1,3,5,7,9])
z = x > 5
z
np.where(z,x,5)
結果如下:【下面截圖錯誤,大家自行練習】
例二:查找數組中大于18歲的人,并返回它們的下标;
y = np.array([19,35,15,25,10])
y
z = y > 18
z
np.where(z)
結果如下:
np.cumsum和np.cumprod
np.cumsum:按照不同軸,計算元素的累加和。
np.cumprod:按照不同軸,計算元素的累乘積。
注意:若不設置axis,則會自動将數組拉成一條直線,然後進行累加或累乘。
如果不設置axis:
x = np.array([[1,2],[4,5],[7,8]])
x
np.cumsum(x)
np.cumprod(x)
結果如下:
axis=0表示【按列方向操作】;
axis=1表示【按行方向操作】;
np.cumsum(x,axis=0)
np.cumsum(x,axis=1)
結果如下:
np.cumprod(x,axis=0)
np.cumprod(x,axis=1)
結果如下:
np.argmin和np.argmax
np.argmin:按照不同軸,返回最小值元素的下标。
np.argmax:按照不同軸,返回最大值元素的下标。
注意:若不設置axis,則會自動将數組拉成一條直線,返回最大值、最小值元素的下标。
如果不設置axis:
x = np.array([[2,1,7],[6,0,3],[5,4,8]])
x
np.argmin(x)
np.argmax(x)
結果如下:
axis=0表示【按列方向操作】;
axis=1表示【按行方向操作】;
np.argmin(x,axis=0)
np.argmin(x,axis=1)
結果如下:
np.argmax(x,axis=0)
np.argmax(x,axis=1)
結果如下:
np.sort
np.sort:按照不同軸,進行元素排序。
默認是按照行操作,相當于axis=1。
x = np.array([[2,1,7],[6,0,3],[5,4,8]])
x
np.sort(x)
np.sort(x,axis=1)
結果如下:
np.sort(x,axis=0)
結果如下:
如圖所示 (六合一)
生于2001年的《程序員》曾陪伴了無數開發者成長,影響了一代又一代的中國技術人。時隔20年,《新程序員》帶着全球技術大師深邃思考、優秀開發者技術創造等深度内容回來了!同時将全方位為所有開發者呈現國内外核心技術生态體系全景圖。掃描下方小程序碼即可立即訂閱!
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!