我正在使用python pandas中的MultiIndex DataFrame。
假设我有这样的df:
count day
group name
A Anna 10 Monday
Beatrice 15 Tuesday
B Beatrice 15 Wednesday
Cecilia 20 Thursday
我需要的是找到每个组的最大名称,并将其从数据框中删除。
最终的df看起来像是:
count day
group name
A Anna 10 Monday
B Beatrice 15 Wednesday
你们有谁知道如何做到这一点? 我的想法已经不多了......
提前致谢!
编辑:
如果原始数据框是:
,该怎么办? count day
group name
A Anna 10 Monday
Beatrice 15 Tuesday
B Beatrice 20 Wednesday
Cecilia 15 Thursday
,最终的df必须是:
count day
group name
A Anna 10 Monday
B Beatrice 20 Wednesday
答案 0 :(得分:4)
<强>更新强>
setupFiles
In [386]: idx = (df.reset_index('name')
.groupby('group')['name']
.max()
.reset_index()
.values.tolist())
In [387]: df.loc[df.index.difference(idx)]
Out[387]:
count day
group name
A Anna 10 Monday
B Beatrice 20 Wednesday
PS很可能有更好的方法来做到这一点......