我使用Jupyter笔记本版本4.0.6运行Windows 10,使用Python 2.7.10和Anaconda 2.4.0(64位)
我正在关注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对象
阅读类似的问题可能是处理Python处理内存的dask源代码中的一个可能问题,我希望我只是遗漏了一些东西。
我在本教程中遇到过header和dask的先前问题,并且必须运行:
pip install git+https://github.com/blaze/dask.git --upgrade
类似的问题没有帮助:
答案 0 :(得分:2)
某些版本的Pandas不能很好地处理多个线程,尤其是pandas.read_csv
。这些已在最近版本的Pandas中修复,因此可以通过以下方法解决此问题:
conda install pandas
pip install pandas --upgrade