【问题标题】:Merging the 2 dataframes合并2个数据框
【发布时间】:2020-05-21 18:12:37
【问题描述】:

我有一个数据框 df1 和 df2,我想合并它们,这样我就不会丢失 df1 的任何条目,并且两个数据框中的公共列都是

df1 = r_date, symbol 
df2 = date, symbol 

我想合并数据框,这样我就不会丢失 df1 中的任何条目。

我尝试使用以下

merged_left = pd.merge(left=df1,  right=df2, how='inner', left_on=['symbol','r_date'], right_on=['symbol','date'])
merged_left

但问题是它正在从 df1 删除条目。任何人都可以建议一种方法来做同样的事情。

df1 共有 3442 行,df2 有近 2,000,000 个条目。我正在查看的是添加如果符号和 r_date 在 df2 中不匹配,则将 df2 中的列添加为 NA

谁能帮忙

谢谢

【问题讨论】:

    标签: python pandas numpy


    【解决方案1】:

    你需要使用how=left而不是inner,像这样:

    由于您想要来自 df1 的所有记录,因此您需要将其设为左侧数据框并使用 how=left,其中 left 类似于 LEFT JOIN

    merged_left = pd.merge(df1, df2, how='left', left_on=['symbol','r_date'], right_on=['symbol','date'])
    

    【讨论】:

    • @vp7 如果有帮助,请upvoteaccept 回答。
    猜你喜欢
    • 1970-01-01
    • 2021-08-23
    • 2018-12-07
    • 1970-01-01
    • 2020-09-04
    • 2017-12-07
    • 2015-10-14
    • 1970-01-01
    • 2017-05-02
    相关资源
    最近更新 更多