【问题标题】:Using pandas.merge_asof when one merge column contains NaNs当一个合并列包含 NaN 时使用 pandas.merge_asof
【发布时间】:2019-11-25 15:09:47
【问题描述】:

熊猫新手 - 我一直在尝试使用 pandas.merge_asof 首先通过共享 ID 将两个数据集连接在一起,然后通过最近的时间戳合并到 df1 中的时间戳。

问题是我发现left_on 和right_on 都必须是int。我有一列包含 NaN,它们必须保留。浮动也无效。通过对 Stackoverflow 的研究,我发现最新版本的 Pandas 24.02 具有此功能,您只需将列转换为 Int64。但是,我工作中可用的pandas版本是23.xx,目前无法升级。

我最简单的选择是什么?如果我要简单地删除与一列中的 NaN 值关联的行,我是否可以稍后简单地将它们添加回来,然后将 dtype 从 int 更改回 object?这会破坏什么吗?

【问题讨论】:

    标签: python pandas merge


    【解决方案1】:

    我做了两种方法:

    1) 我将 Nan 设置为 -1。 (在另一个数据集中没有 -1 的 id)。然后把他们送回南后。 2)我删除了该列与Nan's相关的记录,然后将记录放回。

    我尝试比较结果(并重置索引,按时间戳排序),但我一直出错。无论如何,两者都应该给出相同的结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-19
      • 2018-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-19
      • 1970-01-01
      相关资源
      最近更新 更多