合并python中

时间:2018-01-05 16:20:48

标签: python pandas

我正在尝试在Fruit上的python中合并数据帧,下面有两个表。 任何建议都会很棒我曾尝试过各种各样的东西,但是我无法让它发挥作用。以下两张表是我目前所拥有的。

提前谢谢。

表1:

Fruit    |    appl | orange |  kiwi
Shop     |         |        |         
 :-----------------------------------:                   
1        |    NaN  | 0.275  |   NaN
2        |     0.4 | -0.600 |   0.2
3        |    0.7  |   NaN  |   NaN
4        |    NaN  |   NaN  |   0.2
5        |    0.3  | 0.350  |   NaN
6        |    NaN  | 0.250  |   NaN
7        |    NaN  |   NaN  |   0.2
8        |    0.4  | 0.400  |   NaN

表2:

Fruit    |    kiwi| orange |  appl 
 :-----------------------------------:                   
   x     |    0.4 | 0.275  |   0.2

最终产品:

Fruit    |    appl | orange |  kiwi
Shop     |         |        |         
 :-----------------------------------:                   
1        |    NaN  | 0.275  |   NaN
2        |     0.4 | -0.600 |   0.2
3        |    0.7  |   NaN  |   NaN
4        |    NaN  |   NaN  |   0.2
5        |    0.3  | 0.350  |   NaN
6        |    NaN  | 0.250  |   NaN
7        |    NaN  |   NaN  |   0.2
8        |    0.4  | 0.400  |   NaN
 :-----------------------------------:                   
   x     |    0.2  | 0.275  |   0.4

2 个答案:

答案 0 :(得分:1)

要使用相同的列顺序将一个数据框附加到另一个数据框:

df1.reindex_axis(sorted(df1.columns), axis=1).append(df2.reindex_axis(sorted(df2.columns), axis=1))

请注意,Fruit ShopFruit列应设置为各自数据框的索引。

答案 1 :(得分:0)

如果我理解您的问题是正确的,您可以使用pd.concat。在您的情况下table_final = pd.concat([table1, table2])。如果未指定,则对列名进行连接,因此列排序无关紧要 - apple将与apple合并。