Learning Pandas 2.0
作者: Matthew Rosch
语言: 英文
出版年份: 2023
编程语言: Python
其他分类: 人工智能
下载链接:
书籍均收集自互联网,仅供学习和研究使用,请莫用于商业用途。谢谢合作。

书籍摘要

1. 定位与价值

《Learning Pandas 2.0》是一本面向数据科学家、机器学习工程师及分析师的实战指南,系统讲解如何利用 Pandas 2.0 进行高效的数据清洗、转换、分析与建模。全书以“理论+代码+案例”三位一体的方式,帮助读者在真实业务场景中快速落地。

2. 内容结构概览

2.1 基础篇(第1–3章)

  • Pandas 2.0 全景:回顾 0.1.x → 2.0 的演进,重点介绍 2.0 在性能、类型系统、API 一致性上的突破。
  • 核心数据结构:详解 Series(一维带标签数组)与 DataFrame(二维表)的内存模型、索引机制及常用操作。
  • 安装与配置:提供跨平台(Windows / macOS / Linux)的虚拟环境搭建、pip 安装、版本验证及常用全局选项设置。

2.2 数据输入输出(第4章)

  • 多格式读写:CSV、Excel(xls/xlsx)、JSON、HTML、Parquet、Stata 等一键转换。
  • 数据库交互:以 SQLite 为例,演示 read_sql / to_sql 实现“读取—分析—回写”闭环。
  • 实时数据源
    • Web API:使用 requests + pandas.read_json 拉取 JSONPlaceholder 示例数据。
    • 网页抓取:BeautifulSoup 解析 HTML 表格,快速构建 DataFrame。

2.3 数据清洗与预处理(第5章)

  • 缺失值处理isna 定位 → dropna 删除或 fillna 填充(常数、均值、前后向填充)。
  • 脏数据治理:去重、类型转换、列重命名、数值归一化/标准化、类别变量编码(one-hot / label)。
  • 可复现流水线:将上述步骤封装为函数,实现“读取→清洗→存储”一键化。

2.4 索引与选择高阶技巧(第6章)

  • 四大定位器loc(标签)、iloc(位置)、at / iat(标量加速)。
  • 层级索引(MultiIndex):用 set_index 构建“国家-性别”二级索引,支持 xsswaplevelsort_index
  • 布尔与条件选择:单条件、多条件(& / |)、query 字符串语法,提升可读性。
  • 高级索引器where / mask 保留或替换不符合条件的值;isin 快速筛选枚举;eval 执行列间表达式。

2.5 数据整合与重塑(第7章)

  • 横向/纵向合并merge(列连接,支持 inner/left/right/outer)、join(索引连接)。
  • 堆叠与追加concat(轴 0 或 1)、append 行追加,处理千万级数据分块读取后合并。
  • 透视与逆透视pivot 将长表变宽表;melt 将宽表变长表,适配可视化或建模需求。
  • 自定义聚合groupby 后接 agg / apply,内置函数不足时传入自定义 Python 函数(如极差计算)。

2.6 时间序列专项(第8章)

  • 时间对象体系:Timestamp(时间点)、Period(时间段)、Timedelta(时间差)。
  • 核心操作
    • 重采样(resample)与频率转换(asfreq)。
    • 时区本地化(tz_localize)与转换(tz_convert)。
    • 滚动窗口(rolling)、指数加权移动平均(ewm)、差分(diff)、滞后(shift)。
  • 高阶分析:使用 statsmodels 进行趋势-季节-残差分解、ARIMA 建模与 5 步预测。

2.7 性能优化与分布式(第9章)

  • 内存压缩:列式存储、类别型(category)替代 object、按需指定 dtype
  • 分块迭代chunksize 参数实现“边读边处理”,避免一次性载入大文件。
  • 并行与分布式
    • 单机多核:Dask DataFrame 无缝替换 Pandas。
    • 编译加速:Cython / Numba 对自定义函数 JIT 编译,实测提速 5–20 倍。
  • 诊断工具memory_usage 查看内存占用、%timeit / snakeviz 定位瓶颈。

2.8 机器学习整合(第10章)

  • 特征工程:缺失值插补、类别编码、标准化、多项式特征、交互特征。
  • 数据集划分train_test_split、K 折交叉验证(KFoldStratifiedKFold)。
  • 框架对接
    • Scikit-learn:Pipeline 中直接嵌入 Pandas DataFrame。
    • TensorFlow / PyTorch:利用 tf.data / DataLoader 实现批量读取,保持数据在 GPU 与 CPU 间零拷贝。

2.9 文本与 NLP(第11章)

  • 字符串向量化str.contains / str.split / str.replace 等向量化操作。
  • 特征提取:CountVectorizer → 稀疏矩阵 → 逻辑回归做情感分类。
  • 主题建模:LDA(Latent Dirichlet Allocation)发现隐藏主题。
  • 文本聚类:K-means 对文档向量聚类,可视化词云。

2.10 地理空间分析(第12章)

  • 数据格式:GeoJSON、Shapefile、GPX、KML、GeoTIFF 简介。
  • GeoPandas 集成:读取、投影转换、空间连接(sjoin)、缓冲区(buffer)、叠加分析(overlay)。
  • 地理编码:调用第三方 API 实现地址 ↔ 经纬度互转。

3. 特色与亮点

  • 全栈案例:以“Customer Churn Modelling”数据集贯穿始终,从原始 CSV 到机器学习模型,形成完整闭环。
  • 代码即拿即用:所有示例均附 GitHub 链接,支持“复制-粘贴-运行”。
  • 性能对比:关键步骤给出 %%timeit 结果,量化优化收益。
  • 前沿工具:涵盖 Dask、Numba、GeoPandas、statsmodels 等生态,确保技术栈不过时。

4. 适合读者

  • 已掌握 Python 基础,希望系统提升数据处理能力的数据分析师。
  • 需要快速将 Pandas 2.0 新特性落地到生产环境的机器学习工程师。
  • 对时间序列、文本、地理空间等专项场景有深度需求的科研人员。

读完本书,你将具备构建“端到端数据流水线”的能力:从多源数据接入 → 清洗 → 特征工程 → 建模 → 结果回写,全流程高效、可维护、可扩展。

期待您的支持
捐助本站