🐼 Pandas
Pandas
大白话:Python里最常用的数据处理库,专为表格数据而生。它提供了一个叫DataFrame的二维表格结构,让你像操作Excel一样筛选、排序、分组、合并数据。用几行代码就能完成Excel里需要反复点击的操作。
🐍生态:Python生态
💰价格:开源免费
📂所属:Python生态
🔗方向:数据分析
🔗 访问 Pandas 官网 →
🛠️ 专业软件导航
覆盖12大学科,数百个行业标配软件
基础科学 · 信息与计算 · 工程与制造 · 艺术与设计 · 生命与健康 · 社科与经管 · 农业与生态 · 生活与技艺 · 娱乐与媒介 · 人文基础 · 体育与健康
📦 核心库·框架·插件生态 📍 你在这里
覆盖15个技术生态,主流库、框架与插件一网打尽
Python生态 · JavaScript/TS · Java生态 · C/C++生态 · Go生态 · Rust生态 · DevOps云原生 · 移动端开发 · 游戏开发 · 设计师插件 · 编辑器插件 · 浏览器插件 · 生产力工具 · 学术科研
📚 学习资源与开发辅助
五大类软资源,从理论到实战的完整学习生态
权威课程平台 · 官方文档 · 技术问答社区 · 实战练习 · 开放数据集
📖 一句话定义

Pandas是Python数据分析的核心库,提供高性能易用的数据结构DataFrame和Series,以及数据清洗、变换、聚合等全套工具。它是Python替代Excel进行数据处理的关键——数据科学项目80%的时间花在数据准备上,Pandas就是做这件事的首选工具。

🧩 核心功能速览

下面几段代码覆盖了Pandas最核心的功能。每段代码都可以直接复制到Jupyter Notebook或编辑器里运行。

# 读取CSV文件——最常见的数据导入方式
import pandas as pd
df = pd.read_csv("data.csv")
df.head()  # 查看前5行
# 筛选行——按条件过滤数据
df[df["age"] > 30]  # 筛选年龄大于30的行
df[(df["age"] > 30) & (df["city"] == "北京")]  # 多条件筛选
# 分组聚合——按类别统计
df.groupby("city")["salary"].mean()  # 按城市分组,计算平均工资
df.groupby(["city","gender"]).size()  # 按多列分组计数
# 处理缺失值——让数据变干净
df.dropna()  # 删除含空值的行
df.fillna(0)  # 用0填充空值
df["age"].fillna(df["age"].mean())  # 用平均值填充
# 合并数据——像SQL的JOIN
pd.merge(df1, df2, on="id")  # 按id列合并两个表
df1.merge(df2, left_on="user_id", right_on="id", how="left")  # 左连接
🧠 逻辑架构

Pandas的灵魂是DataFrame(二维表格)和Series(一维序列)。所有操作——筛选、分组、合并、透视——本质上都是对DataFrame的行列变换。Pandas底层依赖NumPy,所以继承了其向量化优势,大多数操作不需要写循环。

📋 常用API清单

按使用频率排列,覆盖日常开发90%的需求。

pd.read_csv() / pd.read_excel()
读取CSV和Excel文件,最常用的数据导入方式
df.head() / df.tail() / df.info()
查看数据的前几行、后几行和整体信息
df["列名"] / df[["列1","列2"]]
选取单列或多列数据
df.loc[] / df.iloc[]
按标签或位置选取行列,最灵活的取子集方式
df.query() / df[条件]
按条件筛选行,类似SQL的WHERE
df.groupby() / df.agg()
分组聚合,类似SQL的GROUP BY
df.sort_values() / df.sort_index()
按值或索引排序
df.dropna() / df.fillna()
处理缺失值,删除或用指定值填充
pd.merge() / pd.concat()
合并多个DataFrame,类似SQL的JOIN和UNION
df.apply() / df.map()
对每行或每列应用自定义函数
df.to_csv() / df.to_excel()
将DataFrame导出为文件
df.pivot_table()
创建数据透视表,类似Excel的数据透视表功能
🪜 学习路径 · 3步从零到能用

⚠️ 常见坑与调试

❌ 坑1:SettingWithCopyWarning——修改筛选结果时出现警告,原始数据没变。
✅ 避开方法:筛选数据后用 .copy() 创建独立副本再修改。Pandas的链式索引可能返回view也可能返回copy,用 .loc[] 显式赋值能避免这个问题。
❌ 坑2:把Pandas当成Excel用——用循环逐行处理数据,速度极慢。
✅ 避开方法:Pandas的优势是向量化操作——用 df.apply() 代替for循环,用 groupby 代替手动分类统计。循环是最后的手段,优先找内置函数。
❌ 坑3:groupby之后忘记reset_index(),分组列变成了索引,后续操作找不到。
✅ 避开方法:groupby的结果里分组列会变成索引。如果后续还要用这些列做筛选或合并,加 .reset_index() 把索引还原为普通列。

✅ 学到什么程度算"会了"

  • 能读取CSV/Excel文件,查看数据基本信息
  • 能筛选数据、处理缺失值、排序
  • 能分组聚合做统计分析,合并多张表
  • 能完成从原始数据到干净报表的全流程,写出可复用的清洗脚本
💡 善智点评 · Pandas到底怎么样?

这个库好在哪:Python数据分析的绝对核心——没有Pandas就没有Python数据科学生态。DataFrame设计优雅,操作直观,是Python替代Excel进行数据处理的关键。API覆盖了数据清洗的几乎所有需求。性能经过了多年优化——百万行数据也能流畅处理。和NumPy、Matplotlib无缝配合。

坑在哪:API太多——几百个函数和参数,新手容易迷失。链式操作虽然简洁但调试困难。内存管理对大数据的支持有限——几十GB的数据需要换用Dask或Polars。版本更新有时引入破坏性变化。

适合谁:所有用Python做数据分析、数据挖掘、机器学习的人。想用代码替代Excel重复操作的数据工作者。数据科学入门必学的第一个库。

替代品:Polars(Rust写的DataFrame库,性能更强但生态弱)、Dask(分布式Pandas,适合大数据)、PySpark(大数据分布式处理)。日常数据分析Pandas是最成熟的选择。

学习建议:先学会读取文件和选取行列——这是最基础的操作。再学筛选和分组——这是最常用的功能。不要试图背所有函数,用到什么查什么。把常见的清洗流程整理成自己的代码片段库。

🤖 AI助教 · 遇到不懂的,复制这段话问AI

在写代码时卡住了?把下面这段话完整复制到任何AI对话框,把【】里的内容换成你的具体问题

我正在学习 Pandas,请你以一位耐心、专业的Python数据科学老师身份,用大白话帮我拆解以下问题。

我的问题是:【在这里写你的具体问题,比如:怎么用Pandas完成某个数据处理任务?】

要求:
1. 用大白话解释,给出可以直接运行的代码
2. 每一行代码加上注释,说明它在做什么
3. 如果涉及广播或shape相关的概念,请通俗解释
4. 如果有常见的坑,请提前告诉我怎么避开

我的水平:有Python基础,刚接触Pandas
🎓 高阶版:帮我构建知识体系(点击展开)

如果你想系统深入地学习,把下面这段话复制到AI对话框,把【】里的内容换成你的具体情况

我正在深入学习 Pandas,请你以一位精通Python数据科学的认知导航专家身份,遵循“为知识建立秩序”的理念,帮我构建一个高阶学习地图。

我的当前水平:【描述你的水平,如:已经能熟练创建和索引NumPy数组,想系统学习广播机制、线性代数运算和性能优化】

请按以下框架回答:
1. 🧭 认知导航:Pandas在Python数据科学生态中的位置和上下游关系
2. 🗺️ 知识地图:用“结构化学习路径”列出3-4个阶段
3. 🪜 学习路线图:按“新手→进阶→专业”的顺序给出练习项目
4. ⚠️ 高阶避坑指南:列出广播、copy/view、数据类型方面的深层坑
5. ✅ 学习效果自查清单

请用大白话回答,代码示例用Pandas。

💡 使用技巧:新手版适合“这个函数怎么用”类问题;高阶版适合“我应该怎么系统学Pandas”类问题。