合并熊猫数据框的列

时间:2019-08-01 14:49:56

标签: python pandas dataframe

我正在关注数据框。

import pandas as pd
from pprint import pprint

df1 = pd.DataFrame(columns=["A", "B"])
df1["A"] = [1, 2]
df1["B"] = ["A", "B"]

df2 = pd.DataFrame(columns=["A", "C"])
df2["A"] = [3, 4]
df2["C"] = ["C", "D"]

df3 = pd.DataFrame(columns=["A", "C"])
df3["A"] = ["E", "F"]
df3["C"] = [0.1, 0.2]

我想将所有三个数据框合并为一个数据框。 预期输出:

df

 A B  C  D
 1 A
 2 B
 3    C  
 4    D
   E     0.1
   F     0.2

我尝试使用合并功能。它仅附加2个数据框,并且还将字符附加到列名,我不打算这样做。

df = df1.merge(df2, left_on='A', right_on='C')

我想知道是否还有其他方法或构建函数中可以做到这一点。

3 个答案:

答案 0 :(得分:1)

您正在寻找pd.concat

pd.concat([df1,df2,df3])
    A   B   C   D
0   1.0 A   NaN NaN
1   2.0 B   NaN NaN
0   3.0 NaN C   NaN
1   4.0 NaN D   NaN
0   NaN E   NaN 0.1
1   NaN F   NaN 0.2

答案 1 :(得分:1)

pd.concat((df1,df2,df3), sort=False)

答案 2 :(得分:1)

df = pd.concat([df1,df2,df3],sort=False).fillna('')