Python数据分析之逐块读取文本
2018-02-05 11:31
483 查看
《利用Python进行数据分析》,第6章的数据加载操作read_xxx,有chunksize参数可以进行逐块加载。经测试,它的本质就是将文本分成若干块,每次处理chunksize行的数据,最终返回一个TextParser对象,对该对象进行迭代遍历,可以完成逐块统计的合并处理。文中的示例代码分析如下:
首先,例子数据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。
输出结果为:
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 '--------------' print tot
首先,例子数据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数据分析(一):NLTK库和文本处理
- Python 文本挖掘:数据存储和读取
- Python 读取TXT文本数据并存为 array
- python读取数据分析数据保存数据
- ME310之AT指令总结:发送[文本|PDU],[普通|飞信]短信,发送GPRS数据,读取短信分析
- python读取文本数据写入到数据库及查询优化
- 使用python读取文本中结构化数据
- Python数据分析--数据读取
- python读取文本数据写入到数据库及查询优化
- 利用Python做数据分析(一)--批量读取数据
- python数据分析与挖掘学习笔记(3)_小说文本数据挖掘part1
- python读取GB级的文本数据,防止memoryError
- python pickle模块使用-将内存数据保存到文本中以及从文本中直接读取信息到内存中
- python数据分析-文本相似度分析
- 【python数据挖掘课程】二十一.朴素贝叶斯分类器详解及中文文本舆情分析
- Python数据分析之读取文件
- Python数据分析之文本处理词频统计
- Python实现随机读取文本N行数据
- Python文本数据分析与处理
- Python 数据分析--读写文本格式的公式