我有一个数组数据,它有shape(922,6)和trgt,它是一个长的1d时间序列。data[0]有起始索引,data[1]有我需要从trgt切片的子集的结束索引。在
我尽力了
trgt[data[:,0:2][0]]
>>> *** IndexError: arrays used as indices must be of integer (or boolean) type
在哪里
^{pr2}$所以我试着
trgt[data[:,0:2][0].astype(int)]
>>> array([9909., 9989.])
这些是索引处的值,但不是子集。我尽力了
trgt[tuple(data[:,0:2][0].astype(int))]
>>> *** IndexError: invalid index
如何获得子集?在
这看起来很奇怪:
因为对于NumPy数组,它与:
^{pr2}$即数组第一行的前两列。如果
data
是一个二维数组,那么将得到一个维数为(2,)的数组。它可以直接用于索引一维向量:不需要将其转换为切片或元组。在
更新:随着问题描述的更新,似乎第一列包含开始索引,第二列包含结束索引。然后自然要做的是创建一个数组列表。2d数组不是一种好的输出格式,因为每行的列数应该相同。在
那样的话,一条线就行了。在
相关问题 更多 >
编程相关推荐