Numpy的常用函式總結

2021-08-25 06:01:03 字數 3210 閱讀 8316

1、np.argmax()、np.max()、np.argmin()、np.min()用法:

2、np.where(condition[, x, y])

3、np.random中shuffle與permutation的區別

4、np.ascontiguousarray():返回和傳入的陣列類似的記憶體中連續的陣列

5、np.empty():返回沒有初始化的陣列,它的值是隨機的

6、np.newaxis:為陣列增加乙個軸

7、np.tile():將矩陣橫向、縱向地複製

8、np.sort()和np.argsort():第乙個返回從小到大的排序值,第二個返回從小到大的索引

9、np.cumsum():返回當前列之前的和加到當前列上的陣列

argmax返回的是最大數的索引.argmax有乙個引數axis,預設是0。看二維的情況如下:

a = np.array([[1, 5, 5, 2],

[9, 6, 2, 8],

[3, 7, 9, 1]])

print(np.argmax(a, axis=0))

[1,2,2,1] # 返回列表的長度為最裡層元素的長度

a = np.array([[1, 5, 5, 2],

[9, 6, 2, 8],

[3, 7, 9, 1]])

print(np.argmax(a, axis=1))

[1,0,2] # 返回列表的長度為次裡層元素的長度

argmax()返回的是元素的索引,而max()返回的則是元素值,max的用法和argmax相似,也有乙個axis的引數。同理,argmin()和min()也是相同的用法。

1)這裡x,y是可選引數,condition是條件,這三個輸入引數都是array_like的形式;而且三者的維度相同

2)當conditon的某個位置的為true時,輸出x的對應位置的元素,否則選擇y對應位置的元素;

3)如果只有引數condition,則函式返回為true的元素的座標位置資訊;

x = np.arange(9.).reshape(3, 3)

[[0. 1. 2.]

[3. 4. 5.]

[6. 7. 8.]]

print (np.where( x > 5 ))

(array([2, 2, 2]), array([0, 1, 2]))

返回值其實是:

x[2, 0], x[2, 1], x[2, 2]

函式np.shuffle()與np.permutation()都是對原來的陣列進行重新洗牌(即隨機打亂原來的元素順序),區別在於:

shuffle直接在原來的陣列上進行操作,改變原來陣列的順序,無返回值。而permutation不直接在原來的陣列上進行操作,而是返回乙個新的打亂順序的陣列,並不改變原來的陣列。

x = np.arange(6).reshape(2,3)

print (np.ascontiguousarray(x, dtype=np.float32))

print (x.flags['c_contiguous'])

輸出:[[0. 1. 2.]

[3. 4. 5.]]

true

print (np.empty([2, 2]))

輸出:[[ 0.00000000e+000 -8.77796459e-313]

[ 1.40447433e-311 6.17582057e-322]]

x = np.arange(3) 

print (x)

y=x[:, np.newaxis]

print (y)

輸出:array([0, 1, 2])

array([[0], [1], [2]])

a=np.array([[1,2], [3, 4]])

print (a)

[[1 2]

[3 4]]

print (np.tile(a, (1, 4))) # 從最深的維度擴充套件到原來的4倍

[[1 2 1 2 1 2 1 2]

[3 4 3 4 3 4 3 4]]

print (np.tile(a, (3, 1))) # 從次深的維度擴充套件到原來的3倍

[[1 2]

[3 4]

[1 2]

[3 4]

[1 2]

[3 4]]

print (np.tile(a, (3, 4))) # 首先最深的維度擴充套件4倍,然後次深的維度擴充套件3倍

[[1 2 1 2 1 2 1 2]

[3 4 3 4 3 4 3 4]

[1 2 1 2 1 2 1 2]

[3 4 3 4 3 4 3 4]

[1 2 1 2 1 2 1 2]

[3 4 3 4 3 4 3 4]]

a=np.array([1,3,2,4])    

print (np.sort(a)) # 返回從小到大的排序

[1 2 3 4]

print (np.argsort(a)) # 返回從小到大的排序索引

[0 2 1 3]

print (np.argsort(-a)) # 返回從大到小的排序索引

[3 1 2 0]

a=[1,2,3,4,5,6,7]

print (np.cumsum(a))

[ 1 3 6 10 15 21 28]

c=[[1,2,3],[4,5,6],[7,8,9]]

print (np.cumsum(c,axis=0)) # 0(第一行不動,其他行累加)

[[ 1 2 3]

[ 5 7 9]

[12 15 18]]

print (np.cumsum(c,axis=1)) # 1(第一列列不動,其他列累加)

[[ 1 3 6]

[ 4 9 15]

[ 7 15 24]]

numpy常用函式總結

首先,安裝python的numpy庫,需要用到時,利用import numpy as np 以下都用np表示 匯入txt資料 np.loadtxt txt delimiter 這裡的檔案不限txt,如常用的csv也可以,後面delimiter為分隔符。另一種匯入資料方式可以直接用load,如對.np...

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

numpy常用函式

np.unique 去除重複值 np.c 按行按列合併陣列 np.searchsorted a,b 返回b有序插入在a中的位置索引 np.vectorize 向量化運算函式 np.percentile 取數列第百分分位的數值 np.array.any 和numpy.array.all np.arra...