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

DF['Col3'] = DF['Col1'] / DF['Col2']


每次我在spyder3或Jupyter Notebook上执行这段代码时,我以前用来执行此代码的内核都会死掉,但是我确实没有任何问题。现在我收到错误信息


  内核死亡,重新启动


我在具有8 GB RAM的笔记本电脑上运行python 2.7和anaconda版本4.3.14 pandas版本0.19.2。其中只有1 GB在运行此代码之前已被使用,而在我运行此代码时将使用100%。

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

最佳答案

我在这里找到了解决方案:https://www.coursera.org/learn/python-data-analysis/discussions/weeks/4/threads/VrKtIe-TEeahuQ5PjaKRFg

显然,当涉及到NaN时,内核存在两个系列之间的划分问题。我按照建议用div()方法替换了“ /”运算符,从而解决了该问题。

除了执行df.col1 / df.col2,您还可以执行df.col1.div(df.col2)

http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.div.html
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.div.html

10-06 05:31
查看更多