我有两个数组,第一个是(n,2)数组,它包含数据池中选择的开始和结束,第二个是数据池。
一般的想法是使用第一个从第二个提取相关数据,但我不知道如何干净利落地使用numpy。
我找到了以下解决方案,但它看起来很笨拙:
relevant_data = datapool[np.arange(*selection[0])]]
有什么想法吗?
更新:嵌套索引的能力是一个很大的优势(获得选择的子部分)。
答案 0 :(得分:6)
使用slice
:
In [1]: row = [4,7]
In [2]: data = range(10000)
In [3]: data[slice(*row)]
Out[3]: [4, 5, 6]
答案 1 :(得分:4)
比使用slice()
更简单的解决方案是
row = [4, 7]
data[row[0]:row[1]]
这可能更容易阅读,因为它更明确一些。