np.clip(a, a_min, a_max, out=
none
)## 是乙個擷取函式,用於擷取陣列中小於或者大於某值的部分,並使得被擷取部分等於固定值,將陣列限制在最小值和最大值之間
# a:輸入矩陣;
# a_min:被限定的最小值,所有比a_min小的數都會強制變為a_min;
# a_max:被限定的最大值,所有比a_max大的數都會強制變為a_max;
# out:可以指定輸出矩陣的物件,shape與a相同
例:
np.clip(a,1,
8)# a陣列不變
np.clip(a,3,
6, out=a)
# # 修剪後陣列存入到a中
np.clip(a,[3
,4,1
,1,1
,4,4
,4,4
,4],
8)# 當a_min為陣列時, a中每個元素和都和a_min中對應元素比較
# 0 < 3 -->小於最小值 則等於3
# 3 > 2 -->大於最小值 則等於本身 再和最大值比 沒超過最大值 所以為3
array([3
,4,2
,3,4
,5,6
,7,8
,8])
ref
numpy中的函式的引數dim
a.max(dim)中的dim,並不是a上的維度。而是指a的shape上的順序(可以這麼理解),a的shape是2x3x4,也就是[2, 3, 4]。故可以這樣一一對應以來。
ndim返回的是陣列的維度,返回的只有乙個數,該數即表示陣列的維度。
a = np.array([1
,2,3
,4,5
,6])
) b = np.array([[
1,2,
3],[
4,5,
6]])
) c = np.array([[
[1,2
,3],
[4,5
,6]]
,[[7
,8,9
],[10
,11,12
]]]print
(a.ndim, b.ndim, c.ndim)
# 1, 2, 3
print
(a.shape, b.shape, c.shape)
# (6, ) , (2, 3), (2, 2, 3)
shape:表示各位維度大小的元組。返回的是乙個元組。
對於一維陣列:有疑問的是為什麼不是(1,6),因為arr1.ndim維度為1,元組內只返回乙個數。
對於二維陣列:前面的是行,後面的是列,他的ndim為2,所以返回兩個數。
對於三維陣列:表示從括號外到內所包含的行或列數
array = np.array([[
1,2,
3],[
2,3,
4]])
print
(array.size)
# 6
size表示陣列中一共有多少個元素。
print
(a.dtype, b.dtype, c.dtype)
# int32, int32, int32
表示資料型別
int32、float64是numpy庫自己的一套資料型別。
a.astype(
'float'
)str1 = np.array(
["1.22"
,"3.44"
,"5.66"
], dtype=np.string_)
str1.astype(
'float'
)# arrry([1.22, 3.44, 5.66])
轉換陣列的資料型別。
int32 --> float64 完全ok
float64 --> int32 會將小數部分截斷
string_ --> float64 如果字串陣列表示的全是數字,也可以用astype轉化為數值型別
float是python內建的型別,但是numpy可以使用。numpy會將python型別對映到等價的dtype上
numpy中的clip函式
numpy.clip a,a min,a max,out none source 其中a是乙個陣列,後面兩個引數分別表示最小和最大值,怎麼用呢,老規矩,我們看 import numpy as np x np.array 1,2,3,5,6,7,8,9 np.clip x,3,8 out 88 arr...
Numpy 中clip函式的使用
numpy.clip a,a min,a max,out none source 其中a是乙個陣列,後面兩個引數分別表示最小和最大值,怎麼用呢,老規矩,我們看 import numpy as np x np.array 1,2,3,5,6,7,8,9 np.clip x,3,8 out 88 arr...
Numpy常用函式
1 把向量轉化為矩陣 import numpy as np a np.arange 15 構造出乙個從0到14的向量 檢視為 array 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14 改變向量為三行五列的矩陣 a.reshape 3,5 結果為 array 0,1,2,3,4...