gpt4 book ai didi

python - 根据列的最大值删除 Pandas 数据框行

转载 作者:行者123 更新时间:2023-11-28 19:43:15 25 4
gpt4 key购买 nike

我有一个像这样的数据框:

      p_rel      y_BET  sq_resid
1 0.069370 41.184996 0.292942
2 0.116405 43.101090 0.010953
3 0.173409 44.727748 0.036832
4 0.225629 46.681293 0.540616
5 0.250682 46.980616 0.128191
6 0.294650 47.446113 0.132367
7 0.322530 48.078038 0.235047

我如何去掉第四行,因为它有最大值 sq_resid?注意:最大值会随着数据集的不同而变化,因此仅删除第 4 行是不够的。

我已经尝试了几种方法,例如我可以像下面这样删除离开数据框的最大值,但无法删除整行。

  p_rel      y_BET  sq_resid
1 0.069370 41.184996 0.292942
2 0.116405 43.101090 0.010953
3 0.173409 44.727748 0.036832
4 0.225629 46.681293 Nan
5 0.250682 46.980616 0.128191
6 0.294650 47.446113 0.132367
7 0.322530 48.078038 0.235047

最佳答案

您可以像这样过滤 df:

In [255]:
df.loc[df['sq_resid']!=df['sq_resid'].max()]

Out[255]:
p_rel y_BET sq_resid
1 0.069370 41.184996 0.292942
2 0.116405 43.101090 0.010953
3 0.173409 44.727748 0.036832
5 0.250682 46.980616 0.128191
6 0.294650 47.446113 0.132367

drop使用 idxmax这将返回最大值的标签行:

In [257]:
df.drop(df['sq_resid'].idxmax())

Out[257]:
p_rel y_BET sq_resid
1 0.069370 41.184996 0.292942
2 0.116405 43.101090 0.010953
3 0.173409 44.727748 0.036832
5 0.250682 46.980616 0.128191
6 0.294650 47.446113 0.132367
7 0.322530 48.078038 0.235047

关于python - 根据列的最大值删除 Pandas 数据框行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35087539/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com