Python 数据分析三剑客之 Pandas(十):数据读写

Python 数据分析三剑客之 Pandas(十):数据读写

💡 原文中文,约11300字,阅读约需27分钟。
📝

内容提要

本文介绍了Pandas库中数据读写的基本方法,重点讲解了读取和写入CSV、Excel等格式的数据的常用函数,如read_csv和to_csv及其参数设置,帮助用户灵活处理数据。

🔎

延伸解读

读取数据时的列标签与索引控制

使用 read_csv 读取无表头文件时,默认将首行作为列标签,可能导致数据错位。通过 header=None 可让 Pandas 自动分配数字列标签,或使用 names 参数自定义列名。index_col 参数能将指定列设为行索引,传入列表还可创建多层索引,便于后续按索引筛选和聚合。

处理缺失值与不规则分隔符

read_csv 默认将空字符串和 NA 识别为缺失值,但实际数据中可能用特定字符串表示缺失。na_values 参数可传入列表或字典,将指定值转换为 NaN。对于分隔符不固定的文本,read_table 的 sep 参数支持正则表达式,如 '\s+' 可匹配任意空白字符,灵活解析非标准格式。

大文件读取与分块处理

当文件较大时,一次性读取可能占用过多内存。nrows 参数可限制读取行数,用于快速预览。chunksize 参数返回一个迭代器,支持逐块读取和处理数据,例如对每块进行聚合后再合并结果,从而高效完成统计分析,避免内存溢出。

写入 CSV 时的常用参数

to_csv 可将 DataFrame 写入 CSV 文件,sep 参数可指定分隔符,na_rep 能将缺失值替换为指定字符串。通过 index=False 和 header=False 可禁用行标签与列标签。columns 参数能选择写入的列并调整顺序,header 参数可传入列表重设列名,满足不同输出需求。

❓

Q&A

Pandas中如何读取CSV文件?

可以使用read_csv函数从文件、URL或文件对象中加载CSV数据,默认分隔符为逗号。

如何自定义Pandas读取数据时的列标签?

可以使用header=None来避免使用第一行作为列标签,或者通过names参数传递自定义列标签列表。

Pandas中如何处理缺失值?

可以使用na_values参数指定缺失值的表示,Pandas会将其标记为NaN。

如何将DataFrame写入CSV文件?

使用to_csv函数可以将DataFrame对象写入CSV文件,并支持多种参数设置。

Pandas中如何指定写入CSV文件的列?

可以通过columns参数指定要写入的列,并按照指定顺序排序。

如何在Pandas中逐块读取大文件?

可以使用chunksize参数来逐块读取文件,返回一个TextParser对象以便迭代处理。

🏷️

标签

➡️

继续阅读