问题描述
df = sample.groupby('id')['user_id'].apply(list).reset_index(name='new')
这给了我:
id new
0 429 [659500]
1 1676 [2281394]
2 2389 [3973559]
3 2810 [4382598]
4 3104 [4733375]
5 3447 [5519461]
6 3818 [4453354]
7 3846 [4514870]
8 4283 [6378476]
9 4626 [6670089]
10 5022 [1116244]
11 5213 [6913646]
12 5899 [8213945,8210403]
13 5962 [8733646]
然而 new
是一个系列,如何将“new”放入数据框中的字符串列表?
我试过 df['new_id'] = df.loc[:,['new']]
认为这至少可以解决我的系列问题...因为 print(type(df.loc[:,['new']]))
会重新调整数据帧。
解决方法
试试这个:
sample['new_id'] = sample['id'].map(sample.groupby('id')['user_id'].agg(list))