python-3.x - how to aggregate information in one column of dataframe in python3?
问题描述
I have a dataframe:
import pandas as pd
d = {'user': ['bob','bob','peter','peter'], 'item':
['s1','s1','s2','s2'],'value':
[1,2,5,4]}
df = pd.DataFrame(data=d)
which is
user item value
0 bob s1 1
1 bob s1 2
2 peter s2 5
3 peter s2 4
I tend to aggregate the value
based on [user, item]
. My new dataframe will be
user item value
0 bob s1 [1,2]
1 peter s2 [5,4]
value
is an array, how to do that ?
解决方案
df.groupby(['user','item']).agg(list).reset_index()
Out[110]:
user item value
0 bob s1 [1, 2]
1 peter s2 [5, 4]
推荐阅读
- codeigniter - Codeigniter 4: Loading general settings from DB
- javascript - Fabric.js:在画布中设置新图像但画布没有改变
- xml - 在 XSLT 1.0 中的多个节点中分组并在一个公共元素下输出
- java - 如何在 Eclipse 中修复 jgit 类的 java.lang.ClassNotFoundException
- vue.js - Vue cli 代码未在命令提示符下运行
- html - 如何在 ngStyle 中以角度应用 !important
- php - file_put_contents 返回正常,但没有创建文件
- python - /profiles/followers/admin/ 的 ValueError 无法查询“flash”:必须是“用户”实例
- ms-media-foundation - 有效地将异步 IMFSourceReader 连接到同步 IMFTransform
- javascript - 在 React.js 中将图像切换为文本 onClick