0

我关注数据框。

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')

我想知道是否有替代方法或构建功能来执行此操作。

4

3 回答 3

1
df = pd.concat([df1,df2,df3],sort=False).fillna('')
于 2019-08-01T14:56:18.607 回答
1

是吗

pd.concat((df1,df2,df3), sort=False)
于 2019-08-01T14:55:09.277 回答
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
于 2019-08-01T14:54:53.447 回答