加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

在python中记录每个id的最大系列

发布时间:2020-12-20 12:33:40 所属栏目:Python 来源:网络整理
导读:我想保留一个具有每个id最大系列的记录.所以对于每个id,我需要一行.我想我需要类似的东西 df_new = df.groupby('id')['series'].nlargest(1) ,但那肯定是错的. 这就是我的数据集的外观: id series s1 s2 s31 2 4 9 11 8 6 2 21 3 9 1 32 9 4 1 52 2 2 5 52
我想保留一个具有每个id最大系列的记录.所以对于每个id,我需要一行.我想我需要类似的东西

df_new = df.groupby('id')['series'].nlargest(1)

,但那肯定是错的.

这就是我的数据集的外观:

id  series s1 s2 s3
1   2      4  9  1
1   8      6  2  2
1   3      9  1  3
2   9      4  1  5
2   2      2  5  5
2   5      1  7  8
3   6      7  2  3
3   2      4  4  1
3   1      3  9  9

这应该是结果:

id  series s1 s2 s3
1   8      6  2  2
2   9      4  1  5
3   6      7  2  3

解决方法

sort_valuesfirst聚合的另一个解决方案:

df = df.sort_values(by="series",ascending=False).groupby("id",as_index=False).first()
print (df)
   id  series  s1  s2  s3
0   1       8   6   2   2
1   2       9   4   1   5
2   3       6   7   2   3

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读