Pandasのケーススタディ

あるカラムについて最大値である行のindexを抽出

df['A'].idxmax()

二つの列の差の絶対値が最大である行のindexを抽出

df['new']=abs(df['A']-df['B'])
df['new'].idxmax()

データフレームのいくつかの列を用いて計算

df['Points']=df['A']*3+df['B']*2+df['C']

列Aの各値について、列Bのユニークな要素数を数え、それが最大である列Aの値を抽出

groupdf=df.groupby('A')
groupdf.B.agg(lambda x: len(x.unique())).idxmax()

列Aの各値について、列Bの値が大きいもの3つだけを見て、合計が一番大きかった列Aの値3つをリストで抽出

df['RANK']=df.groupby('A')['B'].rank(ascending=False)
top3df=df[df['B']<4]
groupdf=top3df.groupby('A')['B'].sum()
groupdf.sort_values(ascending=False,inplace=True)
grouplist=list(groupdf.index)
grouplist[:3]