当一个合并列包含NaN时使用pandas.merge_asof

时间:2019-07-16 20:08:21

标签: python pandas merge

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

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

最简单的选择是什么?如果我只是要删除与NaNs值关联的那一行,可以稍后再添加它们,然后将dtype从int更改为object吗?这会破坏一切吗?

1 个答案:

答案 0 :(得分:0)

我做了两种方法:

1)我将Nan设置为-1。 (在其他数据集中没有ID为-1的ID)。然后放回南后。 2)我删除了该列与Nan关联的记录,然后将记录放回去。

我试图比较结果(并重置索引,按时间戳排序),但是我一直在出错。两者都应给出相同的结果。