numpy 常用函式clip

2021-10-20 02:38:53 字數 2186 閱讀 7419

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...