Пожалуйста, помогите! Я провел некоторое исследование, и эти вопросы связаны, однако я не могу помассировать это, чтобы работать:
Несколько смен на фрейме данных
Сдвиг всего столбца на фрейме данных панд
Удаление NaN из DataFrame и дубликатов из мультииндекса
Это самая близкая к моей проблеме:
Сдвиг строки влево
Моя проблема: Проблема с временными рядами, поэтому я хочу сместить строки влево, если первой записью является NaN, сохраняя при этом любые другие NaN в этой строке после исходного первого значения там, где они есть.
Итак, запуск DataFrame выглядит так:
A B C D
1 10 11 23 90
2 NaN 05 NaN 56
3 11 3 Nan 11
4 NaN NaN 56 NaN`
У меня неправильное решение, оно выглядит следующим образом:
df3 = df2.apply(lambda x: pd.Series(x.dropna().values),1)
df3.columns=df2.columns[:len(df3.columns)]
df3= df3.reindex_axis(df2.columns,1)
Это дает (не то, что я хочу!) :
A B C D
1 10 11 23 90
2 05 56 NaN NaN
3 11 3 11 NaN
4 56 NaN NaN NaN
Мне бы хотелось, чтобы датафрейм был таким:
A B C D
1 10 11 23 90
2 05 NaN 56 NaN
3 11 3 NaN 11
4 56 NaN NaN NaN
Таким образом, передний фронт NaNs
удаляется, но как только это первое измерение выполнено, любые последующие NaNs
остаются на своем месте.
Большое спасибо за любые советы.