pandas string轉(zhuǎn)dataframe的方法
今天業(yè)務(wù)上碰到用pandas處理一個大文件的內(nèi)存不夠問題,需要做concat 合并多個文件,每個文件數(shù)據(jù)在1.4億行左右。當(dāng)時第一反應(yīng)是把dataframe分割成多塊小文件處理,后面發(fā)現(xiàn)即使pandas內(nèi)存問題解決了,用pickle做保存數(shù)據(jù)時也會提升內(nèi)存不夠的報錯,后來把dataframe對象轉(zhuǎn)化成string,發(fā)現(xiàn)內(nèi)存占用減少了近一半。
所以打算用先轉(zhuǎn)成string再dump到離線文件里,官網(wǎng)文檔上只有to_string的說明,而從string轉(zhuǎn)dataframe卻沒有提供直接的函數(shù)。
其實很簡單,我們可以把string放到一個文件對象里,然后通過read_csv函數(shù)來創(chuàng)建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轉(zhuǎn)dataframe的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于Python制作一個端午節(jié)相關(guān)的小游戲
python獲取當(dāng)前用戶的主目錄路徑方法(推薦)
Python利用Bokeh進行數(shù)據(jù)可視化的教程分享
Django ORM實現(xiàn)按天獲取數(shù)據(jù)去重求和例子
python中實現(xiàn)字符串翻轉(zhuǎn)的方法

