在两个 pandas 数据框列上应用条件

Apply conditional on two pandas dataframe columns

我有这个数据框:

我想创建一个 ZIP 列,当 ZIP_x 为 NaN 时它将获取 ZIP_y 的值,而当 ZIP_x 不是 NaN 时它将获取 ZIP_x 的值。

我试过这段代码:

dm["ZIP"]=numpy.where(dm["ZIP_x"] is numpy.nan, dm["ZIP_y"],dm["ZIP_x"])

但这给了我这个输出:

如您所见,ZIP 列似乎在其每个单元格中获取 ZIP_x 的值。

你知道如何实现我的目标吗?

你想要这个:

dm["ZIP"]=numpy.where(dm["ZIP_x"].isnull(), dm["ZIP_y"],dm["ZIP_x"])

您不能使用 is== 来比较 NaNs