我想在有条件的Pandas数据帧上添加第三列,如果第一列为NaN,则使用第二列的信息;在其他情况下,则使用第一列的信息。
当我使用以下代码时,它根本不起作用。 但是,如果我将==更改为!=,那么它可以工作(对我来说这没有任何意义,因为它提出了相反的要求)。
const
知道为什么会这样吗?
答案 0 :(得分:0)
NaN
的值是一个特殊的常数,要验证是否是NaN
,您需要使用pandas.isnan
或numpy.isnan()
。另一个解决方案是使用numpy.where()
:
import numpy as np
result['Launch year (final)'] = np.where(np.isnan(result['Launch year']),
result['Launch year (filled)'],
result['Launch year'])