首页 > 解决方案 > 列表总和不改变列表熊猫的长度

问题描述

我想对数据框中另一列的列和列表总和进行分组,但似乎以下代码不起作用。sum我使用函数 后,每个用户的长度都不同。dt2 = dt.groupby(['user']).sum()

像这样的数据:

user vector
1    [1,2,3,4,5]
2    [1,3,2,4,5]
1    [3,3,3,4,4]
1    [1,2,2,1,1]
2    [1,1,2,0,0]

期望表应该是

user vector
1    [5,7,8,9,9]
2    [2,4,4,4,5]

标签: pythonpandaslist

解决方案


这是一种基于vector列和组user和 sum 创建 df 的方法,最后aggregate作为 list on axis=1

(pd.DataFrame(df['vector'].tolist())
  .groupby(df['user']).sum().agg(list,axis=1).reset_index(name='vector'))

   user            vector
0     1  [5, 7, 8, 9, 10]
1     2   [2, 4, 4, 4, 5]

推荐阅读