首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用pandas读取大型csv文件,并指定内存错误的数据类型?

使用pandas读取大型csv文件,并指定内存错误的数据类型?
EN

Stack Overflow用户
提问于 2017-11-14 21:31:27
回答 1查看 560关注 0票数 0

我正在尝试从Kaggle中读取expedia数据,它包含一个4 4GB的csv文件,我尝试使用pd.read_csv('filename')读取它,但得到了内存错误。第二种方法,我尝试只使用下面的代码读取特定的列:

pd.read_csv('train.csv', dtype={'date_time':np.str, user_location_country': np.int32, 'user_location_region':np.int32, 'user_location_city':np.int32, 'orig_destination_distance':np.float64, 'user_id':np.int32})

这再次给出了内存错误,但使用了相同方法的另一个修改,即:

train = pd.read_csv('train.csv', dtype={'user_id':np.int32,'is_booking':bool, 'srch_destination_id':np.int32, 'hotel_cluster':np.int32}, usecols=['date_time', 'user_id', 'srch_ci', 'srch_co', 'srch_destination_id', 'is_booking', 'hotel_cluster'])'

在大约5分钟内读取数据。

我的问题是,我想使用这两种方法读取更多的列,但都失败了,并给出了Memory error。我使用8 8GB的RAM和8 8GB的交换空间,所以只读取24列数据中的7-8列将减少大约800MB的数据大小,所以在硬件使用上没有问题。我还试着根据后面要读的算法,一块块地读我不想读的内容。

EN

回答 1

Stack Overflow用户

发布于 2017-11-14 21:56:38

不幸的是,读取csv文件需要比它在磁盘上的大小更多的内存(我不知道多多少)。

您可以找到另一种方法来处理您的文件here

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47287135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档