2017-02-20 81 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