Pandas数据集的分块读取的实现

08-08 74阅读 0评论

所谓“分块”,顾名思义,就是将数据集分成几块进行读取,比如有105条数据,一次读取10条,读取11次才能全部读完。以下提供两种分块读取方法,两种方法各有优劣。

一、直接用分块方式读取数据集文件(更直接)

分块读取数据集文件是指用read_xxx()方法读取存储数据的文件时采用分块的方式,这里以.csv文件为例,在read_csv()中加入chunksize参数即可实现分块读取:

reader = pd.read_CSV('某招聘网站数据.csv', usecols = ['positiONId', 'companyId', 'positionName', 'skillLables'],  chunksize=10)

此时,返回的reader不是DataFrame,而是一个可迭代对象(iteration),需要注意的是,这个可迭代对象不能用下标访问。下面遍历这个对象:

for r in reader: print(r)

遍历结果如下图所示:

Pandas数据集的分块读取的实现

这种分块读取方式比较直接,但是由于一开始就定义了分块大小,后续处理起来不够灵活。因此提供了第二种读取方法。

二、先将数据集读取为可迭代对象,再分块读取(更灵活)

这种方法将数据集文件读取为时可迭代对象不定义分块,用分块的方式读取read_csv()方法返回的可迭代对象。实现第一步要在read_csv()方法中指定参数iterator为True:

reader = pd.read_csv('某招聘网站数据.csv', usecols = ['positionId', 'companyId', 'positionName'], iterator=True)

以下是用分块方式遍历reader,注意使用到的Get_chunk()方法和里面的参数,参数定义分块大小,可以灵活调节:

while True: try: print(reader.get_chunk(10)) except StopIteration: break

总结

综上所述,两种方法都能用pandas实现数据的分块读取,对于数据量较大的数据集还是比较实用的。两种方法的优劣体现在直接性和灵活性上,可以根据实际需求自行选择。

到此这篇关于Pandas数据集的分块读取的实现的文章就介绍到这了,更多相关Pandas数据集分块读取内容请搜索云初冀北以前的文章或继续浏览下面的相关文章希望大家以后多多支持云初冀北!

免责声明
本站提供的资源,都来自网络,版权争议与本站无关,所有内容及软件的文章仅限用于学习和研究目的。不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,我们不保证内容的长久可用性,通过使用本站内容随之而来的风险与本站无关,您必须在下载后的24个小时之内,从您的电脑/手机中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。侵删请致信E-mail:Goliszhou@gmail.com
$

发表评论

表情:
评论列表 (暂无评论,74人围观)

还没有评论,来说两句吧...