简体   繁体   English

Pandas 按两列分组并获得最大值

[英]Pandas groupby two columns and get max value

Pandas groupby two columns and get max value Pandas 按两列分组并获得最大值

I have grouped data with multiindex我用多索引对数据进行了分组

                        
    Model  VehicleType  VehicleType            
    100    sedan                278
           wagon                109
           coupe                  2
           convertible            1
    145    small                 19
    ...                         ...
    zafira sedan                 22
           small                 11
           suv                    7
           convertible            1
           coupe                  1

I need to get max value of count (right column) with corresponding model and VehicleType, like this:我需要使用相应的 model 和 VehicleType 来获取计数的最大值(右列),如下所示:

                        
    Model  VehicleType  VehicleType            
    100    sedan                278
    145    small                 19
    ...                         ...
    zafira sedan                 22
           

Thanks for solutions!感谢您的解决方案!

Use DataFrameGroupBy.idxmax for indices by maximum value and then select by DataFrame.loc :使用DataFrameGroupBy.idxmax按最大值索引索引,然后按 DataFrame.loc 使用DataFrame.loc

df = df.loc[df.groupby(level=0)['VehicleType'].idxmax()]
print (df)
                    VehicleType
Model  VehicleType             
100    sedan                278
145    small                 19
zafira sedan                 22

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM