祝大家有美好的一天!我需要你的幫助。我有一個像這樣的數(shù)據(jù)框:df.sort_values('date') name date mark0 Jack 2019-03 41 Michael 2019-03 62 John 2019-03 93 Michael 2019-03 24 Jerry 2019-03 45 Jack 2019-03 56 John 2019-03 37 Jerry 2019-03 4...857 Jerry 2019-08 5858 John 2019-08 7859 Jack 2019-08 4860 Michael 2019-08 6860 Michael 2019-08 7我只想給每個人留下最低限度的分數(shù)。例如:如果杰克多次獲得最低成績“ 4 ”,我需要刪除杰克獲得其他成績的其他行并保留他獲得“ 4 ”的行。同樣的邏輯也應該適用于其他人。這是我想要的 DataFrame 的示例:df.sort_values('date') name date mark0 Jack 2019-03 43 Michael 2019-03 64 Jerry 2019-03 46 John 2019-03 37 Jerry 2019-03 4...859 Jack 2019-08 4860 Michael 2019-08 6您能告訴我應該如何處理這個問題嗎?
2 回答

回首憶惘然
TA貢獻1847條經驗 獲得超11個贊
df.groupby('name').apply(lambda x: x[x['mark'] == x['mark'].min()])
您可以按名稱分組,并對每個組應用過濾器以匹配組的最小值。

12345678_0001
TA貢獻1802條經驗 獲得超5個贊
我會嘗試與transform
df_new = df[df['mark']==df.groupby('name')['mark'].transform('min')].copy()
添加回答
舉報
0/150
提交
取消