首页 > 解决方案 > 如何用另一列的值填充 Pandas 列的 NaN 值

问题描述

在一定数量的行之后,我有一列缺少值,而另一列到那时为止缺少值。如何加入这两列,以便有一列包含所有值?

列原样:

         COL 1      COL 2 
0            A        NaN
1            B        NaN  
2            C        NaN 
3          NaN          D   
4          NaN          E
5          NaN          F

预期输出:

         COL 1      
0            A             
1            B             
2            C            
3            D           
4            E          
5            F           

标签: pythonpandas

解决方案


使用Series.fillnaSeries.combine_first

df['COL 1'] = df['COL 1'].fillna(df['COL 2'])

df['COL 1'] = df['COL 1'].combine_first(df['COL 2'])

如果还想删除第二列添加DataFrame.pop

df['COL 1'] = df['COL 1'].fillna(df.pop('COL 2'))
#df['COL 1'] = df['COL 1'].combine_first(df.pop('COL 2'))

推荐阅读