【发布时间】:2017-03-12 20:23:44
【问题描述】:
我有两个数组,这些数组的索引是相关的。所以 x[0] 与 y[0] 相关,所以它们需要保持井井有条。我已将 x 数组分箱到两个箱中,如下面的代码所示。
x = [1,4,7,0,5]
y = [.1,.7,.6,.8,.3]
binx = [0,4,9]
index = np.digitize(x,binx)
给我以下内容:
In [1]: index
Out[1]: array([1, 2, 2, 1, 2])
到目前为止一切顺利。 (我认为)
y 数组是一个参数,告诉我 x 数据点的测量结果有多好,因此 0.9 比 0.2 好,所以我使用下一个代码来整理出最好的 y 数组:
y.sort()
ysorted = y[int(len(y) * .5):]
这给了我:
In [2]: ysorted
Out[2]: [0.6, 0.7, 0.8]
给我数组的最后 50%。再说一次,这就是我想要的。
我的问题是如何结合这两个操作?从每个 bin 中,我需要得到最好的 50% 并将这些新值放入一个新的 x 和新的 y 数组中。同样,保持每个数组的索引井井有条。或者有没有更简单的方法来做到这一点?我希望这是有道理的。
【问题讨论】:
标签: arrays python-2.7 numpy