Python内核在对Pandas进行除法时死亡

Python内核在对Pandas进行除法时死亡,python,pandas,ipython,spyder,Python,Pandas,Ipython,Spyder,我有一个csv,大小约为94.4 MB,包含143940行和63列。我只是尝试将两列分开,然后在另一列中输出值。我正在执行的代码是一个非常简单的代码 DF['Col3'] = DF['Col1'] / DF['Col2'] 每次我在spyder3或Jupyter笔记本上执行这段代码时,内核都会死掉,我以前执行过这段代码,但我没有任何问题。现在我得到了错误消息 内核死机,正在重新启动 我正在我的笔记本电脑上运行python 2.7和anaconda 4.3.14版本0.19.2,笔记本电脑有8G

我有一个csv,大小约为94.4 MB,包含143940行和63列。我只是尝试将两列分开,然后在另一列中输出值。我正在执行的代码是一个非常简单的代码

DF['Col3'] = DF['Col1'] / DF['Col2']
每次我在spyder3或Jupyter笔记本上执行这段代码时,内核都会死掉,我以前执行过这段代码,但我没有任何问题。现在我得到了错误消息

内核死机,正在重新启动

我正在我的笔记本电脑上运行python 2.7和anaconda 4.3.14版本0.19.2,笔记本电脑有8GB内存。其中只有1 GB在运行此代码之前使用,在运行此代码时使用率为100%

如果有任何建议,请指导。谢谢

我在这里找到了一个解决方案:

显然,当涉及NAN时,内核在两个系列之间存在划分问题。我解决了这个问题,按照建议用div方法替换了/操作符

您可以执行df.col1.divdf.col2,而不是执行df.col1/df.col2

我在这里找到了一个解决方案:

显然,当涉及NAN时,内核在两个系列之间存在划分问题。我解决了这个问题,按照建议用div方法替换了/操作符

您可以执行df.col1.divdf.col2,而不是执行df.col1/df.col2


当我们不知道文件中有什么内容以及您如何阅读时,我们应该如何知道该怎么做?请注意,内核死机可能意味着分段错误,所以您需要包括一些类似gdb的回溯,以便我们能够真正了解出了什么问题。它在Python shell中工作吗?它是否适用于其他csv数据?它适用于较旧的熊猫版本吗?你有没有想过在熊猫问题跟踪器上发布这个bug?看起来这很可能是pandas中的一个bug。如果您使用pd.read_csv读取文件,您可以尝试指定engine='python'。这不太可能是一个纯python实现,如果它失败,将有一个完整的回溯。它在pythonshell中也不起作用。该文件包含带有日期和合同信息的支出信息的采购订单数据,因此该数据是保密的。我的所有其他代码都工作正常问题只是在我进行计算的地方。我尝试了一下,得到了错误:在无引号的字段中看到了新行字符-您需要以通用换行模式打开文件吗?您不需要共享原始数据,只需复制错误即可。关于例外情况:你能把它也包括在问题中吗?当我们不知道文件中有什么以及你是如何阅读的时候,我们该如何知道该怎么做?请注意,内核死机可能意味着分段错误,所以您需要包括一些类似gdb的回溯,以便我们能够真正了解出了什么问题。它在Python shell中工作吗?它是否适用于其他csv数据?它适用于较旧的熊猫版本吗?你有没有想过在熊猫问题跟踪器上发布这个bug?看起来这很可能是pandas中的一个bug。如果您使用pd.read_csv读取文件,您可以尝试指定engine='python'。这不太可能是一个纯python实现,如果它失败,将有一个完整的回溯。它在pythonshell中也不起作用。该文件包含带有日期和合同信息的支出信息的采购订单数据,因此该数据是保密的。我的所有其他代码都工作正常问题只是在我进行计算的地方。我尝试了一下,得到了错误:在无引号的字段中看到了新行字符-您需要以通用换行模式打开文件吗?您不需要共享原始数据,只需复制错误即可。关于例外情况:您是否也可以将其包括在问题中?当前链接已断开或未注册者无法访问。你能把div的方法贴在这里吗?是的,对不起,我以为可以从外面找到它。您可以执行df.col1.divdf.col2,而不是执行df.col1/df.col2。我刚刚编辑了我的答案。希望有帮助!谢谢我也一直在使用df.col1.dividedf.col2不客气!显然,这两种方法的作用是相同的:当前链接已断开或未注册的用户无法访问。你能把div的方法贴在这里吗?是的,对不起,我以为可以从外面找到它。您可以执行df.col1.divdf.col2,而不是执行df.col1/df.col2。我刚刚编辑了我的答案。希望有帮助!谢谢我也一直在使用df.col1.dividedf.col2不客气!显然,这两种方法的作用相同: