Я работаю с фреймом данных pandas, который имеет в качестве индекса метку времени. То, что я хотел бы сделать, это вычислить столбцы «A», «B», «C» из кадра данных в скользящем окне 2 месяца с периодичностью один месяц. Проблема заключается в том, что, поскольку мне приходится вычислять 3 столбца одновременно, я должен использовать функцию assign, и она выглядит так, как будто я не могу запустить assign () для подвижного объекта. Каков наилучший способ решения этой проблемы?
Извините, я не могу предоставить пример данных, но это то, что я по сути должен сделать:
df.rolling('2M').assign(
A = lambda x: do_something(x) + 1,
B = lambda x: do_something_else(x) + 3,
C = lambda x: do_somethingcool(x) + 6,
)
вот некоторые примеры данных:
df.head()
A B C
date
2018-01-01 2.0 1.650000e+01 2.475000e+00
2018-01-01 4.0 2.466667e+01 8.258333e+00
2018-01-01 65.0 2.816667e+01 1.197708e+01
2018-01-01 67.0 3.804167e+01 1.568958e+01
2018-01-01 249.0 3.989881e+01 1.568958e+01
2018-01-01 263.0 5.956548e+01 1.898958e+01
2018-01-01 264.0 6.785119e+01 2.393958e+01