我有一个有300万条记录的pandas dataframe,但无法将大型dataframe写入.xpt文件。尽管相同的脚本适用于具有200万条记录的其他 Dataframe ,但不需要修改任何内容。
在写的时候,我正在使用df.from_dataframe()
函数,在写xpt文件的时候,几分钟后,我突然在控制台上收到“KILLED”消息。
- 系统- RHEL Linux
- Python - 3.7
- Pandas版本-1.2
- 在编写时使用带有.v56子包的导出模块。
需要以下方面的指导
- 这是内存泄漏的情况吗
- Dataframe 中有任何错误数据的可能性
调试单个内置函数的正确方法是什么?
不确定以.xpt格式将pandas dataframe写入sas数据集的功能。
1条答案
按热度按时间axr492tv1#
在
xport
的GitHub页面上报告了一个related error,并在xport
的一个版本中得到了解决,不幸的是,该版本与pandas==1.2.4
不兼容我用
pandas==1.2.4
和xport==3.2.1
(与此pandas版本兼容的最高版本的xport)运行了下面的代码,它给了我以下错误:NotImplementedError: Can't copy SAS variable metadata to dataframe
一旦升级到
pandas==1.3.5
和xport==3.6.1
,代码就像一个魅力。好消息是pandas==1.3.5
根据其official doc仍然可以在Python 3.7.1
及更高版本上工作代码(来自
xport
文档的示例代码,带有一些修改):打印: