如果我有一个看起来像的数据框
value otherstuff
0 4 x
0 5 x
0 2 x
1 2 x
2 3 x
2 7 x
什么是获得看起来像的新数据框的简洁方法
value otherstuff
0 5 x
1 2 x
2 7 x
具有相同索引的行已被删除,因此仅保留具有最大“值”的行?据我所知,df.drop_duplicates 中没有选项可以保留最大值,只有第一次或最后一次出现。
最佳答案
您可以将 max
与 level=0
一起使用:
df.max(level=0)
输出:
value otherstuff
0 5 x
1 2 x
2 7 x
或者,解决评论中提到的其他列:
df.groupby(level=0,group_keys=False)\
.apply(lambda x: x.loc[x['value']==x['value'].max()])
输出:
value otherstuff
0 5 x
1 2 x
2 7 x
关于python - Pandas 复制数据框只保留具有相同索引的行的最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45527627/