从索引列表中获取数组和列表的子集

时间:2017-03-12 17:20:22

标签: python list numpy

我有一个numpy数组X和一个元素对应的python列表y。我有一个部分索引列表,我想用它来形成另一个数组refinedXrefinedY.

例如,如果部分列表包含0,1X=[[1,2],[3,4],[5,6]]以及y=[1,2,1],我希望refiendX = [[1,2], [3,4]]refinedY = [1,2].

我怎么能在python中做到这一点?

注意:实际变量X是(2000,5000)矩阵,部分列表将包含大约500个项目。

1 个答案:

答案 0 :(得分:0)

我已经写了一些代码来完成这项工作。

X=[[1,2],[3,4],[5,6]]
Y=[1,2,1]
indexes = [1,2]
refinedX = [X[i-1] for i in indexes]
refinedY = [Y[i-1] for i in indexes]

如果你会定期更新索引,这可能是资源繁重的,所以在这种情况下,我建议改用它:

X[indexes[i]-1] #instead of refinedX[i]
每次调用某个值时都会