Pandas Concat 遇到内存错误

2023-12-26

我正在尝试预处理数据以进行进一步分析。首先,我从 csv 文件 ( x ) 中读取数据。

然后我把它分成三个部分。最后我需要使用转换一个数组get_dummies, concat and sum的结果groupby.

import pandas as pd

RawData_v2_clear=pd.read_csv('C:\\Users\\User\\Documents\\top200users_filtered.csv', 
        sep=';', usecols = ['Username', 'Code', 'Object'], error_bad_lines=False, 
        encoding='latin-1')

dfU = RawData_v2_clear['Username']              
dfT = RawData_v2_clear['Code']   
dfO = RawData_v2_clear['Object'] 

del RawData_v2_clear, dfO                               (to free up some memory)

df_newT = pd.concat([dfU,pd.get_dummies(dfT)],axis=1)

df_new_gbyT = df_newT.groupby('Username').sum()

Raw_Data_V2_clear具有形状(约 1100 万行 x 3 列)。

Error:
  File "c:\Users\User\Desktop\Faulty_Skript.py", line XXX, in <module>
    df_newT = pd.concat([dfU,pd.get_dummies(dfT)],axis=1).sum()
  File "C:\Users\User\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\reshape\reshape.py", line 866, in get_dummies
    dtype=dtype)
  File "C:\Users\User\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\reshape\reshape.py", line 963, in _get_dummies_1d
    dummy_mat = np.eye(number_of_cols, dtype=dtype).take(codes, axis=0)
MemoryError

在另一个系统上,此操作需要一些时间,但没有完成Memory Error。也许有人有解决这个内存问题的好主意?也许追加比连接更内存友好?然而,我的附加实现在我当前的系统上也失败了。

非常感谢!


IIUC,尝试一下dtype='category' https://pandas.pydata.org/pandas-docs/stable/user_guide/categorical.html参数输入read_csv方法和pandas.crosstab https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.crosstab.html反而:

import pandas as pd

RawData_v2_clear=pd.read_csv('C:\\Users\\User\\Documents\\top200users_filtered.csv', 
        sep=';', usecols = ['Username', 'Code', 'Object'], error_bad_lines=False, 
        encoding='latin-1', dtype='category')

df_new_gbyT = pd.crosstab(RawData_v2_clear.Username, RawData_v2_clear.Code)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pandas Concat 遇到内存错误 的相关文章

随机推荐

  • Postgres 中的运算符 ~<~

    Originally part of this question https stackoverflow com questions 35629454 order by with diacritic in postgres but it w
  • 理解DoFactory设计模式的UML——装饰器

    我试图理解下面链接中描述装饰器模式的 UML 图 http www dofactory com Patterns PatternDecorator aspx http www dofactory com Patterns PatternDe
  • 在根文件夹下获取 javascript 时出现 403 禁止错误

    我的根文件夹下有 javascripts 文件夹 到目前为止一切正常 突然 脚本文件夹下的所有 javascript 开始出现以下错误 我今天所做的唯一更改是 在网站根目录下部署了一些文件 这些文件是asp文件 我根本没有将任何文件部署到脚
  • Laravel 5. 使用 USING 运算符

    我尝试了很长时间才找到它 我不敢相信Laravel没有这个功能 所以 我可以写 select from a join b where a id b id 或者更漂亮 select from a join b using id 第一种情况对于
  • Pandas 与带有 WHERE 子句的 JOIN 类似

    我正在 python 的 pandas 中连接两个数据框 A 和 B 目标是接收来自 B 的所有纯行 sql 模拟 在 A client id B client id 上右连接 B 其中 A client id 为 null 在 panda
  • 如何使用 runhaskell 增加堆栈大小?

    我正在编写一些一次性 Haskell 脚本来解决一些问题欧拉计划 http projecteuler net问题 我真的不想编译它们 因为我经常需要进行大量的更改 但在某些情况下 我发现堆栈空间不足 的文档runhaskell表示以下语法应
  • MySQL 5.6 中的全局查询超时

    我需要在我的应用程序中在全局级别应用查询超时 查询 SET SESSION max execution time 1MySQL 5 7 就是这样做的 我使用的是MySQL 5 6 目前无法升级 任何使用 SQL Alchemy 的解决方案也
  • jSpinner时间选择器模型编辑

    我有 jSpinner 用于时间选择 问题一 用户可以编辑小时分钟和秒分隔符 并可以写入额外的数字 例如 123 问题2 模型始终获取当前时间 我想要 00 00 00 当我在代码中编写此内容而不是 hh mm ss 时 用户无法编辑这些值
  • Hibernate 4 -> 5 迁移:NamingStrategy 更改,找不到表

    我想做的事 我正在尝试从 WildFly 8 2 0 迁移到 WildFly 10 0 0 这意味着我已经 并且想要 从 Hibernate 4 3 迁移到 Hibernate 5 0 Setup Java 8u40 Spring 4 1
  • WPF ListView 关闭选择

    是否可以关闭WPF的选择ListView 那么当用户单击行时 该行不会突出显示 source konim5am at artax karlin mff cuni cz https artax karlin mff cuni cz 7Ekon
  • .NET:可执行文件应该进行强名称签名吗?私有 DLL 怎么样?

    我的应用程序由三个程序集组成 一个引用几个 DLL 的 EXE 这些 DLL 是我的应用程序私有的 它们仅由该可执行文件使用 应该给这些程序集起一个响亮的名字吗 FxCop 建议他们应该 对于目前生产的所有组件 CA2210 使用强名称密钥
  • Visual Studio 2015 OpenMP 支持

    我在 Visual Studio 2015 中获取 OpenMP 支持时遇到问题 我已经将项目选项配置为使用 openmp 项目 gt 属性 gt C C gt 语言 gt OpenMP支持 是 代码如下 非常简单的代码 用于测试OpenM
  • 仅打印字符串中的第一个字段

    我有一个约会12 12 2013 14 32我想将其转换为仅12 12 2013 该字符串可以是1 1 2013 12 32 or 1 10 2013 23 41我只需要日期部分 您可以使用各种 Unix 工具轻松完成此操作 cut d f
  • 将 ul 嵌套在 ol 中

    我试图创建一个有序列表 其中包含两个项目 每个列表下包含三个项目 其中有项目符号点 我的代码未通过验证 因为它表示在此上下文中不允许元素 ul 作为元素 ol 的子元素 但我到处都看到它说这没问题 这是我的代码 ol li First nu
  • 链接器输入文件未使用,因为链接未完成 - gcc

    我是编写 makefile 的初学者 我有一个类似这样的 makefile PATH1 ref CC gcc LINK gcc INCLUDES INCLUDES I PATH1 inc I PATH1 abc inc I PATH1 de
  • Modernizr 如何做边框半径

    你能帮我解释一下吗Modernizr 如果我使用某个功能 例如 border radius 我使用旧版浏览器运行它 现代化者是否会自动将 css 添加到页面 或者我应该编写代码来呈现控件以使其看起来像有边框一样 如果第二种情况属实 那么我为
  • 如何验证历史数据?

    目前 我们正在使用日历实例读取日期 以便使用 SparkSQL 选取最后一个月的记录 现在我们需要 如果在前一天添加额外的事件 我们还必须能够手动插入摘要开始和结束日期 以防我们需要手动重新运行之前时间段的作业 例如 手动重新运行表可能如下
  • HTML5 和 RDFa 支持

    我即将向现有的 HTML5 Web 应用程序引入开放图谱协议 并且我希望包含必要的 RDFa 数据 而不引入任何不必要的杂项 我看过HTML RDFa 1 1 http www w3 org TR rdfa in html 草稿并与Face
  • CSS 中内嵌的 SVG 图像

    这是一个基本的 SVG 图像悬停动画 有没有一种编码方法可以避免编写 SVG 代码两次 body background color 181818 a webkit transition all 3s ease moz transition
  • Pandas Concat 遇到内存错误

    我正在尝试预处理数据以进行进一步分析 首先 我从 csv 文件 x 中读取数据 然后我把它分成三个部分 最后我需要使用转换一个数组get dummies concat and sum的结果groupby import pandas as p