连接Python数据

时间:2017-07-16 12:50:19

标签: pandas dataframe concatenation

我有两个不同的Python DataFrames(即大小为2 * 2),如下所示:

Mangoes    Apples
Mangoes    Apples

1         0
0         1

我打算生成第三个DataFrame,以便输出可以是:

Mangoes       0
0        Apples

显然,我不能将这两个数据帧相乘(我希望我能做到)。那么,这应该是最好的方法呢?这是可以通过连接完成的吗?或者我应该开始逐个项目为每个DataFrame迭代并将值存储到第三个DataFrame中。

2 个答案:

答案 0 :(得分:1)

假设两个DF具有相同的列名和索引:

In [123]: d1[d2.eq(1)].combine_first(d2)
Out[123]:
         0       1
0  Mangoes       0
1        0  Apples

来源DF:

D1:

In [124]: d1
Out[124]:
         0       1
0  Mangoes  Apples
1  Mangoes  Apples

D2:

In [125]: d2
Out[125]:
   0  1
0  1  0
1  0  1

答案 1 :(得分:0)

一种可能的方式如下:

print(df1)

输出:

         0       1
0  Mangoes  Apples
1  Mangoes  Apples

其他dataframe

print(df2)

输出:

   0  1
0  1  0
1  0  1

然后:

df_new = (df1*df2).replace('',0)
print(df_new)

输出:

         0       1
0  Mangoes       0
1        0  Apples