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