我有多个数据框,它们的形状相同,但值不同。我需要将数据帧合并为一个,并在A,B和C列中添加值。下面是一个示例:
df1:
**Name,A,B,C**
Fred, 3, 4, 5
Tim, 1, 3, 0
Jake,4,2,10
df2:
**Name,A,B,C**
Fred, 1,0,4
Tim, 7,1,2
Jake,3,3,1
我正在寻找的是这样的:
df_merged:
**Name,A,B,C**
Fred,4,4,9
Tim,8,4,2
Jake,7,5,11
请记住,我有多个数据帧需要合并为1(6个以上)。
答案 0 :(得分:1)
将concat
中的GroupBy.sum
与sum
一起使用:
dfs = [df1, df2, df3, ...]
df = pd.concat(dfs).groupby('Name', as_index=False).sum()
dfs = [df1, df2]
df = pd.concat(dfs).groupby('Name', as_index=False).sum()
print (df)
Name A B C
0 Fred 4 4 9
1 Jake 7 5 11
2 Tim 8 4 2