Chapter 9:pandas 数据处理
数据处理是现代编程的核心能力,而 pandas 是 Python 世界最强大的数据工具。本章将带你理解 DataFrame 的结构、索引、筛选、清洗、导出等关键操作,并通过真实数据集完成一次完整的数据分析流程。你会发现:当你能驾驭数据,你就能驾驭信息。
“数据不会说话,但 pandas 能让它开口。”
大家好!前面我们用 requests/Scrapy 抓了豆瓣 Top 250,也讲了 HTTP 和 Scrapy 框架。今天进入数据处理阶段:把爬来的 CSV/JSON/Excel 变成有用报表。主角就是pandas—— Python 数据处理的“瑞士军刀”。
本篇全部代码在Python 3.8 + Windows 7上实测通过(2026 年最新兼容版),老机器也能流畅运行。目标:拿自己过去一年的手机记账 CSV,自动生成月度收支报表并导出 Excel。
1. 准备工作(Win7 + Python 3.8 专属安装)
确认版本
python --version必须是
Python 3.8.x。安装 pandas 兼容版(一次搞定):
pip install pandas==2.0.3 numpy==1.24.4 openpyxlpandas==2.0.3是最后一个官方完美支持 Python 3.8 的版本(Win7 64位/32位都有 wheel)。- numpy 是 pandas 底层引擎,必须先装兼容版。
- openpyxl 用来导出 Excel(第8篇已装)。
Win7 安装坑:如果报 “Microsoft Visual C++ 14.0 required”,先安装 Visual C++ Build Tools 2019(Win7 兼容版),勾选 Desktop development with C++。
安装完验证:
importpandasaspdprint(pd.__version__)# 应显示 2.0.3
2. pandas 基础:Series 和 DataFrame
底层原理(简单说):
pandas 底层完全依赖numpy。
Series= 一维数组(numpy.ndarray + 索引)DataFrame= 多列 Series 拼成的表格(类似 Excel)
所有运算都是向量化(vectorized),用 C 语言底层执行,速度比纯 Python 循环快几十倍。
源码里 DataFrame 就是一个 dict,key 是列名,value 是 Series。
实战代码(直接复制运行):
importpandasaspdimportnumpyasnp# Series(一维)s=pd.Series([100,200,300],index=['一月','二月','三月'])print(s)print("类型:",type(s))# <class 'pandas.core.series.Series'>print("底层 numpy 数组:",s.values)# numpy.ndarray# DataFrame(二维)data={'日期':['2025-01-15','2025-02-20','2025-03-10'],'类别':['餐饮','交通','购物'],'金额':[45.5,12.0,88.0]}df=pd.DataFrame(data)print(df)print("形状:",df