Python 数据框:识别系列的百分位值,获取相应的观察值';其他系列的s值
我有一个由两列组成的熊猫数据帧:Python 数据框:识别系列的百分位值,获取相应的观察值';其他系列的s值,python,pandas,numpy,dataframe,Python,Pandas,Numpy,Dataframe,我有一个由两列组成的熊猫数据帧:path和loss path值是0到300之间的整数 loss值是带有大量小数位的浮点数 我想在损失中识别百分位值,然后获取相应的路径值。我使用以下代码来确定百分位数: c80 = np.percentile(df['loss']], 80) 然后,我尝试了许多失败的解决方案,最近一次是: c80_path = df[df['loss'] == c80].path 及 打印结果c80\u路径值返回“Series([],Name:dtype:int64)”
path
和loss
值是0到300之间的整数path
值是带有大量小数位的浮点数李>loss
损失
中识别百分位值,然后获取相应的路径
值。我使用以下代码来确定百分位数:
c80 = np.percentile(df['loss']], 80)
然后,我尝试了许多失败的解决方案,最近一次是:
c80_path = df[df['loss'] == c80].path
及
打印结果c80\u路径
值返回“Series([],Name:dtype:int64)”
我期望一个介于0和300之间的整数值。有什么想法吗?百分位数可以(在这种情况下将)是一个不在<代码>损失代码>列中的值。因此,df['loss']==c80
不会产生任何结果。要找到最接近的值,可以尝试以下方法:
c80_path=df.iloc[(df['loss']-c80.abs().argsort()[0]['path']
c80_path = df.loc[df['loss'] == c80,'path']