У меня отсутствуют данные в начале DataFrame для одной серии, и я хочу заполнить эти NA, увеличивая ряд, используя скорость роста другой.
df = pd.DataFrame({'X':[np.nan, np.nan, np.nan, 6, 6.7, 6.78, 7, 9.1],
'Y':[5.4, 5.7, 5.5, 6.1, 6.5, 6.80, 7.1, 9.12]})
X Y
0 NaN 5.40
1 NaN 5.70
2 NaN 5.50
3 6.00 6.10
4 6.70 6.50
5 6.78 6.80
6 7.00 7.10
7 9.10 9.12
т.е. что я хочу это:
df2 = pd.DataFrame({'X':[5.31147, 5.60656, 5.40984, 6, 6.7, 6.78, 7, 9.1],
'Y':[5.4, 5.7, 5.5, 6.1, 6.5, 6.80, 7.1, 9.12]})
Так что две серии имеют одинаковые темпы роста для первых нескольких пропущенных значений
df2.pct_change()
X Y
0 NaN NaN
1 0.055556 0.055556
2 -0.035088 -0.035088
3 0.109091 0.109091
4 0.116667 0.065574
5 0.011940 0.046154
6 0.032448 0.044118
7 0.300000 0.284507
Есть идеи? Я выяснил, как выполнить итерацию назад и сохранить вывод в список, но предварительно ожидая, что он громоздкий, и мне нужно добавить его к исходному DataFrame