【问题标题】:Merging two dataframes with same index in pandas在熊猫中合并两个具有相同索引的数据框
【发布时间】:2016-04-21 08:45:12
【问题描述】:

我有两个数据框。我需要加入它们,以便将两个数据框中具有相同名称的索引合并为一个并将它们的值相加。创建其他数据框中不存在的那些索引并插入它们的值。请参阅下面的示例。

数据帧1:

index   col1 col2 col3
A         3    0    4
C         4    1    2
D         3    5    6
G         3    0    0

数据帧2

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。

【问题讨论】:

标签: python pandas


【解决方案1】:

我认为您可以将addcombine_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

【讨论】:

    猜你喜欢
    • 2018-07-17
    • 2020-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-12
    • 2018-10-07
    • 2017-01-31
    • 1970-01-01
    相关资源
    最近更新 更多