通过在其他列中查找非空值来创建列

create column by looking not null values in other columns

我正在尝试在我的数据框中创建一个列,它搜索每一列并检查特定行的值是否为空,如果不是,新列将包含该值,否则它将跳过它.两列不可能包含非空值。

例如:

  A   B   C   D   E
NaN NaN NaN NaN   a 
  b NaN NaN NaN NaN
NaN NaN NaN NaN NaN 

我的预期输出:

  A   B   C   D   E  new_column
NaN NaN NaN NaN   a           a
  b NaN NaN NaN NaN           b
NaN NaN NaN NaN NaN         NaN

您可以水平 bfill 然后 select 第一列:

df['new_column'] = df.bfill(axis=1).iloc[:, 0]

输出:

>>> df
     A   B   C   D    E new_column
0  NaN NaN NaN NaN    a          a
1    b NaN NaN NaN  NaN          b
2  NaN NaN NaN NaN  NaN        NaN