Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Pandas 如何在多索引组上应用函数_Pandas - Fatal编程技术网

Pandas 如何在多索引组上应用函数

Pandas 如何在多索引组上应用函数,pandas,Pandas,我有一个多索引的熊猫系列 df= code names B1 Aaaaa 7 Abaaa 7 Bbbbb 2

我有一个多索引的熊猫系列

df=
code       names                                
B1         Aaaaa                                        7
           Abaaa                                        7
           Bbbbb                                        2
           Bcccc                                        6 

B2         Ssss                                         1
           Yyyy                                         1
           Bbbb                                         1
           BBbb                                         1
我希望返回具有最大值的索引。如果有多个索引共享最大值,则必须选择第一个按字母顺序排列的索引

df=
code       names                                
B1         Aaaaa                                        7

B2         BBbb                                         1
我试过使用这个代码

df=df.reset_index().groupby('names',as_index=False).apply(lambda x: x.max())
但它返回了错误的意甲

谢谢你的帮助

df.loc[df.groupby(level=0).idxmax()] 



df:

        x
code    names   
B1      Aaaaa   7
        Abaaa   7
        Bbbbb   2
        Bcccc   6
B2      Ssss    1
        Yyyy    1
        Bbbb    1
        BBbb    1
                x
code    names   
B1      Abaaa   7
B2      Yyyy    1

结果:

        x
code    names   
B1      Aaaaa   7
        Abaaa   7
        Bbbbb   2
        Bcccc   6
B2      Ssss    1
        Yyyy    1
        Bbbb    1
        BBbb    1
                x
code    names   
B1      Abaaa   7
B2      Yyyy    1
编辑:

        x
code    names   
B1      Aaaaa   7
        Abaaa   7
        Bbbbb   2
        Bcccc   6
B2      Ssss    1
        Yyyy    1
        Bbbb    1
        BBbb    1
                x
code    names   
B1      Abaaa   7
B2      Yyyy    1
设置升序=[真,真]

df.loc[df.sort_values(['code','names'], ascending=[True,True]).groupby('code')['x'].idxmax()]


代码应该返回共享相同最大值的行的第一个字母名称。@PygirlDo ascending=[True,True]