Python 數(shù)據分析之逐塊讀取文本的實現(xiàn)
背景
《利用Python進行數(shù)據分析》,第 6 章的數(shù)據加載操作 read_xxx
,有 chunksize
參數(shù)可以進行逐塊加載。
經測試,它的本質就是將文本分成若干塊,每次處理 chunksize
行的數(shù)據,最終返回一個TextParser
對象,對該對象進行迭代遍歷,可以完成逐塊統(tǒng)計的合并處理。
示例代碼
文中的示例代碼分析如下:
from pandas import DataFrame,Series import pandas as pd path='D:/AStudy2018/pydata-book-2nd-edition/examples/ex6.csv' # chunksize return TextParser chunker=pd.read_csv(path,chunksize=1000) # an array of Series tot=Series([]) chunkercount=0 for 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 column print 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 count tot=tot.add(piece['key'].value_counts(),fill_value=0) chunkercount+=1 #last order the series tot=tot.order(ascending=False) print chunkercount print '--------------'
流程分析
首先,例子數(shù)據 ex6.csv 文件總共有 10000 行數(shù)據,使用 chunksize=1000
后,read_csv
操作返回一個 TextParser
對象,該對象總共有10個元素,遍歷過程中打印 chunkercount
驗證得到。
其次,每個 piece
對象是一個 DataFrame
對象,piece['key']
得到的是一個 Series
對象,默認是數(shù)值索引,值為 csv 文件中的 key 列的值,即各個字符串。
將每個 Series 的 value_counts
作為一個Series,與上一次統(tǒng)計的 tot
結果進行 add
操作,最終得到所有塊數(shù)據中各個 key 的累加值。
最后,對 tot 進行 order 排序,按降序得到各個 key 的值在 csv 文件中出現(xiàn)的總次數(shù)。
這里很巧妙了使用 Series 對象的 add 操作,對兩個 Series 執(zhí)行 add 操作,即合并相同key:key相同的記錄的值累加,key不存在的記錄設置填充值為0。
輸出結果為:
到此這篇關于Python 數(shù)據分析之逐塊讀取文本的實現(xiàn)的文章就介紹到這了,更多相關Python 逐塊讀取文本內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- Python編寫可視化界面的全過程(Python+PyCharm+PyQt)
- Python實現(xiàn)K-means聚類算法并可視化生成動圖步驟詳解
- python數(shù)據分析之員工個人信息可視化
- python爬取各省降水量及可視化詳解
- 關于Python可視化Dash工具之plotly基本圖形示例詳解
- python用pyecharts實現(xiàn)地圖數(shù)據可視化
- Python繪制K線圖之可視化神器pyecharts的使用
- Python繪制詞云圖之可視化神器pyecharts的方法
- python 可視化庫PyG2Plot的使用
- Python數(shù)據分析之彩票的歷史數(shù)據
- Python數(shù)據分析庫pandas高級接口dt的使用詳解
- Python Pandas數(shù)據分析工具用法實例
- 用Python 爬取貓眼電影數(shù)據分析《無名之輩》
- 大數(shù)據分析用java還是Python
- python 數(shù)據分析實現(xiàn)長寬格式的轉換
- PyCharm設置Ipython交互環(huán)境和宏快捷鍵進行數(shù)據分析圖文詳解
- Python實戰(zhàn)之疫苗研發(fā)情況可視化
相關文章
Python如何使用argparse模塊處理命令行參數(shù)
這篇文章主要介紹了Python如何使用argparse模塊處理命令行參數(shù),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-12-12python SQLAlchemy的Mapping與Declarative詳解
這篇文章主要介紹了python SQLAlchemy的Mapping與Declarative詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-07-07Python使用gTTS庫實現(xiàn)文本轉換為語音的詳細步驟
文本轉換為語音(Text-to-Speech,簡稱TTS)技術是人工智能的重要組成部分,廣泛應用于智能助手、導航系統(tǒng)、讀屏軟件和智能家居等領域,TTS技術使得機器能夠將書面文字轉換為自然流暢的語音,本文將介紹如何使用Python的gTTS庫實現(xiàn)簡單的TTS功能,需要的朋友可以參考下2024-07-07