如何使用 Python 遍历多个列以获得非 NaN 的值

How to iterate through many columns for a value that is not NaN using Python

我有一个空列依赖于同一 df 中的其他 4 列。每行仅包含相同的字符串或 NaN,因此我想获取列中弹出的第一个字符串。

我想遍历 4 列,如果其中一列包含一个不是 NaN 的值,我想将其打印为空,如果它们都是 NaN,那么我希望空为 NaN。

1 2 3 4
苹果
鸭子 鸭子

这是我想要的结果。

1 2 3 4
苹果 苹果
鸭子 鸭子 鸭子

尝试 .bfill(axis=1):

df["Empty"] = df.loc[:, "1":].bfill(axis=1)["1"]
print(df)

打印:

   Empty     1   2      3   4
0  apple   NaN NaN  apple NaN
1   duck  duck NaN   duck NaN
2    NaN   NaN NaN    NaN NaN