pandas string轉(zhuǎn)dataframe的方法
今天業(yè)務上碰到用pandas處理一個大文件的內(nèi)存不夠問題,需要做concat 合并多個文件,每個文件數(shù)據(jù)在1.4億行左右。當時第一反應是把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)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Python實現(xiàn)的三層BP神經(jīng)網(wǎng)絡算法示例
這篇文章主要介紹了Python實現(xiàn)的三層BP神經(jīng)網(wǎng)絡算法,結(jié)合完整實例形式分析了Python三層BP神經(jīng)網(wǎng)絡算法的具體實現(xiàn)與使用相關操作技巧,需要的朋友可以參考下2018-02-02Python-torch?之torch.clamp()?函數(shù)解析
torch.clamp()函數(shù)用于對輸入張量進行截斷操作,將張量中的每個元素限制在指定的范圍內(nèi),這篇文章主要介紹了Python torch之torch.clamp()函數(shù),需要的朋友可以參考下2023-05-05