Для фрейма данных
df = pd.DataFrame([[np.nan, 3.0, 7.0], [0.0, 5.0, 8.0], [0.0, 0.0, 0.0], [1.0, 3.0, np.nan], [1.0, np.nan, np.nan]],
columns=[1, 2, 3], index=pd.date_range('20180101', periods=5))
, что
1 2 3
2018-01-01 NaN 3.0 7.0
2018-01-02 0.0 5.0 8.0
2018-01-03 0.0 0.0 0.0
2018-01-04 1.0 3.0 NaN
2018-01-05 1.0 NaN NaN
Я хотел бы знать, когда закончится не-NaN серия (столбец). Полученный фрейм данных должен выглядеть
1 2 3
2018-01-01 False False False
2018-01-02 False False False
2018-01-03 False False False
2018-01-04 False False True
2018-01-05 False True True
Я пытался работать с
df.apply(lambda x: x.last_valid_index())
, что приводит к
1 2018-01-05
2 2018-01-04
3 2018-01-03
Пока все хорошо. Но как продолжить? Все решения (также не содержащие last_valid_index()
) приветствуются!