我有一个像这样的数据框:
id = [1,1,2,3]
x1 = [0,1,1,2]
x2 = [2,3,1,1]
df = pd.DataFrame({'id':id, 'x1':x1, 'x2':x2})
df
id x1 x2
1 0 2
1 1 3
2 1 1
3 2 1
某些行具有相同的id
。我想总结这些行(在 x1
和 x2
上)以获得具有唯一 ids
的新数据帧:
df_new
id x1 x2
1 1 5
2 1 1
3 2 1
一个重要的细节是,实际列数x1
,x2
,...很大,因此我无法应用需要手动输入列名称的函数.
最佳答案
正如所讨论的,您可以使用 pandas groupby
函数根据 id
值进行求和:
df.groupby(df.id).sum()
# or
df.groupby('id').sum()
如果您不希望 id
成为索引,那么您可以:
df.groupby('id').sum().reset_index()
# or
df.groupby('id', as_index=False).sum() # @John_Gait
关于python - 汇总 DataFrame 中的非唯一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35033218/