pandas string转dataframe的方法

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

相关文章

对pandas中to_dict的用法详解

简介:pandas 中的to_dict 可以对DataFrame类型的数据进行转换 可以选择六种的转换类型,分别对应于参数 ‘dict', ‘list', ‘series', ‘spli...

Python基础之文件读取的讲解

with open(filename) as fp: dataMat = [] for line in fp.readlines(): # fp.rea...

python正则实现计算器功能

本文实例为大家分享了python正则实现计算器功能的具体代码,供大家参考,具体内容如下 # -*- coding: utf-8 -*- # Author :Gogh # @Ti...

ansible动态Inventory主机清单配置遇到的坑

ansible动态Inventory主机清单配置遇到的坑

坑1 : 动态主机清单配置,需要按照ansible的要求的格式返回给ansible命令的 源代码如下: 但是在ansible-playbook中使用动态主机配置文件的时候,发生了错误!!...

PyTorch实现AlexNet示例

PyTorch实现AlexNet示例

PyTorch: https://github.com/shanglianlm0525/PyTorch-Networks import torch import torch.nn...