pandas string轉dataframe的方法
今天業(yè)務上碰到用pandas處理一個大文件的內存不夠問題,需要做concat 合并多個文件,每個文件數據在1.4億行左右。當時第一反應是把dataframe分割成多塊小文件處理,后面發(fā)現(xiàn)即使pandas內存問題解決了,用pickle做保存數據時也會提升內存不夠的報錯,后來把dataframe對象轉化成string,發(fā)現(xiàn)內存占用減少了近一半。
所以打算用先轉成string再dump到離線文件里,官網文檔上只有to_string的說明,而從string轉dataframe卻沒有提供直接的函數。
其實很簡單,我們可以把string放到一個文件對象里,然后通過read_csv函數來創(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轉dataframe的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
Django ORM實現(xiàn)按天獲取數據去重求和例子
這篇文章主要介紹了Django ORM實現(xiàn)按天獲取數據去重求和例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-05-05

