Python Multiindex Dataframe删除最大值

时间:2018-04-05 09:42:42

标签: python pandas dataframe multi-index

我正在使用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

1 个答案:

答案 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很可能有更好的方法来做到这一点......