为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Pandas DataFrame 中仅保留最小值

如何在 Pandas DataFrame 中仅保留最小值

摇曳的蔷薇 2023-07-27 17:56:57
祝大家有美好的一天!我需要你的帮助。我有一个像这样的数据框:df.sort_values('date')        name        date    mark0      Jack       2019-03    41      Michael    2019-03    62      John       2019-03    93      Michael    2019-03    24      Jerry      2019-03    45      Jack       2019-03    56      John       2019-03    37      Jerry      2019-03    4...857    Jerry      2019-08    5858    John       2019-08    7859    Jack       2019-08    4860    Michael    2019-08    6860    Michael    2019-08    7我只想给每个人留下最低限度的分数。例如:如果杰克多次获得最低成绩“ 4 ”,我需要删除杰克获得其他成绩的其他行并保留他获得“ 4 ”的行。同样的逻辑也应该适用于其他人。这是我想要的 DataFrame 的示例:df.sort_values('date')        name        date    mark0      Jack       2019-03    43      Michael    2019-03    64      Jerry      2019-03    46      John       2019-03    37      Jerry      2019-03    4...859    Jack       2019-08    4860    Michael    2019-08    6您能告诉我应该如何处理这个问题吗?
查看完整描述

2 回答

?
回首忆惘然

TA贡献1847条经验 获得超11个赞

df.groupby('name').apply(lambda x: x[x['mark'] == x['mark'].min()])

您可以按名称分组,并对每个组应用过滤器以匹配组的最小值。


查看完整回答
反对 回复 2023-07-27
?
12345678_0001

TA贡献1802条经验 获得超5个赞

我会尝试与transform

df_new = df[df['mark']==df.groupby('name')['mark'].transform('min')].copy()


查看完整回答
反对 回复 2023-07-27
  • 2 回答
  • 0 关注
  • 116 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信