簡體   English   中英

根據其他數組的值選擇numpy.ndarray的子​​集

[英]Select subset of numpy.ndarray based on other array's values

我有兩個numpy.ndarrays,我想根據Array#1中的值(條件:值> 1)選擇Array#2的子集:

#Array 1 - print(type(result_data):
<class 'numpy.ndarray'>
#print(result_data):
[ 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  3  0  0  0  0  0  0  0  0  0
  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0
  ...
  3  3  3  3  3  3  3  3  3  3  3  3  3  3  3  3  1  3  3  1  1  1  1  1  1
  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1
  1  1  1  1  1 -1 -1 -1 -1 -1 -1 -1 -1  1  1  1  1  1  1  1  1  1  1  1  1
  1  1  1  1  1  1  1  1  1  1  1  1  1]

#Array #2 - print(type(test_data):
<class 'numpy.ndarray'>
#print(test_data):
[[-1.38693584  0.76183275]
 [-1.38685102  0.76187584]
 [-1.3869291   0.76186742]
 ..., 
 [-1.38662322  0.76160456]
 [-1.38662322  0.76160456]
 [-1.38662322  0.76160456]]

我試過了:

x=0
selArray = np.empty
for i in result_data:
    x+=1
    if i > 1:
         selArray = np.append(selArray,[test_data[x].T[0],test_data[x].T[1]])

...但這給了我:

#print(type(selArray)):
<class 'numpy.ndarray'>
#print(selArray):
[<built-in function empty> -1.3868538952656493 0.7618747030055314
 -1.3868543839578398 0.7618746157390688 -1.3870217784863983
 0.7618121504051398 -1.3870217784863983 0.7618121504051398
 -1.3870217784863983 0.7618121504051398 -1.3869304105000566
...
 -1.3869682317849474 0.7617139232748376 -1.3869103741202438
 0.7616839734248734 -1.3868025127724706 0.7616153994385625
 -1.3869751607420777 0.761730050117126 -1.3866515941520503
 0.7615994122226143 -1.3866515941520503 0.7615994122226143]

顯然, []元素周圍缺少-而且我不明白<built-in function empty>來源。

結果非常簡單:

selArray = test_data[result_data_>1]

另請參閱Nain評論中的可能解決方案!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM