
第十章 知识总结
本文是对Pandas 核心知识点的系统性总结,涵盖从基础到进阶的关键概念、常用操作和最佳实践,适合用于快速复习、面试准备或日常开发参考。
结构 | 说明 | 特点 |
|---|---|---|
| 一维带标签数组 | 类似带索引的 NumPy 数组,单列数据 |
| 二维表格型结构 | 行(index)+ 列(columns),最常用 |
✅ 所有操作围绕这两个对象展开。
格式 | 读取 | 写入 |
|---|---|---|
CSV |
|
|
Excel |
|
|
JSON |
|
|
SQL |
|
|
Parquet |
|
|
💡 关键参数:
encoding,dtype,parse_dates,usecols,index_col
df.head() / .tail() # 查看前/后几行
df.shape # (行数, 列数)
df.info() # 列名、非空数、类型、内存
df.describe() # 数值列统计摘要
df.dtypes # 每列数据类型
df.columns / df.index # 列名与行索引方法 | 说明 | 示例 |
|---|---|---|
| 选单列(返回 Series) |
|
| 选多列(DataFrame) | 注意双括号 |
| 标签索引(含末端) |
|
| 位置索引(不含末端) |
|
布尔索引 | 条件筛选 |
|
| 字符串条件查询 |
|
⚠️ 避坑:避免链式赋值 → 用
.loc[condition, 'col'] = value
问题 | 解决方法 |
|---|---|
缺失值 |
|
重复值 |
|
异常值 | IQR、3σ、业务规则过滤 |
类型错误 |
|
格式混乱 |
|
列名不规范 |
|
✅ 清洗流程:概览 → 缺失 → 重复 → 异常 → 类型 → 标准化
操作 | 方法 |
|---|---|
列运算 |
|
条件赋值 |
|
分箱离散化 |
|
映射替换 |
|
自定义函数 |
|
链式新增列 |
|
分组标准化 |
|
# 基础聚合
df.groupby('部门')['工资'].mean()
# 多列多函数
df.groupby('部门').agg({
'工资': ['mean', 'max'],
'姓名': 'count'
})
# 命名聚合(pandas ≥ 0.25)
df.groupby('部门', as_index=False).agg(
平均工资=('工资', 'mean'),
人数=('姓名', 'size')
)🔑 GroupBy 三大操作:Split → Apply → Combine
操作 | 函数 | 说明 |
|---|---|---|
上下拼接 |
|
|
左右拼接 |
| |
SQL 式连接 |
| 支持 inner/left/right/outer |
宽变长 |
| 逆透视 |
长变宽 |
| 透视表 |
# 转换为 datetime
df['date'] = pd.to_datetime(df['date'])
# 提取时间属性
df['year'] = df['date'].dt.year
df['month'] = df['date'].dt.month
df['weekday'] = df['date'].dt.dayofweek
# 重采样(Resample)
df.set_index('date').resample('M').sum() # 月度汇总✅ 时间序列是 Pandas 的强项!
# 相关性矩阵
df.corr(method='pearson')
# 描述性统计
df.mean(), df.std(), df.quantile(0.75)
# 交叉表
pd.crosstab(df['性别'], df['是否购买'])df.plot(kind='line') # 折线图
df.plot(kind='bar') # 柱状图
df.plot(kind='hist') # 直方图
df.plot(kind='box') # 箱线图
df.plot.scatter(x='A', y='B') # 散点图💡 快速 EDA 用 Pandas,精美图表用 Seaborn/Plotly
技巧 | 说明 |
|---|---|
使用合适 dtype |
|
向量化操作 | 避免 for 循环,用 |
避免链式赋值 | 用 |
分块读取大文件 |
|
使用 | 对复杂表达式加速 |
删除无用列 |
|
考虑替代库 | Dask / Modin(并行),Polars(更快) |
类别 | 核心函数 |
|---|---|
创建 |
|
查看 |
|
筛选 |
|
排序 |
|
缺失值 |
|
去重 |
|
聚合 |
|
合并 |
|
字符串 |
|
时间 |
|
.loc 赋值,避免警告df.pipe().assign().query())基础 → 数据读写 → 索引选择 → 清洗 → 聚合 → 合并 → 时间序列 → 可视化 → 性能优化💡 记住: Pandas 不是“会用就行”,而是“用对才高效”。 掌握上述知识点,你已具备中级以上 Pandas 能力,可应对绝大多数数据分析任务!
python过渡项目部分代码已经上传至gitee,后续会逐步更新。
公众号:咚咚王
《Python编程:从入门到实践》
《利用Python进行数据分析》
《算法导论中文第三版》
《概率论与数理统计(第四版) (盛骤) 》
《程序员的数学》
《线性代数应该这样学第3版》
《微积分和数学分析引论》
《(西瓜书)周志华-机器学习》
《TensorFlow机器学习实战指南》
《Sklearn与TensorFlow机器学习实用指南》
《模式识别(第四版)》
《深度学习 deep learning》伊恩·古德费洛著 花书
《Python深度学习第二版(中文版)【纯文本】 (登封大数据 (Francois Choliet)) (Z-Library)》
《深入浅出神经网络与深度学习+(迈克尔·尼尔森(Michael+Nielsen)》
《自然语言处理综论 第2版》
《Natural-Language-Processing-with-PyTorch》
《计算机视觉-算法与应用(中文版)》
《Learning OpenCV 4》
《AIGC:智能创作时代》杜雨+&+张孜铭
《AIGC原理与实践:零基础学大语言模型、扩散模型和多模态模型》
《从零构建大语言模型(中文版)》
《实战AI大模型》
《AI 3.0》
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。