【问题标题】:Python: Join dataframes issuesPython:加入数据框问题
【发布时间】:2022-01-01 01:23:42
【问题描述】:

使用这 2 个数据框:

df1 = pd.DataFrame(
    {
        "ID": ["ID0", "ID1", "ID2", "ID3"],
        "A": ["A0", "A1", "A2", "A3"],
        "B": ["B0", "B1", "B2", "B3"],
    },
)


df2 = pd.DataFrame(
    {
        "ID": ["ID0", "ID1", "ID2", "ID4"],
        "C": ["C0", "C1", "C2", "C4"],
        "D": ["D0", "D1", "D2", "D4"],
    },
)

我的目标是加入他们,而不是重复 ID 并且在没有信息时没有:

ID  A   B   C   D
ID0 A0  B0  C0  D0
ID1 A1  B1  C1  D1
ID2 A2  B2  C2  D2
ID3 A3  B3  None None
ID4 None None C4 D4

执行此操作的 .concat 参数是什么,尝试了几个但没有我想要的结果。

【问题讨论】:

标签: python dataframe append concatenation


【解决方案1】:

改用pd.merge

df1.merge(df2, on='ID', how='outer')

输出:

    ID    A    B    C    D
0  ID0   A0   B0   C0   D0
1  ID1   A1   B1   C1   D1
2  ID2   A2   B2   C2   D2
3  ID3   A3   B3  NaN  NaN
4  ID4  NaN  NaN   C4   D4

这将包含缺少值的 Nans。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-29
    • 1970-01-01
    • 1970-01-01
    • 2021-04-21
    • 1970-01-01
    • 1970-01-01
    • 2022-10-25
    相关资源
    最近更新 更多