Построение по этому вопросу Объединение столбцов и удаление NaNs Pandas ,
У меня есть датафрейм, который выглядит так:
col x y z
a1 a NaN NaN
a2 NaN b NaN
a3 NaN c NaN
a4 NaN NaN d
a5 NaN e NaN
a6 f NaN NaN
a7 g NaN NaN
a8 NaN NaN NaN
Значения ячеек - это строки, а NaN - произвольные нулевые значения.
Я хотел бы объединить столбцы, чтобы добавить новый объединенный столбец следующим образом:
col w
a1 a
a2 b
a3 c
a4 d
a5 e
a6 f
a7 g
a8 NaN
В элегантном решении, предложенном в приведенном выше вопросе, используется
df['w']=df[['x','y','z']].sum(axis=1)
но сумма не работает для нечисловых значений.
Как, в данном случае для строк, объединить столбцы в один столбец?
Вы можете предположить:
- Каждая строка имеет только одну из
x
, y
, z
, которая не равна нулю.
- На отдельные столбцы необходимо ссылаться по имени (поскольку они являются подмножеством всех доступных столбцов в кадре данных).
- Обычно в подмножестве N, а не только 3 столбца.
- Надеюсь, не использовать для циклов iloc / for: \
Обновление: (извинения тем, кто уже дал ответы: \)
- Я добавил последнюю строку, где каждый столбец содержит NaN, и я хотел бы, чтобы объединенная строка отражала это. Спасибо + извините!
Спасибо, как всегда, за помощь