我有一个包含 10 列的数据框:
id date value
1233 2014-10-3 1.123123
3412 2015-05-31 2.123123
3123 2015-05-31 5.6234234
3123 2013-03-21 5.6234222
3412 2014-11-21 4.776666
5121 2015-08-22 5.234234
我想按 id
列分组并获取最新的 date
。但我不想取 value
列的最大值。我想获取属于最大日期的此类行的值。
pd.groupby('id').max()
不起作用。我该如何解决?
最重要的是,我想保留数据集中的所有列。
最佳答案
或者您可以简单地使用 sort_value
然后 first
df.sort_values(['date', 'value'], ascending=[False, True]).groupby('id').first()
Out[480]:
date value
id
1233 2014-10-03 1.123123
3123 2015-05-31 5.623423
3412 2015-05-31 2.123123
5121 2015-08-22 5.234234
关于python - 在 Pandas 中通过 "groupby"仅取一列的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45485416/