我有两个数据框。我需要加入它们,以便在两个数据框中具有相同名称的索引连接成一个并且它们的值相加。创建其他数据框中不存在的索引并插入其值。见下面的例子。
dataFrame1:
index col1 col2 col3
A 3 0 4
C 4 1 2
D 3 5 6
G 3 0 0
dataFrame2
index col1 col2 col3
A 1 1 3
B 4 4 1
C 1 3 0
E 0 2 1
F 1 3 2
我需要以下结果:
index col1 col2 col3
A 4 1 7
B 4 4 1
C 5 4 2
D 3 5 6
E 0 2 1
F 1 3 2
G 3 0 0
我怎么能这样做是熊猫? 注意:除非两个数据框中的值为零或NaN,否则不应将任何值视为零。
答案 0 :(得分:2)
我认为您可以add
使用combine_first
并astype
投射到int
:
print df1
col1 col2 col3
index
A 3 0 4
C 4 1 2
D 3 5 6
G 3 0 0
print df2
col1 col2 col3
index
A 1 1 3
B 4 4 1
C 1 3 0
E 0 2 1
F 1 3 2
print df1.add(df2).combine_first(df1).combine_first(df2).astype(int)
col1 col2 col3
index
A 4 1 7
B 4 4 1
C 5 4 2
D 3 5 6
E 0 2 1
F 1 3 2
G 3 0 0