如何用另一列的值填充 Pandas 列的 NaN 值

Jac*_*yer 2 python pandas

我有一列在一定数量的行之后缺少值,而另一列则在该点之前缺少值。如何连接这两列,以便有一列包含所有值?

列如下:

         COL 1      COL 2 
0            A        NaN
1            B        NaN  
2            C        NaN 
3          NaN          D   
4          NaN          E
5          NaN          F
Run Code Online (Sandbox Code Playgroud)

预期输出:

         COL 1      
0            A             
1            B             
2            C            
3            D           
4            E          
5            F           
Run Code Online (Sandbox Code Playgroud)

jez*_*ael 5

使用Series.fillnaSeries.combine_first

df['COL 1'] = df['COL 1'].fillna(df['COL 2'])
Run Code Online (Sandbox Code Playgroud)
df['COL 1'] = df['COL 1'].combine_first(df['COL 2'])
Run Code Online (Sandbox Code Playgroud)

如果还想删除第二列,请添加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'))
Run Code Online (Sandbox Code Playgroud)