【问题标题】:create column by looking not null values in other columns [duplicate]通过在其他列中查找非空值来创建列[重复]
【发布时间】:2022-01-21 18:41:15
【问题描述】:

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

例如:

  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

【问题讨论】:

  • 你的意思是df.max(1)
  • 为什么第三行是new_columnnan而不是d

标签: python pandas series


【解决方案1】:

你可以水平bfill然后选择第一列:

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

【讨论】:

  • new_column 在所有情况下都通过执行 max 为我带来所有空值 :(
  • 抱歉耽搁了,我弄糊涂了。现在检查@Lucas ;)
猜你喜欢
  • 1970-01-01
  • 2023-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-05
相关资源
最近更新 更多