std()计算时,如果结果过小,被四舍五入为0
df['std'] = df['mean'].rolling(n1, min_periods=1).std(ddof=0)
其他函数暂未出现此问题
问题定位:
(一)Python3.9环境
本地问题环境pandas版本查看:
import pandas as pd
pd.show_versions()
pd.__version__
估计是版本过高造成
linux服务器计算正常环境中,查询pandas版本
anaconda prompt中尝试版本退回
pip install pandas==0.20.3
python3.9环境中安装失败
可能python版本高了不支持低版本的pandas
重新安装低版本pandas
conda install pandas=0.20.3
果然在3.9中不能安装
(二)Python3.7环境
切换回Python3.7
conda list
查看pandas版本:
import pandas
弹出:
ImportError: C extension: No module named ‘pandas._libs.tslibs.conversion’ not built. If you want to import pandas from the source directory, you may need to run ‘python setup.py build_ext --inplace --force’ to build the C extensions first.
估计是python版本升级过造成的问题
直接卸载了重装
conda uninstall pandas
conda install pandas
指定环境安装
$conda install -n Python3.7 pandas=0.25.3
问题解决