1

我正在使用带有 Python 2.7.10 和 Anaconda 2.4.0(64 位)的 Jupyter notebook 版本 4.0.6 运行 Windows 10

我正在关注https://jakevdp.github.io/blog/2015/08/14/out-of-core-dataframes-in-python/上的博客/教程:

from dask import dataframe as dd
columns = ["name", "amenity", "Longitude", "Latitude"]
data = dd.read_csv("POIWorld.csv", usecols=columns)
with_name = data[data.name.notnull()]
with_amenity = data[data.amenity.notnull()]
is_starbucks = with_name.name.str.contains('[Ss]tarbucks')
is_dunkin = with_name.name.str.contains('[Dd]unkin')
starbucks = with_name[is_starbucks]
dunkin = with_name[is_dunkin]
dd.compute(starbucks.name.count(), dunkin.name.count())

最后一条语句导致在运行 Jupyter 的命令提示符会话中出现错误,如下所示:

致命的 Python 错误:GC 对象已被跟踪

阅读类似的问题,这可能是 dask 处理 Python 处理内存的源代码中的一个问题,我希望我只是遗漏了一些东西。

我在本教程中遇到了 headers 和 dask 的先前问题,必须运行:

pip install git+https://github.com/blaze/dask.git --upgrade

没有帮助的类似问题:

致命的 Python 错误:GC 对象已被跟踪

调试 Python 致命错误:已跟踪 GC 对象

4

1 回答 1

2

某些版本的 Pandas 不能很好地处理多线程,尤其是对于pandas.read_csv. 这些在最新版本的 Pandas 中已修复,因此此问题可能可以通过以下方法之一解决:

conda install pandas

pip install pandas --upgrade
于 2016-06-09T14:50:48.620 回答