能否不依赖pyarrow包使用pandas的read_feather加载Feather文件?
解决pandas读取Feather文件时要求安装pyarrow的问题
问题原因
你遇到的情况是因为pandas从1.4.x版本开始,已经将pyarrow作为读取Feather文件的强制依赖,不管你使用的是不是默认dtype后端。官方文档可能存在更新不及时或者你查看的是旧版文档的情况,导致误解了依赖要求。之前的老版本pandas(比如1.3.x及更早)使用的是feather-format库而非pyarrow,但后续版本已经完全切换到pyarrow作为Feather格式的处理后端。
可行解决方案
方案一:安装pyarrow(推荐,如果允许的话)
直接通过包管理工具安装pyarrow:pip install pyarrow # 或者用conda conda install pyarrow -c conda-forge安装完成后即可正常使用
pd.read_feather()。方案二:降级pandas并安装feather-format(无法安装pyarrow时)
如果代码库不允许集成pyarrow,可以降级到仍使用feather-format的pandas版本,同时安装对应的依赖:pip install pandas==1.3.5 feather-format降级后就能在不依赖pyarrow的情况下读取Feather文件。
方案三:直接使用Feather官方库读取(备选)
如果你能引入feather库(而非pyarrow),也可以直接用它读取后转成pandas dataframe:import feather df = feather.read_dataframe("your_file.feather")
内容的提问来源于stack exchange,提问作者user1750101
相关产品推荐
相关产品推荐

