pandas string转dataframe的方法

yipeiwu_com7年前Python基础

今天业务上碰到用pandas处理一个大文件的内存不够问题,需要做concat 合并多个文件,每个文件数据在1.4亿行左右。当时第一反应是把dataframe分割成多块小文件处理,后面发现即使pandas内存问题解决了,用pickle做保存数据时也会提升内存不够的报错,后来把dataframe对象转化成string,发现内存占用减少了近一半。

所以打算用先转成string再dump到离线文件里,官网文档上只有to_string的说明,而从string转dataframe却没有提供直接的函数。

其实很简单,我们可以把string放到一个文件对象里,然后通过read_csv函数来创建dataframe对象。

import sys
if sys.version_info[0] < 3:
from StringIO import StringIO
else:
from io import StringIO
import pandas as pd
TESTDATA=StringIO("""col1;col2;col3
1;4.4;99
2;4.5;200
3;4.7;65
4;3.2;140
""")
df = pd.read_csv(TESTDATA, sep=";")

以上这篇pandas string转dataframe的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Django migrations 默认目录修改的方法教程

如何使用 migrations的使用非常简单: 修改model, 比如增加field, 然后运行 python manager.py makemigrations 你的mmod...

解决tensorflow1.x版本加载saver.restore目录报错的问题

这个错误是最新的错误哈,目前只在tensorflow上的github仓库上面有提出,所以你在百度上面找不到。 是个tensorflow的bug十天前提出的,只有github仓库上一个地方...

Python中scatter函数参数及用法详解

Python中scatter函数参数及用法详解

最近开始学习Python编程,遇到scatter函数,感觉里面的参数不知道什么意思于是查资料,最后总结如下: 1、scatter函数原型 2、其中散点的形状参数marker如下: 3...

在Pandas中给多层索引降级的方法

# 背景介绍 通常我们不会在Pandas中主动设置多层索引,但是如果一个字段做多个不同的聚合运算, 比如sum, max这样形成的Column Level是有层次的,这样阅读非常方便,但...

python获取时间及时间格式转换问题实例代码详解

整理总结一下python中最常用的一些时间戳和时间格式的转换 第一部分:获取当前时间和10位13位时间戳 import datetime, time '''获取当前时间''' n =...