[英]Merging two dataframes with same index in pandas
我有两个数据框。 我需要加入它们,以便将在两个数据框中具有相同名称的那些索引合并为一个并对其值求和。 创建那些在另一个数据框中不存在的索引,并插入其值。 请参见下面的示例。
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,否则任何值均不应视为零。
我认为您可以将add
与combine_first
一起使用,并通过astype
add
其转换为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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.