【发布时间】:2015-02-10 05:16:26
【问题描述】:
我有类似 np.arange([100000]) 的东西,我需要多次检索两个索引之间的数据。目前我运行这个很慢
data = np.arange([100000])
# This array usually contains thousands of slices
slices = np.array( [
[1, 4],
[10,20],
[100,110],
[1000,1220]
])
# One way i have been doing it
np.take(data, [i for iin, iout in slices for idx in range(iin, iout)])
# The other way
[data[iin:iout] for iin, iout in slices]
两种方式都很慢。我需要这个非常快。我正在寻找这样的东西。
data[slices[:,0], slices[:,1]]
【问题讨论】: