将一列替换为python / pandas中的另一列,但是如果替换列具有NaN值,则保留替换列的值吗?

时间:2018-06-26 18:01:45

标签: python pandas

我要合并在一起的数据框中有两列。所附图像显示了列:

Image of the two columns I want to merge

我希望“ precio_uf_y”列优先于“ precio_uf_x”列的新列,但是如果“ precio_uf_y”列中存在NaN值,我希望“ precio_uf_x”列中的值转到新列。我理想的新合并列将如下所示:

Desired new column

我尝试了不同的合并函数,并使用numpy设置了min和max,但是也许有一种方法可以编写带有这些参数的函数?

在此先感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用df.apply

def get_new_val(x):
    if np.isnan(x.precio_uf_y):
       return x.precio_uf_x
    else:
       return x.precio_uf_y

df["new_precio_uf"] = df.apply(get_new_val, axis=1)