Python 在numpy数组列中查找特定值的最小和最大索引

Python 在numpy数组列中查找特定值的最小和最大索引,python,numpy,numpy-ndarray,Python,Numpy,Numpy Ndarray,我有一个2D numpy数组,看起来像这样: ['0.0002126159536893578' '0'] ['0.000489237210943365' '0'] ... ['6.998729658062154e-05' '3'] ['7.956089498242174e-07' '3'] ['9.178127570732645e-06' '3']] 它首先按第二列排序,然后按第一列排序,现在我需要得到第二列中每个值的第一个和最后一个出现的索引,以便我可以提取第一列的值(如果有更简单的方法,

我有一个2D numpy数组,看起来像这样:

['0.0002126159536893578' '0']
['0.000489237210943365' '0']
 ...
['6.998729658062154e-05' '3']
['7.956089498242174e-07' '3']
['9.178127570732645e-06' '3']]

它首先按第二列排序,然后按第一列排序,现在我需要得到第二列中每个值的第一个和最后一个出现的索引,以便我可以提取第一列的值(如果有更简单的方法,最好是=D)

如果您的数据已经按第二列排序,您可以尝试:

uniques, idx = np.unique(arr[:,1], return_index=True)

然后,
idx
包含
uniques

中每个唯一值的第一次出现,请考虑使用Pandas数据帧和
groupby
。另外,您的数据似乎是字符串类型,您可能需要将其转换为float。我使用了numpy_索引包,它有一个针对numpy的分组替代方案,但数据已经分组,我只想知道如何获取索引,熊猫是否可以这样做?