Pandas DataFrame: разница между функцией прокрутки и расширением - PullRequest
0 голосов
/ 08 ноября 2018

Может ли кто-нибудь помочь мне понять разницу между функцией скручивания и расширения из примера, приведенного в документации для панд.

df = DataFrame({'B': [0, 1, 2, np.nan, 4]})
df
     B
0  0.0
1  1.0
2  2.0
3  NaN
4  4.0


df.expanding(2).sum()
     B
0  NaN  # 0 + NaN
1  1.0  # 1 + 0
2  3.0  # 2 + 1
3  3.0  # ??
4  7.0  # ?? 

df.rolling(2).sum()
     B
0  NaN  # 0 + NaN
1  1.0  # 1 + 0
2  3.0  # 2 + 1
3  NaN  # NaN + 2
4  NaN  # 4 + NaN

Я даю комментарий к каждой строке, чтобы показать мое понимание расчетов. Это правда для rolling функции? А как насчет expanding? Откуда 3 и 7 в 3-м и 4-м рядах?

1 Ответ

0 голосов
/ 08 ноября 2018

2 в expanding это min_periods, а не window

df.expanding(min_periods=1).sum()
Out[117]: 
     B
0  0.0
1  1.0
2  3.0
3  3.0
4  7.0

Если вы хотите, чтобы тот же результат с rolling window был бы равен длине фрейма данных

df.rolling(window=len(df),min_periods=1).sum()
Out[116]: 
     B
0  0.0
1  1.0
2  3.0
3  3.0
4  7.0
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...