Python中文
首页
教程
问答
标签
搜索
登录
注册
大Pandas数据帧上的外部合并导致内存错误——如何将“大数据”与Pandas合并?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有两个pandas数据帧<code>df1</code>和<code>df2</code>,格式相当标准:</p> <pre><code> one two three feature A 1 2 3 feature1 B 4 5 6 feature2 C 7 8 9 feature3 D 10 11 12 feature4 E 13 14 15 feature5 F 16 17 18 feature6 ... </code></pre> <p>和<code>df2</code>的相同格式。这些数据帧的大小约为175MB和140MB。</p> <pre><code>merged_df = pd.merge(df1, df2, on='feature', how='outer', suffixes=('','_features')) </code></pre> <p>我得到了以下纪念品:</p> <pre><code>File "/nfs/sw/python/python-3.5.1/lib/python3.5/site-packages/pandas/tools/merge.py", line 39, in merge return op.get_result() File "/nfs/sw/python/python-3.5.1/lib/python3.5/site-packages/pandas/tools/merge.py", line 217, in get_result join_index, left_indexer, right_indexer = self._get_join_info() File "/nfs/sw/python/python-3.5.1/lib/python3.5/site-packages/pandas/tools/merge.py", line 353, in _get_join_info sort=self.sort, how=self.how) File "/nfs/sw/python/python-3.5.1/lib/python3.5/site-packages/pandas/tools/merge.py", line 559, in _get_join_indexers return join_func(lkey, rkey, count, **kwargs) File "pandas/src/join.pyx", line 187, in pandas.algos.full_outer_join (pandas/algos.c:61680) File "pandas/src/join.pyx", line 196, in pandas.algos._get_result_indexer (pandas/algos.c:61978) MemoryError </code></pre> <p>合并时熊猫数据帧是否有“大小限制”?我很惊讶这不起作用。也许这是熊猫的某个版本的虫子?</p> <p>编辑:如注释中所述,合并列中的许多重复项很容易导致RAM问题。见:<a href="https://stackoverflow.com/questions/32750970/python-pandas-merge-causing-memory-overflow">Python Pandas Merge Causing Memory Overflow</a></p> <p>现在的问题是,我们如何进行合并?似乎最好的方法是以某种方式对数据帧进行分区。</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>尝试为数值列指定数据类型以减小现有数据帧的大小,例如:</p> <pre><code>df[['one','two', 'three']] = df[['one','two', 'three']].astype(np.int32) </code></pre> <p>这将显著减少内存,并有望让您执行合并。</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
我是否正确构建了这个递归神经网络
3 回答
我是否正确理解acquire和realease是如何在python库“线程化”中工作的
9 回答
我是否正确理解Keras中的批次大小?
6 回答
我是否正确理解PyTorch的加法和乘法?
7 回答
我是否正确组织了我的Django应用程序?
2 回答
我是否正确计算执行时间?如果是这样,那么并行处理将花费更长的时间。这看起来很奇怪
8 回答
我是否每次创建新项目时都必须在PyCharm中安装numpy?(安装而不是导入)
6 回答
我是否每次运行jupyter笔记本时都必须重新启动内核?
5 回答
我是否用python安装了socks模块?
5 回答
我是否真的需要知道超过一种语言,如果我想要制作网页应用程序?
1 回答
我是否缺少spaCy柠檬化中的预处理功能?
3 回答
我是否缺少给定状态下操作的检查?
3 回答
我是否能够使用函数“count()”来查找密码中大写字母的数量((Python)
2 回答
我是否能够使用用户输入作为colorama模块中的颜色?
1 回答
我是否能够创建一个能够添加新Django.contrib.auth公司没有登录到管理面板的用户?
10 回答
我是否能够将来自多个不同网站的数据合并到一个csv文件中?
9 回答
我是否能够将目录路径转换为可以输入python hdf5数据表的内容?
9 回答
我是否能够等到一个对象被销毁,直到它创建另一个对象,然后在循环中运行time.sleep()
8 回答
我是否能够通过CBV创建用户实例,而不是首先创建表单?(Django)
1 回答
我是否要使它成为递归函数?
10 回答