Панды Unminify dataframe.Заполните предыдущее значение.Интерполировать шаг за шагом - PullRequest
0 голосов
/ 09 декабря 2018

У меня есть фрейм данных, похожий на этот:

print(df)                                        
                                         y                 x    
                   -2         -1         0    -2    -1     0
time                                                                   
1544301206  51966.876   5761.886  3818.735  9883  9885  9916
1544301269  50900.195  50038.890  2781.000  9892  9893  9894
1544301329   5359.255   3326.751  2958.000  9888  9912  9914

Давайте возьмем первую строку и объясню, что это значит.Начните с правой стороны.
- Все y для df['x', 0] < x (9916 ..) равны 0
- Все y для df['x', -1] < x <= df['x', 0] (9885..9916] - df['y', 0] (3818.735)
-Все y для df['x', -2] < x <= df['x', -1] (9883..9885] - df['y', -1] (5761.886)
- Все y для x < df['x', -2] (..9883]: df['y', -2]

Я хочу иметь возможностьполучить unminified dataframe, где каждый x - явный столбец, а y - значения.

stepped_df = unminify(df, interval=[9890, 9895])
print(stepped_df)
               9890     9891     9892     9893     9894     9895
time                                                            
1544301206  3818.74  3818.74  3818.74  3818.74  3818.74  3818.74
1544301269  50900.2  50900.2  50900.2  50038.9     2781        0
1544301329  3326.75  3326.75  3326.75  3326.75  3326.75  3326.75

У меня уже есть грязная реализация с циклами for, в поисках лучшего решения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...