我有一个类似于np.arange(100000)的东西,并且我需要多次检索两个索引之间的数据。目前我正在运行这个程序,运行速度很慢# This array usually contains thousands of slices [1, 4], [100,110],])
np.take(data, [i for iin, iout in
arr = np.array([Myclass(np.random.random(100)) for _ in range(10000)])
在这条语句中,有没有办法通过直接创建一个对象的numpy数组来节省时间使用(对象的)数组的要点是利用numpy数组在对象数组(和其他东西;在其上获取切片的数组由一个Myclass对象和其他标量字段组成)的切片上的快速计算(例如,列和)。除了使用np.array (如上所述)之外,在这种情况下还有没有其他节省时间的策略?谢谢。
假设我们有一个n=3维Numpy数组arr,它可以像这样切片:arr[:2,:,:6]。什么等同于通过切片对象进行这样的切片?明确地定义: slice_obj = slice(?)# From my understanding, slice is for 1D slicing - Might be a more complicated object 所以: numpy.array_equal