применяется к транспонированному фрейму данных:
я есть примерный показ данных, как показано ниже. Для каждой строки я хочу сначала проверить 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)
Когда столбцов много, этот метод выглядит не очень хорошо.