numpyの - ルックアップ操作Daquanの

日常業務で遭遇本論文レコード検索操作は、継続的に更新します。

 

極端な値

最小、最大は極値を返します。

argmin(A、軸OUT =なし=なし)、リターン極値位置寸法極値を見つける軸バンド、;軸、第矯正せず、極値を見つけます。

np.array = B([1、2 ,. 3 ,. 5]、[4 ,. 6,2 ,. 6 ])
 プリント(np.max(B))  最大値を返す。6 
プリント(np.min(B) )   #が最小値を返す。1枚の
プリント(np.argmax(B))  最大位置を返す。5 
プリント(np.argmin(B))  は、最小0の最初の位置に戻る

印刷((np.argminをB、軸= 1))     [0 2]

 

NaN值

NaN値は、次のような形、なし、np.nan、np.NaN等の多様で表されます

ますisNaN、ブールのインデックスを返します。

np.array = X(レンジ(10)、DTYPE = np.float)
Y = np.array(範囲(10,20 ))
 プリント(x.shape)                      (10)
印刷(X)                             #1 [0の1 。2. 3. 4. 6. 7. 5 8 9.] 
プリント(Y)                             #1 [11 10 14 15 12 13 18 16 17 19]である 
Xの[3] =なし                          NaN 3を挿入 
X [5] = NP .NaNの                        挿入のNaN 3の
印刷(X)                            [0の1. 2. 7のNaN 3 4 6 8 9のNaN 3] 

インデックス戻りますisNaN 
印刷(np.isnan(X))                  [FALSE FALSE FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE] 
印刷(Y [np.isnan(X)])               [13 15] 
印刷(Y [〜np.isnan(X)] )               [10 11 12 14 16 17 18 19]

あなたは、インデックス値を返すようにしたい場合は、以下の操作であってもよいです

= np.array DATA4、([1 ,. 3、np.nan ,. 5 ]) #

ますisNaNブール値インデックスはNaNを返す
印刷(DATA4)np.isnan    #1 [真偽偽偽] 

#の数値ナン見出さ#添字
印刷 np.where(np.isnan(DATA4)) #          配列([2]))
印刷 np.where(〜np.isnan(DATA4)) #         配列([0 ,. 1 ,. 3])、 )

 

どこ条件

WHEREタプル、第1指標値を返し、第2の値はヌルであり、

1.配列ではなく、リストを入力する必要があります

2.入力は、典型的には、一次元の行ベクトルまたは列ベクトルであります

前記多次元インデックスは2つの行ベクトルを返す入力または列ベクトルが異なる返さ

argwhere、直接リターンインデックスは、二次元アレイ、列ベクトルとして返さ

#のリストは、エラーが返さ 
データ範囲=(10 印刷 np.where(データ> 6) #       配列([0])) 

一次元アレイ 
DATAL = np.array(範囲(0、20、2 ))
 プリント NP .Where(DATAL> 6) #      配列([7 ,. 8 ,. 9]))
印刷 np.where(data1.T> 6) #    配列([7 ,. 8 ,. 9])) 

二次元アレイ 
= np.array DATA2([範囲(0、20 2、である)])
 印刷 np.where(DATA2> 6) #      配列([0、0、0])、アレイ([7 ,. 8 ,. 9]))

行と列 
DATA3 = np.array([レンジ(10)、レンジ(10 )])
 プリント(DATA3)
 印刷np.where(DATA3> 6) #          配列([0、0、0、1、1、1])、アレイ([7、8、9、7、8、9]))
印刷 np.where(DATA3 .T> 6) #        配列([7,7、8,8、9,9])、アレイ([0、1、0、1、0、1])) 

#argwhere直接返回索引
印刷 NP。 argwhere(DATA1> 6 [4]   [5]   [6]   [7]   [8]   [9] 
印刷 np.argwhere(data1.T> 6 [4]   [ 5]   [6]   [7]   [8]   [9]

 

入力があってもよい場所複数の条件

求公共部分
印刷 np.intersect1d([1、4,3]、[3、4、5])          [3 4] 

多个条件 
DATA2 = np.array([1,5、11,16,20 ])
 印刷 np.where(DATA2> 10)、 #                                             配列([2,3,4]))

印刷 np.where((DATA2> 10)&(DATA2 <18))、 #                              配列([2、3 ]))
印刷 np.where(np.logical_and(DATA2> 10、DATA2 <18))、 #                   配列([2,3]))
印刷 np.intersect1d(np.where(DATA2> 10)[0] 、np.where(DATA2 <18)[0])   #1 [2]

 

抽出条件

抽出(条件条件について、ARR)、特定の基準に応じて要素を返すこと

プリント(np.extract(np.isnan(x)は、x))を    [ナンナン] 
プリント(np.extract(np.isnan(X)、Y))   [13 15] 
プリント(np.extract(X> 8、X))           [9]

 

非ゼロ要素

ゼロ以外の、タプル、第1指標値を返し、第2の値はヌルであります

X = [1、0、3 、0]
 プリント(np.nonzero(X)) #                 配列([0,2]))

 

 

継続するには...

おすすめ

転載: www.cnblogs.com/yanshw/p/11330715.html