假设我有两个重叠的列和索引名称的数据框,如下所示:
A B C D
A 0 1 0 1
B 0 1 1 0
C 1 0 1 0
D 0 0 0 1
A C D E
A 1 0 0 0
B 0 1 0 0
D 0 0 0 0
E 1 0 0 1
我想将这两个数据帧合并为一个,以便合并具有相同列和索引名称的单元格。最终结果应如下所示:
A B C D E
A 1 1 0 1 0
B 0 1 1 0 0
C 1 0 1 0 0
D 0 0 0 1 0
E 1 0 0 0 1
我尝试使用Pandas.concat方法,但它仅沿其中一个轴连接。
答案 0 :(得分:3)
怎么样:
(df1.add(df2, fill_value=0)
.fillna(0)
.gt(0)
.astype(int))
输出:
A B C D E
A 1 1 0 1 0
B 0 1 1 0 0
C 1 0 1 0 0
D 0 0 0 1 0
E 1 0 0 0 1
答案 1 :(得分:2)
align
和np.maximum
pandas.DataFrame.align
将产生调用DataFrame
和参数DataFrame
的副本,它们的index
和column
属性对齐,并以{{ 1个} {}中的两个tuple
numpy.maximum
,这将很方便地认为它们是DataFrame
对象,并返回具有适当最大值的新pandas.DataFrame
。DataFrame