如下面这个DataFrame,按照Mt分组,取出Count最大的那行
import pandas as pd
df = pd.DataFrame({'Sp':['a','b','c','d','e...1,2,3,4,5,6], 'Count':[3,2,5,10,10,6]})
CountMtSpValue03s1a112s1b225s2c3310s2d4410s2e556s3f6
方法1:在分组中过滤出...方法2:用transform获取原dataframe的index,然后过滤出需要的行
print df.groupby(['Mt'])['Count'].agg(max)
idx=df.groupby...False).groupby('Mt', as_index=False).first()
MtCountSpValue0s13a11s210d42s36f6
那问题又来了,如果不是要取出最大值所在的行...思路还是类似,可能具体写法上要做一些修改,比如方法1和2要修改max算法,方法3要自己实现一个返回index的方法。不管怎样,groupby之后,每个分组都是一个dataframe。