首页 > 解决方案 > NaN时如何使用一列覆盖另一列并采用另一列值?

问题描述

我的系统是 Python3.6 和 pandas 0.24

我的数据框中有 2 列cola,如下所示: colbdf

cola   colb
A         C
C        NaN
NaN       C
C         D

如果两者都有行值,我想用来colb覆盖,如果没有值则采用。 colacolacolb

预期结果如下:

cola   colb      colc
A         C       C
C        NaN      C
NaN       C       C
C         D       D

怎么做?
提前致谢!

标签: pythonpandasdataframe

解决方案


您可以使用np.where

df['colc']=np.where(df['colb'].isnull(), df['cola'], df['colb'])

print(df)

输出:

  cola  colb colc
0     A     C    C
1     C  None    C
2  None     C    C
3     C     D    D

推荐阅读