pandas string转dataframe的方法

yipeiwu_com6年前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设计】。

相关文章

Pytorch 多块GPU的使用详解

Pytorch 多块GPU的使用详解

注:本文针对单个服务器上多块GPU的使用,不是多服务器多GPU的使用。 在一些实验中,由于Batch_size的限制或者希望提高训练速度等原因,我们需要使用多块GPU。本文针对Pytor...

Python UnicodeEncodeError: 'gbk' codec can't encode character 解决方法

使用Python写文件的时候,或者将网络数据流写入到本地文件的时候,大部分情况下会遇到:UnicodeEncodeError: 'gbk' codec can't encode char...

python 实现生成均匀分布的点

如下所示: import numpy as np print(np.linspace(-100,100,201) np.linspace(),起始位置,终止位置,中间包括0,一共要...

Pyorch之numpy与torch之间相互转换方式

numpy中的ndarray转化成pytorch中的tensor : torch.from_numpy() pytorch中的tensor转化成numpy中的ndarray : nump...

python字符串连接方法分析

本文实例分析了python字符串连接方法。分享给大家供大家参考,具体如下: python字符串连接有几种方法,把大家可能用到的列出来,第一个方法效率是最低的,另外给大家介绍后面的 2种效...