Pandas - 按一列分组并聚合其他列以列出

2023-11-26

我有一个数据框,其中有多个用户条目。这些用户还可以分配给多个 ID。

我想按用户进行分组,然后将这些 ID 的列表存储在另一列中,如下所示:

我想从这里开始:

df1 = pd.DataFrame({'USER': ['BOB','STEVE','PAUL','KEITH','STEVE','STEVE','BOB'],'ID':[1,2,3,4,5,6,7]})

enter image description here

对此。仅当该用户附加到多个 ID 时才显示值

enter image description here


groupby + map

u = df1.groupby("USER")["ID"].agg(list)
df1["MULTI_IDS"] = df1["USER"].map(u[u.str.len().ge(2)])

USER      ID  MULTI_IDS
0    BOB   1     [1, 7]
1  STEVE   2  [2, 5, 6]
2   PAUL   3        NaN
3  KEITH   4        NaN
4  STEVE   5  [2, 5, 6]
5  STEVE   6  [2, 5, 6]
6    BOB   7     [1, 7]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pandas - 按一列分组并聚合其他列以列出 的相关文章

随机推荐