python – pandas数据框 – 选择行和清除内存?
我有一个大型的pandas数据帧(大小= 3 GB):
因为我在内存限制下工作,所以我对数据帧进行了子集化:
计算行和列的函数并不重要,但它们绝对是原始行和列的较小子集.但是,当我执行此操作时,内存使用量会增加很多!最初的目标是将内存占用减少到3GB以下,但内存使用量远远超过6GB. 我猜这是因为Python在内存中创建了数据帧的本地副本,但是没有清理它.可能还有其他事情正在发生……所以我的问题是如何对大型数据框进行子集化并清理空间?我找不到一个选择行/列的函数. 我已经阅读了很多Stack Overflow,但在这个主题上找不到多少.可能是我没有使用正确的关键字,所以如果你有建议,这也可能有所帮助.谢谢! 解决方法做这样的事情要好得多:指定usecols以在第一个位置为read_csv选择所需的列,请参阅here. 然后以块的形式读取文件,参见here,如果选择了所需的行,将它们分流到关闭状态,最后连接结果. 伪码ish: reader = pd.read_csv('big_table.txt',sep='t',index_col=0,usecols=the_columns_i_want_to_use,chunksize=10000) df = pd.concat([ chunk.ix[rows_that_I_want_] for chunk in reader ]) 这将具有恒定的内存使用量(块的大小) 加上选定的行用法x 2,这将在您连接行时发生在concat之后,使用情况将下降到选定的行使用情况 (编辑:百色站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- python – 使用scikit-learn(sklearn),如何处理线性回归的缺
- python – django:django-tables2 DetailView CBV不会显示
- python – 类,dict,self,init,args?
- python – Django:使用对象作为字典键是否合理?
- python – 如何在DataFrame中增加groupby中的行数
- Python Lambdas和变量绑定
- Pythonic计算pandas数据帧条纹的方法
- 使用Python全局变量的动态类的最佳方法()
- 将电子表格的列存储在Python字典中
- 默认情况下,如何配置mercurial hg不保留备份?
- 举例详解Python中的split()函数的使用方法
- python – Opencv Homography矩阵H和Inverse H转
- python – ElementTree find()/ findall()找不到
- Django迁移是否应该在源代码控制中生效?
- python – 从命令行运行PyCharm项目
- python – 如何克服 – 在windows上使用文件名或
- python中的Doc,rtf和txt阅读器
- python – 如何覆盖BaseHTTPRequestHandler log_
- python – 如何在我的课堂上赋予字符串?
- Python:ndarray.flatten(‘F’)有否相反?