我遇到了pandas数据帧的问题。我有一个包含三列的数据框,前两个是标识符(str),第三个是数字。
我想将它分组,以便我将第一列作为最大值获得第三列,将第二列与第三列相对应。
那不太清楚,让我们举个例子。我的数据框架如下:
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})