2015-11-25 151 views
0

第二陣列比方說,我有len(1000)兩個數組每個選擇基於第一個

array_a = np.array([1,2,3,....,1000]) # length of 1000 
array_b = np.array([32344,83242,94323,....,48984]) # length of 1000 

現在我選擇基於某些條件的array_a一個子集:

subset_a = array_a[(array_a>10) * (array_a<500)] 

現在如何選擇屬於上述subset_aarray_b的值?

我試圖

subset_b = array_b[subset_a] 

,但我得到一個錯誤

IndexError: arrays used as indices must be of integer (or boolean) type 
+0

所以,基本上,你希望得到基於選擇的第一部分的數值範圍的一些值對。那麼讓我們說一下[(1,32344),(2,83242)]? – albert

+0

@albert:是的,我做 – user3397243

+0

你可以使用'pandas'嗎? – albert

回答

2

你在找這個?

import numpy as np 

array_a = np.array([1,2,3,4,5]) # length of 5 
array_b = np.array([6,7,8,9,10]) # length of 5 

condition = array_a>3 
print condition 
subset_a = array_a[condition] 
print subset_a 
subset_b = array_b[condition] 
print subset_b 

http://ideone.com/dAFLYL

+0

,但是在這種情況下'subset_a'變爲boolean right ?我想同時使用'subset_a'和'subset_b'進行繪圖。所以我希望它們是數字。有沒有其他的方式做這個,而不調用'subset_a'兩次?即一次作爲布爾值,其次作爲一個條件的數組? – user3397243

+0

我已經更新了答案,使其更加明顯 –

相關問題