2
我遇到了一個熊貓數據框的問題。我有一個有三列的數據框,前兩個是標識符(str),第三個是數字。Groupby沒有丟失列
我想分組,使我得到的第一列第三作爲最大,第二列索引對應第三。
這不是很清楚,所以我們來舉個例子吧。我的數據框的樣子:
id1 id2 amount
0 first_person first_category 18
1 first_person second_category 37
2 second_person first_category 229
3 second_person third_category 23
,如果你需要它的代碼:
df = pd.DataFrame([['first_person','first_category',18],['first_person','second_category',37],['second_person','first_category',229],['second_person','third_category',23]],columns = ['id1','id2','amount'])
而且我想獲得:
id1 id2 amount
0 first_person second_category 37
1 second_person third_category 229
我已經嘗試了GROUPBY方法,但它讓我失去第二列:
result = df.groupby(['id1'],as_index=False).agg({'amount':np.max})
'df.groupby([「ID1」],as_index =假).max()' - 是你想要的嗎? – MaxU
事情是,它不是每次最大的數量對應(*編輯我的帖子來說清楚) – ysearka
@MaxU認爲它也是第一次,但它返回最大值的id2和'金額',而不是最大'金額'的行。 –