【问题标题】:Merge two dataframes based on more than one overlap基于多个重叠合并两个数据帧
【发布时间】:2019-03-05 06:40:42
【问题描述】:

我有两个数据框,每个数据框由 3 列组成,分别是年、月和日。 df1 包含与每个日期对应的其他几个值,而 df2 包含不同的值。我想将两个数据框合并为一个年、月和日都相同的数据框。但是,我的第一个数据集是从 1979 年到 2017 年,但不包括 7 到 9 日的所有日期或月份。第二个数据框从 1979 年到 2017 年,包括每一天。

df1:

Year    Month    Day    IVT    IWV   Morevalues...
1979    1        10     275    21
1979    1        12     365    22
1979    1        16     565    29

df2:

Year    Month    Day    NAO    PNA 
1979    1        9      1.2    0.76
1979    1        10     1.1    0.85
1979    1        11     1.15   0.82
1979    1        12     1.13   0.83

我想要什么:

Year    Month    Day    IVT    IWV    NAO    PNA
1979    1        10     275    21     1.1    0.85
1979    1        12     365    22     1.13   0.83

【问题讨论】:

    标签: python pandas dataframe


    【解决方案1】:

    试试这个:

    res = pd.merge(df1, df2, how='inner', on=['Year', 'Month', 'Day'])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-07
      • 2020-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-07
      相关资源
      最近更新 更多