【发布时间】:2017-08-11 17:11:12
【问题描述】:
我有一个大小约为 94.4 MB 的 csv,它包含 143,940 行和 63 列。我只是想划分两列并在另一列中输出值。我正在执行的代码是一个非常简单的代码。
DF['Col3'] = DF['Col1'] / DF['Col2']
每次我在我的 spyder3 或 Jupyter Notebook 上执行这段代码时,内核都会死掉,我以前执行过这段代码,但我没有任何问题。现在我收到错误消息
内核死机,正在重启
我在我的笔记本电脑上运行 python 2.7 和 anaconda 4.3.14 版 pandas 0.19.2 版,它有 8 GB 的 RAM。其中在运行此代码之前仅使用了 1 GB,并且在我运行此代码时使用了 100%。
如果有什么建议请指导。谢谢你
【问题讨论】:
-
当我们不知道文件中的内容以及您如何阅读它时,我们应该如何知道该怎么做?请注意,“内核死亡”可能意味着“分段错误”,因此您需要包含某种回溯(类似 gdb),这样我们才能真正知道出了什么问题。它在 Python shell 中工作吗?它适用于其他 csv 数据吗?它适用于较旧的熊猫版本吗?您是否考虑将其发布为 pandas 问题跟踪器上的错误?看来这很可能是 pandas 中的一个错误。
-
如果您使用
pd.read_csv()读取文件,您可以尝试指定engine='python'。纯 python 实现不太可能出现段错误,如果失败,将会有完整的回溯。 -
我已经使用 pd.read_csv() 读取了文件。它在 python shell 中也不起作用。该文件包含带有日期和合同信息的支出信息的采购订单数据,因此数据是机密的。我所有其他代码都运行良好,问题仅出在我进行计算的地方。
-
我试过这个并得到错误
Error: new-line character seen in unquoted field - do you need to open the file in universal-newline mode? -
你不需要分享原始数据,只是为了重现错误。关于例外:您能否将edit 也包含在问题中?
标签: python pandas ipython spyder