首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >人工智能之数据分析 Pandas:第十章 知识总结

人工智能之数据分析 Pandas:第十章 知识总结

原创
作者头像
咚咚王
发布2025-12-09 08:15:28
发布2025-12-09 08:15:28
2100
举报

人工智能之数据分析 Pandas

第十章 知识总结


前言

本文是对Pandas 核心知识点的系统性总结,涵盖从基础到进阶的关键概念、常用操作和最佳实践,适合用于快速复习、面试准备或日常开发参考


🧱 一、核心数据结构

结构

说明

特点

Series

一维带标签数组

类似带索引的 NumPy 数组,单列数据

DataFrame

二维表格型结构

行(index)+ 列(columns),最常用

✅ 所有操作围绕这两个对象展开。


📥 二、数据读写(I/O)

格式

读取

写入

CSV

pd.read_csv()

df.to_csv()

Excel

pd.read_excel()

df.to_excel()

JSON

pd.read_json()

df.to_json()

SQL

pd.read_sql()

df.to_sql()

Parquet

pd.read_parquet()

df.to_parquet()

💡 关键参数encoding, dtype, parse_dates, usecols, index_col


🔍 三、数据查看与基本信息

代码语言:python
复制
df.head() / .tail()       # 查看前/后几行
df.shape                  # (行数, 列数)
df.info()                 # 列名、非空数、类型、内存
df.describe()             # 数值列统计摘要
df.dtypes                 # 每列数据类型
df.columns / df.index     # 列名与行索引

🎯 四、数据选择与索引

方法

说明

示例

df['col']

选单列(返回 Series)

df['姓名']

df[['col1', 'col2']]

选多列(DataFrame)

注意双括号

.loc[row, col]

标签索引(含末端)

df.loc[0:2, 'A':'C']

.iloc[row, col]

位置索引(不含末端)

df.iloc[0:3, 0:2]

布尔索引

条件筛选

df[df['age'] > 30]

.query()

字符串条件查询

df.query('age > 30 & salary < 10000')

⚠️坑:避免链式赋值 → 用 .loc[condition, 'col'] = value


🧹 五、数据清洗(Data Cleaning)

问题

解决方法

缺失值

isnull(), dropna(), fillna(), interpolate()

重复值

duplicated(), drop_duplicates()

异常值

IQR、3σ、业务规则过滤

类型错误

astype(), pd.to_numeric(), pd.to_datetime()

格式混乱

.str.strip(), .str.lower(), 正则替换

列名不规范

rename(), columns = ...

清洗流程:概览 → 缺失 → 重复 → 异常 → 类型 → 标准化


🔄 六、数据变换与应用

操作

方法

列运算

df['new'] = df['A'] * 2

条件赋值

np.where(cond, x, y)np.select()

分箱离散化

pd.cut(), pd.qcut()

映射替换

map(), replace()

自定义函数

apply()(逐行/列), applymap()(逐元素,已弃用)

链式新增列

assign()(推荐)

分组标准化

groupby().transform()


📊 七、分组聚合(GroupBy)

代码语言:python
复制
# 基础聚合
df.groupby('部门')['工资'].mean()

# 多列多函数
df.groupby('部门').agg({
    '工资': ['mean', 'max'],
    '姓名': 'count'
})

# 命名聚合(pandas ≥ 0.25)
df.groupby('部门', as_index=False).agg(
    平均工资=('工资', 'mean'),
    人数=('姓名', 'size')
)

🔑 GroupBy 三大操作:Split → Apply → Combine


🔗 八、数据合并与重塑

操作

函数

说明

上下拼接

pd.concat([df1, df2])

axis=0

左右拼接

pd.concat([df1, df2], axis=1)

SQL 式连接

pd.merge(df1, df2, on='key', how='left')

支持 inner/left/right/outer

宽变长

df.melt()

逆透视

长变宽

df.pivot() / pd.pivot_table()

透视表


📈 九、时间序列处理

代码语言:python
复制
# 转换为 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 的强项!


📉 十、相关性与统计分析

代码语言:python
复制
# 相关性矩阵
df.corr(method='pearson')

# 描述性统计
df.mean(), df.std(), df.quantile(0.75)

# 交叉表
pd.crosstab(df['性别'], df['是否购买'])

🖼️ 十一、数据可视化(基础)

代码语言:python
复制
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

category, Int8, float32 节省内存

向量化操作

避免 for 循环,用 +, np.where

避免链式赋值

.loc 安全赋值

分块读取大文件

read_csv(..., chunksize=10000)

使用 eval/query

对复杂表达式加速

删除无用列

df.drop() 早释放内存

考虑替代库

Dask / Modin(并行),Polars(更快)


🧩 十三、高频函数速查表

类别

核心函数

创建

DataFrame(), read_csv()

查看

head(), info(), describe()

筛选

.loc, .iloc, query(), isin()

排序

sort_values(), sort_index()

缺失值

isnull(), fillna(), dropna()

去重

drop_duplicates(), value_counts()

聚合

groupby().agg(), pivot_table()

合并

concat(), merge()

字符串

.str.contains(), .str.split()

时间

to_datetime(), .dt.year


✅ 十四、最佳实践总结

  1. 优先向量化,避免循环
  2. 明确数据类型,节省内存
  3. 清洗先行,质量第一
  4. .loc 赋值,避免警告
  5. 大文件分块处理
  6. 链式编程提升可读性df.pipe().assign().query()
  7. 可视化辅助理解数据

📚 学习路径建议

代码语言:python
复制
基础 → 数据读写 → 索引选择 → 清洗 → 聚合 → 合并 → 时间序列 → 可视化 → 性能优化

💡 记住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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 人工智能之数据分析 Pandas
  • 前言
  • 🧱 一、核心数据结构
  • 📥 二、数据读写(I/O)
  • 🔍 三、数据查看与基本信息
  • 🎯 四、数据选择与索引
  • 🧹 五、数据清洗(Data Cleaning)
  • 🔄 六、数据变换与应用
  • 📊 七、分组聚合(GroupBy)
  • 🔗 八、数据合并与重塑
  • 📈 九、时间序列处理
  • 📉 十、相关性与统计分析
  • 🖼️ 十一、数据可视化(基础)
  • ⚡ 十二、性能优化技巧
  • 🧩 十三、高频函数速查表
  • ✅ 十四、最佳实践总结
  • 📚 学习路径建议
  • 后续
  • 资料关注
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档