我有4个Numpy 1 D数组,长度为107952899。
我将上述1d组合为多D数组,并按(107952899, 4)
的顺序转置它们并将其存储为data1。
我为我的数组设置列名。 (e.g : data1[:, 0] = Index)
(Like above, 0th col - Index, 1st- Time, 2nd- Speed, 3rd col - Brake)
我通过以下命令遵循过滤过程,例如速度> 20和制动> 30。
data1 = data1[(Speed > 20) & (Brake > 30)]
现在data1 shape changed to (35778, 4)
我想要“刹车”列中的前N个值以及相应的“索引”列。
(因此,我想到了使用argsort
对列进行排序)
data1 = data1 [data1 [:, Brake].argsort()[::-1][: N]]
执行此操作时,我收到了IndexError : arrays used as indices must be Integers (or boolean) type
我的dtype of data1 is float
。我虽然必须将整个数组更改为int。
但“制动”列包含诸如[30.4,30.8,30.9 .....12.053,60.50]
之类的元素
我不应该更改为int,因为我想找到最大元素。
即使我尝试更改dtype to int using astype
,但问题仍然存在
如何纠正上述错误,使我的要求获得完全同意