【问题标题】:How should I merge two dataframes so that the resulting dataframe does not have NaN values for an entire column?我应该如何合并两个数据框,以使生成的数据框没有整列的 NaN 值?
【发布时间】:2021-10-05 20:52:26
【问题描述】:

我有两个数据框,称为“co_df”(有 2 列 -> 日期、平均值)和“traffic_df”(有 6 列也包括“日期”)。 co_df 数据框包含 2019 年每天的 CO 排放数据,这意味着它有 365 列。 traffic_df 数据帧有 587 列。我只想使用 2019 年的值。 数据框如图所示 -

我想按日期加入两个数据框,以便生成的数据框有 7 列。所以,我想尝试左合并,这是我写的代码->

df = pd.merge(co_df, traffic_df, how="left", on="Date")

但是,这会产生一个包含 365 行的数据框,但平均列只有值,而 traffic_df 中的所有其他列都是 NaN。

【问题讨论】:

    标签: python pandas dataframe merge


    【解决方案1】:

    你可以试试这个:

    虚拟集

    co_df = pd.DataFrame({'Date': ['2019-01-01', '2019-01-02', '2019-01-03','2019-01-04'],
                        'Average': [1, 2, 3, 4]
                        })
    
    traffic_df = pd.DataFrame({'Date': ['2019-01-01', '2019-01-12', '2019-01-13','2019-01-14'],
                               'Highway': [1, 2, 3, 4],
                               'Section': [1, 2, 3, 4],
                               'Section Length': [1, 2, 3, 4],
                               'ADT': [1, 2, 3, 4],
                               'AADT': [1, 2, 3, 4],
                               })
    

    代码

    df = pd.merge(co_df, traffic_df, on="Date", how="outer")
    

    结果

    df
    Out[10]: 
             Date  Average  Highway  Section  Section Length  ADT  AADT
    0  2019-01-01      1.0      1.0      1.0             1.0  1.0   1.0
    1  2019-01-02      2.0      NaN      NaN             NaN  NaN   NaN
    2  2019-01-03      3.0      NaN      NaN             NaN  NaN   NaN
    3  2019-01-04      4.0      NaN      NaN             NaN  NaN   NaN
    4  2019-01-12      NaN      2.0      2.0             2.0  2.0   2.0
    5  2019-01-13      NaN      3.0      3.0             3.0  3.0   3.0
    6  2019-01-14      NaN      4.0      4.0             4.0  4.0   4.0
    

    【讨论】:

      猜你喜欢
      • 2021-11-11
      • 1970-01-01
      • 1970-01-01
      • 2015-07-22
      • 1970-01-01
      • 2023-01-13
      • 2022-11-03
      • 1970-01-01
      • 2021-07-22
      相关资源
      最近更新 更多