請(qǐng)參閱熊貓 df:pd.DataFrame({'id': [1, 1, 2, 2, 2, 3], 'pay_date': ['Jul1', 'Jul2', 'Jul8', 'Aug5', 'Aug7', 'Aug22'], 'id_ind': [1, 2, 1, 2, 3, 1]})我正在嘗試按“id”和“pay_date”進(jìn)行分組。我只想在按“id”和“pay_date”分組后將 df['id_ind'].nlargest(2) 保留在數(shù)據(jù)框中。這是我的代碼:df = pd.DataFrame(df.groupby(['id', 'pay_date'])['id_ind'].apply(lambda x: x.nlargest(2)).reset_index()這不起作用,因?yàn)樾碌?df 返回所有記錄。如果有效,'id'==2 只會(huì)在 df 中出現(xiàn)兩次,因?yàn)橛?3 條記錄,而我只想要 2 個(gè)最大的'id_ind'。我想要的輸出:pd.DataFrame({'id': [1, 1, 2, 2, 3], 'pay_date': ['Jul1', 'Jul2', 'Aug5', 'Aug7', 'Aug22'], 'id_ind': [1, 2, 2, 3, 1]})
pandas groupby 和 lambda 函數(shù)返回 nlargest(2)
月關(guān)寶盒
2023-04-18 15:42:30