2017-02-20 52 views
0

我此數組拆分:合併到子陣列基於它們的原始索引

import numpy as np 

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

b=a[a<=2] 
c=a[a>2] 

b=[1,2,0] 
c=[7,3,4,5] 

然後,我預測b和c:

pred_b=[.9,2.01,.02] 
pred_c=[7,3,3.85,5.001] 

我將不勝感激,如果你可以讓我知道如何得到這個:

d=[7,.9,2.01,3,3.85,5.001,.02] 
+0

Plz根據你創建數組'd'的邏輯來指定? –

+0

我想對b和c使用不同的迴歸因此應該將它們分開。然後,我想對前一階段的結果進行分類,以便預測應該在他們自己的位置,所以我想合併b和c。 – User777

回答

1

這裏是你的問題的簡單解決方案:

# create an array with the same shape as a 
d = np.empty_like(a, dtype=float) 
# assign values of pred_b to the slice of indicies of b (like you do in the question snippet) 
d[a<=2] = pred_b 
d[a>2] = pred_c 
+0

雖然這段代碼片段是受歡迎的,並且可能會提供一些幫助,但如果它包含* how *和* why *的解釋](// meta.stackexchange.com/q/114762)問題。請記住,你正在爲將來的讀者回答這個問題,而不僅僅是現在問的人!請編輯您的答案以添加解釋,並指出適用的限制和假設。 –

0

邏輯索引也適用於分配:

result = np.empty(a.shape, dtype=float) 
result[a<=2] = pred_b 
result[a>2] = pred_c 
相關問題