Python之三大基本库——Pandas
Python 三大基本库——Pandas 详解(2026最新版 · 0基础到实战)
在你的Python 快速学习路线图中,NumPy + Pandas + Matplotlib被公认为 Python 数据分析的“三大基本库”。其中Pandas是最核心、最强大的一个,被称为“Python界的Excel”或“数据处理瑞士军刀”。
Pandas 基于 NumPy 构建,专为结构化数据(表格型数据)设计,能轻松完成读取、清洗、转换、分析、聚合、可视化等全流程操作。即使在 2026 年,Pandas 依然是中小规模数据分析(百万行以内)的绝对标准。虽然Polars等新库在速度上更快(尤其是大数据),但 Pandas 生态最完善、文档最友好、与 AI/ML 库兼容最好,强烈建议先彻底掌握 Pandas,再考虑 Polars。
1. Pandas 是什么?为什么必须学?
- 全称:Python Data Analysis Library(面板数据)
- 核心优势:
- 像 Excel 一样操作表格,但支持百万级数据、自动化、编程扩展
- 自动处理缺失值、不同类型数据、对齐索引
- 与 NumPy(数值计算)、Matplotlib/Seaborn(可视化)、Scikit-learn(机器学习)、Ollama/LangChain(AI)无缝集成
- 2026 现状:Pandas 3.0 已发布,移除大量弃用功能,性能优化更好,但核心 API 变化不大。
安装(在你的 conda 环境中推荐):
condainstallpandas-cconda-forge# 或 pippipinstallpandas导入(约定俗成别名):
importpandasaspdimportnumpyasnp# 经常一起用2. Pandas 两大核心数据结构(必须吃透!)
(1)Series(一维,带标签的数组)
像加强版的列表或字典,有索引(index)。
# 创建s1=pd.Series([10,20,30,40],index=['a','b','c','d'])s2=pd.Series({'苹果':5.5,'香蕉':3.2,'橙子':4.8})print(s1)print(s1['b'])# 20 通过标签取值print(s1[1])# 20 通过位置取值(仍支持)(2)DataFrame(二维表格,最常用!)
像 Excel 表格或数据库表,由多个 Series 组成(列可不同类型)。
data={'姓名':['小明','小红','小刚'],'年龄':[18,17,19],'成绩':[95,88,92]}df=pd.DataFrame(data,index=['一班','二班','三班'])print(df)查看基本信息(必会):
df.head()# 前5行df.tail(3)# 后3行df.info()# 数据类型、缺失值、非空数df.describe()# 数值列统计(均值、标准差、最大最小等)df.shape# (行数, 列数)df.columns# 列名df.index# 索引3. 核心操作速通(最常用 80% 场景)
读取与保存数据(入门第一步)
# 读取df=pd.read_csv('data.csv')df=pd.read_excel('data.xlsx',sheet_name='Sheet1')df=pd.read_json('data.json')# 保存df.to_csv('output.csv',index=False)df.to_excel('output.xlsx')选择数据(索引、切片、过滤)
# 列选择df['姓名']# 单列 → Seriesdf[['姓名','成绩']]# 多列 → DataFrame# 行选择(推荐 loc/iloc)df.loc['一班']# 按标签df.iloc[0]# 按位置df.loc[df['年龄']>18]# 条件过滤df[df['成绩']>=90]# 同时选行列df.loc[df['年龄']>18,['姓名','成绩']]数据清洗(实际项目最花时间)
df.isnull().sum()# 查看缺失值df.dropna()# 删除缺失行df.fillna(0)# 填充 0df.fillna(df['成绩'].mean())# 填充均值df.drop_duplicates()# 去重df.rename(columns={'成绩':'score'})# 重命名列排序、添加/修改列
df.sort_values(by='成绩',ascending=False)# 降序df['总分']=df['成绩']*1.1# 新增列df['年龄']=df['年龄']+1# 修改列分组聚合(GroupBy,神器!)
df.groupby('班级')['成绩'].mean()# 按班级平均成绩df.groupby(['班级','性别']).agg({'成绩':['mean','max'],'年龄':'count'})合并数据(类似 SQL Join)
pd.merge(df1,df2,on='id',how='left')# left/right/inner/outerpd.concat([df1,df2],axis=0)# 上下合并4. 简单可视化(直接调用 plot)
df['成绩'].plot(kind='bar')# 柱状图df.plot.scatter(x='年龄',y='成绩')importmatplotlib.pyplotasplt plt.show()5. 实战小练习(立即动手,在 Jupyter Notebook 完成)
- 读取一个 CSV 文件(可用 Kaggle 下载 Titanic 数据),查看前 10 行、形状、缺失值。
- 筛选年龄 > 18 且成绩 >= 90 的学生,计算平均成绩。
- 新增一列“及格”(成绩>=60 为 True),按及格人数分组统计。
- 把 DataFrame 保存为 Excel,并用 describe() 生成统计报告。
推荐练习数据集:Titanic、Iris、Pokemon、自己导出的 Excel。
6. 学习资源推荐(2026最新,免费为主)
- 官方:pandas.pydata.org/docs/getting_started (10分钟上手 + 教程系列)
- 视频:YouTube “Pandas Explained: DataFrames & Series (Python 2026 Tutorial)”、Keith Galli 完整教程、B站“2026 Python数据分析教程(numpy+pandas+matplotlib)”
- 互动:DataCamp Pandas 教程、W3Schools Pandas、GeeksforGeeks Pandas Tutorial
- 中文:CSDN/B站完整 Pandas 教程、阿里云开发者社区 Pandas 入门指南
- 进阶:Pandas 官方 Cookbook、《Python for Data Analysis》(Wes McKinney 著,Pandas 作者)
7. 学习建议 & 2026 注意事项
- 顺序:先掌握 Series + DataFrame 创建/读取 → 选择与过滤 → 清洗与转换 → GroupBy 聚合 → 合并与可视化。
- 结合之前学习:用列表/字典创建 DataFrame,用 Ollama 本地模型生成练习题或解释报错。
- 避坑:索引对齐(自动对齐是优势也是坑)、视图 vs 拷贝(SettingWithCopyWarning)、大文件用
chunksize分块读取。 - 下一步:学完 Pandas 后直接进入 Matplotlib/Seaborn 可视化,或用 Pandas + Ollama 做简单数据问答工具(RAG 入门)。
- Polars 选择:数据超百万行或追求极致速度时再学,语法类似但更快。
Pandas 是你从“会写 Python”到“能做数据分析/AI 数据预处理”的关键跳板。现在就行动:打开终端/conda 环境,pip install pandas jupyter,新建 Notebook,复制上面代码跑一遍!
想看:
- 完整可运行代码文件(Titanic 实战案例)
- 某个操作深入详解(如 GroupBy 多级聚合、时间序列处理)
- Pandas + Ollama 结合项目(用 AI 分析你的 CSV)
- NumPy 或 Matplotlib 下一课
- 练习题 + 答案
随时告诉我,我立刻补充!继续你的 Python + AI 速通之路,Pandas 掌握后数据世界就真正打开了!🚀
