Panda,用不同的列汇总多个DataFrame

时间:2018-03-12 16:23:45

标签: python pandas numpy

我有以下DataFrames:

A =  
  0 1 2 
0 1 1 1
1 1 1 1
2 1 1 1

B = 
  0 5
0 1 1
5 1 1

我想加入'这两个框架是这样的:

A + B =
   0 1 2 5
 0 2 1 1 1
 1 1 1 1 0
 2 1 1 1 0
 5 1 0 0 1  

其中A + B是新数据帧

2 个答案:

答案 0 :(得分:3)

使用add

df1.add(df2,fill_value=0).fillna(0)
Out[217]: 
     0    1    2    5
0  2.0  1.0  1.0  1.0
1  1.0  1.0  1.0  0.0
2  1.0  1.0  1.0  0.0
5  1.0  0.0  0.0  1.0

如果你需要int

df1.add(df2,fill_value=0).fillna(0).astype(int)
Out[242]: 
   0  1  2  5
0  2  1  1  1
1  1  1  1  0
2  1  1  1  0
5  1  0  0  1

答案 1 :(得分:1)

import numpy as np
import pandas as pd

A = pd.DataFrame(np.ones(9).reshape(3, 3))
B = pd.DataFrame(np.ones(4).reshape(2, 2), columns=[0, 5], index=[0, 5])

A.add(B, fill_value=0).fillna(0)

[Out]
    0       1       2       5
0   2.0     1.0     1.0     1.0
1   1.0     1.0     1.0     0.0
2   1.0     1.0     1.0     0.0
5   1.0     0.0     0.0     1.0