数据帧:识别序列的百分位值,从其他序列中获取相应的观测值



我有一个熊猫数据帧,由两列组成:pathloss

  • path值是从0到300的整数
  • loss值是具有大量小数位数的浮点数

我想确定loss中的百分位数,然后获取相应的path值。我使用以下代码来识别百分位数:

c80 = np.percentile(df['loss']], 80)

然后,我尝试了许多失败的解决方案,最近一次是:

c80_path = df[df['loss'] == c80].path

c80_path = df.loc[df['loss'] == c80,'path']

打印结果c80_path值返回"Series([], Name: dtype: int64)"

我需要一个介于0和300之间的整数值。有什么想法吗?

百分位数可以(在本例中也将(是不在loss列中的值。因此CCD_ 10不产生任何结果。要找到最接近的值,您可以尝试以下操作:

c80_path = df.iloc[(df['loss']-c80).abs().argsort()[0]]['path']

最新更新