1. 程式人生 > >numpy基礎教程--clip函式的使用

numpy基礎教程--clip函式的使用

在numpy中,clip函式的原型為clip(self, min=None, max=None, out=None),意思是把小於min的數全部置換為min,大於max的數全部置換為max,在[min,max]之間的數則不變。out返回的是一個數組,這個數值必須和原數值維度相同,不然會報錯。

呼叫clip函式的兩種方式,設存在兩個numpy.ndarray型別陣列t,t1

1.numpy.clip(t, 0, 1, t1)  # 這種呼叫方式,t的值不會改變,修改後的陣列儲存在t1中

2. t1 = t.clip(1, 2) #這種呼叫方式比較簡潔明瞭,把修改後的陣列存在t1中。。推薦使用這種方式

測試程式碼如下:

 

import numpy as np
# 隨機生成一個3行四列的矩陣,範圍是1--16
np.random.seed(10)
t = np.random.randint(1, 16,(3, 4), dtype=int)
t1 = np.arange(12).reshape(3, 4)
t2 = np.arange(12).reshape(3, 4)
print(t)
print("*"*30)
# 採用第一種方式,在t這個矩陣中,小於5的數改為5,大於12的數改為12,在【5,12】之間的數不變,修改後的資料儲存在t1中
np.clip(t, 5, 12, t1)
print(t1) print("*"*30) # 採用第二種方式 t2 = t.clip(5, 12) print(t2)

 

執行結果如下圖所示: