久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術文章
文章詳情頁

Python 數據分析之逐塊讀取文本的實現

瀏覽:4日期:2022-07-02 11:00:12
背景

《利用Python進行數據分析》,第 6 章的數據加載操作 read_xxx,有 chunksize 參數可以進行逐塊加載。

經測試,它的本質就是將文本分成若干塊,每次處理 chunksize 行的數據,最終返回一個TextParser 對象,對該對象進行迭代遍歷,可以完成逐塊統計的合并處理。

示例代碼

文中的示例代碼分析如下:

from pandas import DataFrame,Seriesimport pandas as pd path=’D:/AStudy2018/pydata-book-2nd-edition/examples/ex6.csv’# chunksize return TextParserchunker=pd.read_csv(path,chunksize=1000) # an array of Seriestot=Series([])chunkercount=0for piece in chunker:print ’------------piece[key] value_counts start-----------’#piece is a DataFrame,lenth is chunksize=1000,and piece[key] is a Series ,key is int ,value is the key columnprint piece[’key’].value_counts()print ’------------piece[key] value_counts end-------------’#piece[key] value_counts is a Series ,key is the key column, and value is the key counttot=tot.add(piece[’key’].value_counts(),fill_value=0)chunkercount+=1 #last order the seriestot=tot.order(ascending=False)print chunkercountprint ’--------------’流程分析

首先,例子數據 ex6.csv 文件總共有 10000 行數據,使用 chunksize=1000 后,read_csv操作返回一個 TextParser 對象,該對象總共有10個元素,遍歷過程中打印 chunkercount驗證得到。

其次,每個 piece 對象是一個 DataFrame 對象,piece[’key’] 得到的是一個 Series 對象,默認是數值索引,值為 csv 文件中的 key 列的值,即各個字符串。

將每個 Series 的 value_counts 作為一個Series,與上一次統計的 tot 結果進行 add 操作,最終得到所有塊數據中各個 key 的累加值。

最后,對 tot 進行 order 排序,按降序得到各個 key 的值在 csv 文件中出現的總次數。

這里很巧妙了使用 Series 對象的 add 操作,對兩個 Series 執行 add 操作,即合并相同key:key相同的記錄的值累加,key不存在的記錄設置填充值為0

輸出結果為:

Python 數據分析之逐塊讀取文本的實現

到此這篇關于Python 數據分析之逐塊讀取文本的實現的文章就介紹到這了,更多相關Python 逐塊讀取文本內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 老河口市| 哈巴河县| 海盐县| 峨山| 蒙阴县| 南澳县| 浦县| 西畴县| 星子县| 乌兰察布市| 都昌县| 区。| 全州县| 本溪市| 始兴县| 祥云县| 西乌珠穆沁旗| 类乌齐县| 达拉特旗| 政和县| 师宗县| 宁强县| 梨树县| 满洲里市| 邹平县| 滕州市| 上犹县| 台前县| 拜泉县| 肇源县| 彰化市| 田阳县| 禹州市| 南靖县| 嵊州市| 额敏县| 上蔡县| 大同市| 遂溪县| 藁城市| 神农架林区|