Azure ML Notebook加载rpy2.ipython时遇pandas Float64Dtype属性错误求助
问题解决:AttributeError: module 'pandas' has no attribute 'Float64Dtype'
问题原因
你使用的rpy2 3.5.4依赖pandas的Float64Dtype类型,但当前安装的pandas 1.1.5并不包含这个属性——Float64Dtype是pandas 1.2.0及以上版本才新增的扩展类型,版本不兼容导致加载rpy2扩展时触发报错。
解决方案
方案1:升级pandas到兼容版本
执行以下命令升级pandas至1.2.0及以上版本,匹配rpy2 3.5.4的要求:
pip install pandas>=1.2.0 --upgrade
如果Azure ML Notebook使用conda环境,改用conda命令:
conda install pandas>=1.2.0
方案2:降级rpy2至适配pandas 1.1.5的版本
选择不依赖Float64Dtype的rpy2版本,比如3.4.5,执行:
pip install rpy2==3.4.5 --force-reinstall
方案3:临时兼容绕过(不推荐)
如果暂时无法调整版本,可以在加载rpy2扩展前手动添加兼容映射,仅作临时应急:
import pandas as pd # 手动添加兼容的Float64Dtype,避免rpy2报错 if not hasattr(pd, 'Float64Dtype'): class MockFloat64Dtype: @staticmethod def __eq__(other): return other == 'float64' pd.Float64Dtype = MockFloat64Dtype %load_ext rpy2.ipython print("ankit")
注意:此方法仅解决加载报错,后续Python与R的数据转换可能仍出现兼容性问题,优先推荐前两种版本调整方案。
内容的提问来源于stack exchange,提问作者ankit
相关产品推荐
相关产品推荐

