Скажем, у меня есть набор данных, который является индексом на дату
id, date, col1, col2
1, 4, 1, 12
1, 5, 2, 13
1, 6, 6, 14
2, 4, 20, 16
2, 5, 8, 17
2, 6, 11, 18
...
, и я буду sh для вычисления скользящего mean, sum, min, max
для col1
и col2
, сгруппированного по id
, с окном размер 2 и 3. Я могу сделать это в al oop примерно так:
def multi_rolling(df, winsize, column):
[df.groupby("id")[column].rolling(winsize).mean(),
df.groupby("id")[column].rolling(winsize).sum(),
df.groupby("id")[column].rolling(winsize).min(),
df.groupby("id")[column].rolling(winsize).max(),
df.groupby("id")[column].rolling(winsize).count()]
Тогда мне просто нужно вызвать вышеприведенное в al oop. Но это кажется неэффективным. Есть ли способ вызвать его для всех комбинаций всех функций и всех столбцов и всех размеров окна более эффективно? Например, запустить их параллельно?