【问题标题】:How to merge two Dataframes replacing NaN values?如何合并两个替换 NaN 值的数据框?
【发布时间】:2021-11-11 18:43:41
【问题描述】:

我正在处理两个具有相同列的表。我需要合并它们,但要替换空值(标识广告“N/A”)。

第一张表是我的参考。所以在不同值的情况下(并且不是'N/A'),必须以第一个表的结果为准。

预期结果是 'DistanciaPercorrida' 等于 '3km' 和 'TempoCorrida' 等于 '4min 38s' 的一行。

解决:

我使用 df.replace('?', np.NaN) 将 'N/A' 转换为 NaN 值并在 df1.set_index('Data').combine_first(df2.set_index('Data')).reset_index() 之后使用

【问题讨论】:

    标签: python pandas join merge


    【解决方案1】:

    使用combine_first 将第一个数据帧中的NaN 值填充为第二个数据帧的值:

    >>> df1.set_index('Data').combine_first(df2.set_index('Data')).reset_index()
    
            Data DistanciaPercorrida TempoCorrida
    0  15 de ago                 3km     4min 38s
    

    【讨论】:

    • 不工作...可能是因为我没有 NaN 值...它们被指示为 'N/A' 字符串
    • 太棒了!是这样的!
    猜你喜欢
    • 2014-09-25
    • 2016-03-01
    • 1970-01-01
    • 2023-03-04
    • 2022-11-03
    • 1970-01-01
    • 1970-01-01
    • 2020-10-12
    • 2019-09-27
    相关资源
    最近更新 更多