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