Python中文
首页
教程
问答
标签
搜索
登录
注册
带有python/pandas和大型左外部连接的MemoryError
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我对Python和Pandas都是相当陌生的,我试图找出在大约1100万行的left数据集和大约160K行4列的right数据集之间执行庞大的left-outer连接的最快方法。这应该是一个多对一的情况,但我希望join不要在右侧出现重复行时抛出错误。我在Windows7的64位系统上使用了Canopy Express,内存为8GB,我很难接受这一点。在</p> <p>以下是我迄今为止整理的代码模型:</p> <pre><code>import pandas as pd leftcols = ['a','b','c','d','e','key'] leftdata = pd.read_csv("LEFT.csv", names=leftcols) rightcols = ['x','y','z','key'] rightdata = pd.read_csv("RIGHT.csv", names=rightcols) mergedata = pd.merge(leftdata, rightdata, on='key', how='left') mergedata.to_csv("FINAL.csv") </code></pre> <p>这适用于小文件,但在我的系统上会产生内存错误,文件大小比实际需要合并的文件大小小两个数量级。在</p> <p>我已经浏览了相关的问题(<a href="https://stackoverflow.com/questions/17199200/memoryerror-on-large-merges-with-pandas-in-python">one</a>,<a href="https://stackoverflow.com/questions/25447180/pandas-join-memoryerror">two</a>,<a href="https://stackoverflow.com/questions/23956390/python-pandas-memoryerror">three</a>),但是没有一个答案真正触及到这个基本问题,或者说如果它们真的找到了,它的解释也不够好,我无法识别潜在的解决方案。而公认的答案也无济于事。我已经在一个64位系统上使用了最新的稳定版本的Canopy(1.5.5 64位,使用python2.7.10)。在</p> <p>什么是最快和/或最Python式的方法来避免这个记忆错误的问题?在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>为什么不直接将您的右文件读入pandas(或者甚至读入一个简单的字典),然后使用<code>csv</code>模块遍历左文件来读取、扩展和写入每一行呢?处理时间是否是一个重要的限制因素(相对于开发时间)?在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
如何将Python中的列表复制到给定的目标中?
3 回答
如何将python中的列表插入SQL表
9 回答
如何将python中的列表转换为numpy数组以放入十位
3 回答
如何将python中的列表输入javascript?
2 回答
如何将python中的列表返回给dag?
5 回答
如何将Python中的列表项重新排列成成对的元组/列表?
7 回答
如何将Python中的初始化对象序列化为XML?
1 回答
如何将python中的十进制字符串转换为数字?
7 回答
如何将Python中的原始输入文本转换为Tkinter中的标签?
6 回答
如何将python中的反斜杠命令转换为在Linux上运行
8 回答
如何将python中的命令行参数转换为字典?
6 回答
如何将python中的图像值传递到kivy中的kv文件?
8 回答
如何将Python中的图像数组(枕头对象)上传到Google云
8 回答
如何将Python中的图像编码为Base64?
9 回答
如何将python中的图像调整为灰度低分辨率,如MNIST时尚数据?
9 回答
如何将python中的多个html输出保存到单个文件(或多个)中?
4 回答
如何将Python中的多个ifelse语句重构为一个函数?
7 回答
如何将Python中的多处理与Django结合使用,从xml文件创建数千个模型实例?
7 回答
如何将python中的多级API响应转换为dataframe
10 回答
如何将python中的多线程编程模型转换为异步/等待模型?
2 回答