在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_values 和
first 聚合的另一个解决方案:
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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |