【发布时间】:2021-05-12 23:08:54
【问题描述】:
使用熊猫 1.2.1
MRE:
df_a = pd.DataFrame({"A":[1,2,3,4], "B":[33, 44, 55, 66]})
df_b = pd.DataFrame({"B":[33, 44,99], "C":["v", "z", "z"]})
df_c = pd.DataFrame({"A":[3,4,77,55], "D":["aa", "bb", "cc", "dd"]})
使用上面创建的三个 dfs 我想将它们全部连接在一起
- df_a、df_b 共享列“B”,因此它们加入列“B”
- df_a、df_c 共享列“A”,因此它们加入列“A”
我想将 df_b 和 df_c 左连接到 df_a。目前这是我的方法:
merged_df = pd.merge(df_a, df_b, on=["B"], how="left")
merged_df = pd.merge(merged_df, df_c, on=["A"], how="left")
我知道工作正常,但是我不能停下来认为有一种更简单快捷的方法,在使用 reduce 函数在同一列上加入多个 dfs 时有多个问题,但找不到我的问题的解决方案。
【问题讨论】: