我正在关注数据框。
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')
我想知道是否还有其他方法或构建函数中可以做到这一点。
答案 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('')