-
-
Notifications
You must be signed in to change notification settings - Fork 19.3k
Description
Pandas version checks
-
I have checked that this issue has not already been reported.
-
I have confirmed this bug exists on the latest version of pandas.
-
I have confirmed this bug exists on the main branch of pandas.
Reproducible Example
import pandas as pd
n = 2
s = pd.Series(range(n))
# mean: 0.5
# sum((x - mean) ** 2) = 2 * .25 = .5
# sample variance: s^2 = .5 / 1
# s = sqrt(s^2) = sqrt(0.5) = 1 / sqrt(2)
# sem = s / sqrt(n) = 1 / (sqrt(2) * sqrt(2)) = 0.5
print(s.sem()) # 0.5
print(s.rolling(n).sem()[1]) # 0.7071067811865476Issue Description
The rolling standard error of the mean (SEM) produces wrong values compared to the non-rolling version Series.sem().
Expected Behavior
For the same data and same ddof, Rolling.sem() and Series.sem() should produce identical results.
Installed Versions
INSTALLED VERSIONS
commit : 9c58220
python : 3.13.9
python-bits : 64
OS : Linux
OS-release : 6.17.7-300.fc43.x86_64
Version : #1 SMP PREEMPT_DYNAMIC Sun Nov 2 15:30:09 UTC 2025
machine : x86_64
processor :
byteorder : little
LC_ALL : None
LANG : pt_BR.UTF-8
LOCALE : pt_BR.UTF-8
pandas : 3.0.0.dev0-2729-g9c582205e5
numpy : 2.3.4
dateutil : 2.9.0.post0
pip : 25.3
Cython : 3.2.1
sphinx : 8.2.3
IPython : 9.7.0
adbc-driver-postgresql: None
adbc-driver-sqlite : None
bs4 : 4.14.2
bottleneck : 1.6.0
fastparquet : 2024.11.0
fsspec : 2025.10.0
html5lib : 1.1
hypothesis : 6.148.0
gcsfs : 2025.10.0
jinja2 : 3.1.6
lxml.etree : 6.0.2
matplotlib : 3.10.7
numba : 0.62.1
numexpr : 2.14.1
odfpy : None
openpyxl : 3.1.5
psycopg2 : 2.9.11
pymysql : 1.4.6
pyarrow : 22.0.0
pyiceberg : 0.10.0
pyreadstat : 1.3.2
pytest : 9.0.1
python-calamine : None
pytz : 2025.2
pyxlsb : 1.0.10
s3fs : 2025.10.0
scipy : 1.16.3
sqlalchemy : 2.0.44
tables : 3.10.2
tabulate : 0.9.0
xarray : 2025.10.1
xlrd : 2.0.2
xlsxwriter : 3.2.9
zstandard : 0.25.0
qtpy : None
pyqt5 : None