在两个pandas dataframe列上应用条件

时间:2016-03-01 10:36:40

标签: python pandas conditional

我有这个数据框:

enter image description here

我想创建一个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"])

但是这给了我这个输出:

enter image description here

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

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

1 个答案:

答案 0 :(得分:1)

你想要这个:

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

您无法使用is==来比较NaN s