Python面试题更新 2026-08-05

请说明在 Python 中采用 pandas 库读取、清洗、转换以及导出 CSV 数据的典型流程,并提及需要留意的关键参数与潜在问题。

技术原理问题排查pandasPython

考察说明

考查候选人对 pandas 处理 CSV 的熟练程度,包括 I/O 参数、数据处理思路和常见坑点。

回答思路

  1. 【回答框架 1】pandas 提供 read_csv 用于读取 CSV,常用参数包括 filepath_or_buffer、sep、header、names、encoding、dtype、parse_dates 等。读取后返回 DataFrame,可先通过 head、info、describe 快速检查数据概况。
  2. 【回答框架 2】数据清洗通常包括处理缺失值(dropna 或 fillna)、重复值(drop_duplicates)、列重命名(rename)、类型转换(astype 或 to_datetime),以及字符串处理(str 访问器)。
  3. 【回答框架 3】数据转换包括筛选(布尔索引或 query)、排序(sort_values)、分组聚合(groupby 配合 agg 或 pivot_table)、合并(merge、concat 或 join)。
  4. 【回答框架 4】导出使用 to_csv,常用参数包括 path_or_buf、sep、index、encoding、header、columns 等。导出时注意索引列的管理(一般设置 index=False)和编码一致性,避免中文乱码。
  5. 【回答框架 5】关键风险包括文件路径错误、编码不一致、分隔符不匹配、表头处理错误、内存不足(分块读取 chunksize)等。建议在读取前明确文件的编码和分隔符,处理时先备份原始数据。
  6. 【关键点 1】read_csv 支持文件路径、URL、文件对象,常用 sep 指定分隔符,默认逗号。
  7. 【关键点 2】处理缺失值用 dropna 或 fillna,需根据业务决定删除或填充策略。
  8. 【关键点 3】to_csv 导出时设置 index=False 避免写入行索引,encoding 常用 'utf-8-sig' 兼容 Excel。
  9. 【关键点 4】大文件可使用 chunksize 分块读取,或指定 dtype 降低内存占用。
  10. 【关键点 5】日期列可通过 parse_dates=True 自动解析,或事后用 pd.to_datetime 转换。
  11. 【易错点 1】编码问题:默认 utf-8,遇到 GBK 等编码会报错或乱码,需指定 encoding='gbk' 等。
  12. 【易错点 2】表头问题:若文件无表头需设 header=None 并指定 names,否则首行会被当列名。
  13. 【易错点 3】内存不足:直接读入大 CSV 可能内存溢出,应分块读取或只读取需要的列(usecols)。