#python #pandas #dataframe
#python #pandas #фрейм данных
Вопрос:
Я работаю со странным фреймом данных, используя Pandas:
print(df)
Active Dead Hold
Product1 n/a n/a
n/a Product2 n/a
n/a n/a Product3
Я хочу объединить три строки в 1 строку, и ожидаемый результат:
Active Dead Hold
Product1 Product2 Product3
Я действительно не знаю, как это сделать, и ценю вашу помощь! Спасибо.
Ответ №1:
Вот одна немного более быстрая альтернатива:
new = df.apply(lambda x: x.dropna().values)
Ответ №2:
Предполагая, что удаление NaN
из каждого столбца df дает одинаковое количество строк для каждого столбца, вы можете перебирать каждый столбец df, удалять NaN
и помещать их в новый фрейм данных.
df_collapsed = pd.DataFrame()
for col in df.columns:
df_collapsed[col] = df[col].dropna().values
Вывод:
df_collapsed
Active Dead Hold
0 Product1 Product2 Product3
Комментарии:
1. Спасибо за вашу помощь!