применяется к транспонированному фрейму данных:

я есть примерный показ данных, как показано ниже. Для каждой строки я хочу сначала проверить c1, если она не равна нулю, то проверить c2. Таким образом, найдите первый столбец notnull и сохраните это значение в результате столбца.

ID  c1  c2  c3  c4  result
1   a   b           a
2       cc  dd      cc
3           ee  ff  ee
4               gg  gg

Я использую этот способ сейчас. но я хотел бы знать, если есть лучший метод. (Имя столбца не имеют никакого шаблона, это просто образец)

df["result"] = np.where(df["c1"].notnull(), df["c1"], None)
df["result"] = np.where(df["result"].notnull(), df["result"], df["c2"])
df["result"] = np.where(df["result"].notnull(), df["result"], df["c3"])
df["result"] = np.where(df["result"].notnull(), df["result"], df["c4"])
df["result"] = np.where(df["result"].notnull(), df["result"], "unknown)

Когда столбцов много, этот метод выглядит не очень хорошо.

Ответы на вопрос(1)

Ваш ответ на вопрос