У меня есть фрейм данных, похожий на этот:
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, в поисках лучшего решения.