【问题标题】:Super Easy Python Pandas - Merge two dataframes based on a column in a different dataframeSuper Easy Python Pandas - 基于不同数据框中的列合并两个数据框
【发布时间】:2021-03-11 13:45:03
【问题描述】:

我有两个数据框:

df1:

    Calendar
0   Mauritius
1   MIL
2   EG

df2:

    Calendar    Country
0   0A          South   Australia
1   MEL         Australia - Victoria (Regional)
2   QLD         Queensland   Australia
3   Mauritius   Mauritius
4   7A          Australia - Tasmania
5   MIL         MILANO
6   NSET        TRADING   NSE Stock Exchange
7   AUF         Australian Fixed Income
8   EG          Eq Guinea

预期输出:

    Calendar    Country
0   Mauritius   Mauritius
1   MIL         MILANO
2   EG          Eq Guinea

当我尝试合并时:

df_merge = pd.merge(df1, df2, on=['Calendar'])

我得到一个空数据框 - 我该如何解决这个问题?

【问题讨论】:

  • 我的代码看起来不错。您能否将您的数据文件分享给 pastebin.com 并附上适当的说明日期?
  • @Ynjxsjmh minimal reproducible example 所需的一切都应该在帖子中剪切、粘贴和运行文本。 How to Askhelp center

标签: pandas dataframe join merge


【解决方案1】:

只需使用更改顺序:-

df_merge=pd.merge(df2,df1,on='Calendar')

或者你可以做掩蔽,即

mask=df1['Calendar'].isin(df2['Calendar'])
df_merge=df2[mask]

【讨论】:

  • 谢谢你,但是当我使用它时我仍然得到一个空数据框
  • 但是我没有得到空数据框...我编辑了我的答案添加了第二种方法来执行此操作....请看一下
猜你喜欢
  • 1970-01-01
  • 2021-12-16
  • 1970-01-01
  • 2023-03-09
  • 1970-01-01
  • 1970-01-01
  • 2018-01-30
  • 2016-07-23
  • 1970-01-01
相关资源
最近更新 更多