Jak*_*ris 2 python dataframe pandas
如果我有一个看起来像的数据框
value otherstuff
0 4 x
0 5 x
0 2 x
1 2 x
2 3 x
2 7 x
Run Code Online (Sandbox Code Playgroud)
什么是获得新数据框的简洁方法
value otherstuff
0 5 x
1 2 x
2 7 x
Run Code Online (Sandbox Code Playgroud)
在哪里删除了具有相同索引的行,因此仅保留具有最大“值”的行?据我所知,df.drop_duplicates中没有选项可以保留最大值,只有第一个或最后一个出现。
你可以用max与level=0:
df.max(level=0)
Run Code Online (Sandbox Code Playgroud)
输出:
value otherstuff
0 5 x
1 2 x
2 7 x
Run Code Online (Sandbox Code Playgroud)
或者,解决注释中提到的其他列:
df.groupby(level=0,group_keys=False)\
.apply(lambda x: x.loc[x['value']==x['value'].max()])
Run Code Online (Sandbox Code Playgroud)
输出:
value otherstuff
0 5 x
1 2 x
2 7 x
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
976 次 |
| 最近记录: |