Сообщение об ошибке при использовании: groupby (''). Transform (pd.rolling_sum, window = 30) - PullRequest
1 голос
/ 06 февраля 2020

с чего бы это:

df2['rollsum'] = df2.groupby('ID')['yes'].transform(pd.rolling_sum, window=30, min_periods=1)

Сгенерировать ошибку: «AttributeError: module 'pandas' не имеет атрибута Rolling_sum '» ?? Кроме того, я попытался

df2['rollsum'] = df2.groupby('ID')['yes'].rolling(30).mean()

, который дает мне эту ошибку: «Ошибка типа: несовместимый индекс вставленного столбца с индексом кадра»

Что я здесь не так делаю?

1 Ответ

1 голос
/ 06 февраля 2020

Я думаю, pd.rolling_sum устарел, что вы можете сделать:

df2['rollsum'] = df2.groupby('ID')['yes'].transform(lambda x: x.rolling(30).sum())

или

df2['rollsum'] = df2.groupby('ID')['yes'].rolling(30).sum().reset_index(level=0, drop=True)

reset_index позволит выравнивание индекса при назначении столбца

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