我試圖做GROUPBY後得到第二高值的行的索引,但我沒有得到正確的結果熊貓:查找與第二最高值的行指數
df = pd.DataFrame({'Sp':['a','b','c','d','e','f'], 'Mt':['s1', 's1', 's2','s2','s2','s3'], 'Value':[1,2,3,4,5,6], 'count':[3,2,5,10,10,6]})
這樣做
df.iloc[df.groupby(['Mt'])['Value'].apply(lambda x: (x!=max(x)).idxmax())]
在返回
Mt Sp Value count
0 s1 a 1 3
2 s2 c 3 5
5 s3 f 6 6
對於組s2中,原始數據幀的建議立即進行刪除索引3 d被退回。