展开全部

主编推荐语

深入解析Polars核心技术,助力高性能数据处理与分析。

内容简介

本书系统讲解了高性能数据处理库Polars的核心原理与实践。书中从Polars的诞生背景与发展历程切入,深入解析其基于Rust的高性能架构、惰性求值机制及表达式系统,对比分析它与pandas等工具的差异,并引导pandas用户平滑迁移至Polars。

本书围绕数据处理流程展开,涵盖数据读取与写入、数据类型(文本、时间、嵌套结构)处理、表达式组合与扩展、数据分组聚合、连接拼接及重塑等核心操作,并结合丰富案例演示了从单机优化到分布式计算的应用场景。此外,本书还介绍了GPU加速、性能调优等进阶内容,旨在帮助读者掌握从数据清洗到复杂分析的全链路技能,释放Polars在大数据场景下的高效潜力。

目录

  • 版权信息
  • O'Reilly Media, Inc.介绍
  • 本书赞誉
  • 译者序
  • 前言
  • 第一篇 基础
  • 第1章 Polars简介
  • 1.1 Polars技术解析
  • 1.1.1 核心特性
  • 1.1.2 核心概念
  • 1.1.3 技术优势
  • 1.2 使用Polars的理由
  • 1.2.1 性能
  • 1.2.2 易用性
  • 1.2.3 流行度
  • 1.2.4 可持续性
  • 1.3 对比Polars与其他数据处理工具
  • 1.4 聚焦Python Polars
  • 1.5 本书内容结构
  • 1.6 ETL示例
  • 1.6.1 数据抽取
  • 1.6.2 附加环节:可视化街区与站点分布
  • 1.6.3 数据转换
  • 1.6.4 附加环节:各行政区每日行程可视化
  • 1.6.5 数据加载
  • 1.6.6 附加环节:使用惰性求值加速计算
  • 1.7 小结
  • 第2章 Polars入门
  • 2.1 配置环境
  • 2.1.1 下载项目
  • 2.1.2 安装uv
  • 2.1.3 安装项目
  • 2.1.4 虚拟环境操作指南
  • 2.1.5 验证安装
  • 2.2 JupyterLab快速入门
  • 2.3 在其他项目中安装Polars
  • 2.3.1 所有可选依赖项
  • 2.3.2 数据交互依赖项
  • 2.3.3 表格处理依赖项
  • 2.3.4 数据库依赖项
  • 2.3.5 远程文件系统依赖项
  • 2.3.6 其他I/O格式依赖项
  • 2.3.7 扩展功能依赖项
  • 2.3.8 安装可选依赖项
  • 2.4 配置Polars
  • 2.4.1 使用上下文管理器实现临时配置
  • 2.4.2 使用装饰器进行本地配置
  • 2.5 从源码编译Polars
  • 2.5.1 特殊情况:超大型数据集
  • 2.5.2 特殊情况:不支持AVX的处理器
  • 2.6 小结
  • 第3章 从pandas到Polars
  • 3.1 动物数据集
  • 3.2 共同之处
  • 3.3 外观差异
  • 3.3.1 代码层面的差异
  • 3.3.2 数据展示差异
  • 3.4 需要摒弃的概念
  • 3.4.1 索引
  • 3.4.2 数据轴
  • 3.4.3 索引与切片
  • 3.4.4 即时求值
  • 3.4.5 宽松性
  • 3.5 需要摒弃的语法
  • 3.6 与pandas互操作
  • 3.7 小结
  • 第二篇 数据形态
  • 第4章 数据结构和数据类型
  • 4.1 Series、DataFrame与LazyFrame
  • 4.2 数据类型
  • 4.2.1 嵌套数据类型
  • 4.2.2 缺失值
  • 4.3 数据类型转换
  • 4.4 小结
  • 第5章 即时API和惰性API
  • 5.1 即时API:DataFrame
  • 5.2 惰性API:LazyFrame
  • 5.3 性能对比
  • 5.4 功能差异
  • 5.4.1 属性
  • 5.4.2 聚合方法
  • 5.4.3 计算方法
  • 5.4.4 描述方法
  • 5.4.5 分组方法
  • 5.4.6 导出方法
  • 5.4.7 操作与选取方法
  • 5.4.8 其他方法
  • 5.5 技巧与窍门
  • 5.5.1 在LazyFrame与DataFrame间转换
  • 5.5.2 连接DataFrame与LazyFrame
  • 5.5.3 缓存中间结果
  • 5.6 小结
  • 第6章 读取和写入数据
  • 6.1 格式概览
  • 6.2 读取CSV文件
  • 6.3 正确解析缺失值
  • 6.4 读取非UTF-8编码文件
  • 6.5 读取Excel电子表格
  • 6.6 处理多个文件
  • 6.7 读取Parquet文件
  • 6.8 读取JSON与NDJSON文件
  • 6.8.1 JSON
  • 6.8.2 NDJSON
  • 6.9 其他文件格式
  • 6.10 数据库查询
  • 6.11 写入数据
  • 6.11.1 CSV格式
  • 6.11.2 Excel格式
  • 6.11.3 Parquet格式
  • 6.11.4 其他考量
  • 6.12 小结
  • 第三篇 表达式
  • 第7章 表达式入门
  • 7.1 方法与命名空间
  • 7.2 表达式应用示例
  • 7.2.1 用表达式选取列
  • 7.2.2 用表达式创建新列
  • 7.2.3 用表达式过滤行
  • 7.2.4 用表达式进行聚合
  • 7.2.5 用表达式对行排序
  • 7.3 表达式的定义
  • 7.4 创建表达式
  • 7.4.1 基于现有列创建表达式
  • 7.4.2 通过字面值创建表达式
  • 7.4.3 基于数值范围创建表达式
  • 7.4.4 通过其他函数创建表达式
  • 7.5 重命名表达式
  • 7.6 表达式属于惯用法
  • 7.7 小结
  • 第8章 表达式扩展
  • 8.1 操作类型
  • 8.1.1 示例A:元素级操作
  • 8.1.2 示例B:单值汇总操作
  • 8.1.3 示例C:多值汇总操作
  • 8.1.4 示例D:数据扩展操作
  • 8.2 元素级操作
  • 8.2.1 执行数学变换操作
  • 8.2.2 三角函数相关操作
  • 8.2.3 圆整与分类操作
  • 8.2.4 处理缺失值与无限值操作
  • 8.2.5 其他操作
  • 8.3 非归约型Series级操作
  • 8.3.1 累积型操作
  • 8.3.2 填充与偏移操作
  • 8.3.3 重复值相关操作
  • 8.3.4 计算滚动统计相关操作
  • 8.3.5 排序相关操作
  • 8.3.6 其他操作
  • 8.4 汇总为单值的Series级操作
  • 8.4.1 量词操作
  • 8.4.2 统计操作
  • 8.4.3 计数操作
  • 8.4.4 其他操作
  • 8.5 汇总为单值或多值的Series级操作
  • 8.5.1 唯一值相关操作
  • 8.5.2 选取操作
  • 8.5.3 删除缺失值操作
  • 8.5.4 其他操作
  • 8.6 扩展Series级操作
  • 8.7 小结
  • 第9章 表达式组合
  • 9.1 内联运算符与方法链式调用
  • 9.2 算术运算
  • 9.3 比较运算
  • 9.4 布尔代数运算
  • 9.5 位运算
  • 9.6 函数应用
  • 9.7 小结
  • 第四篇 转换
  • 第10章 列的选取与创建
  • 10.1 选取列
  • 10.1.1 选择器入门
  • 10.1.2 基于列名选取
  • 10.1.3 基于数据类型选取
  • 10.1.4 基于位置选取
  • 10.1.5 组合选择器
  • 10.2 创建新列
  • 10.3 列的相关操作
  • 10.3.1 删除列
  • 10.3.2 重命名列
  • 10.3.3 堆叠
  • 10.3.4 添加行索引
  • 10.4 小结
  • 第11章 行的过滤与排序
  • 11.1 行过滤
  • 11.1.1 基于表达式进行过滤
  • 11.1.2 基于列名进行过滤
  • 11.1.3 基于约束条件进行过滤
  • 11.2 行排序
  • 11.2.1 基于单列进行排序
  • 11.2.2 逆向排序
  • 11.2.3 基于多列进行排序
  • 11.2.4 基于表达式进行排序
  • 11.2.5 基于嵌套数据类型进行排序
  • 11.3 相关行操作
  • 11.3.1 过滤缺失值
  • 11.3.2 切片
  • 11.3.3 极值筛选
  • 11.3.4 采样
  • 11.3.5 半连接
  • 11.4 小结
  • 第12章 处理文本、时间和嵌套数据类型
  • 12.1 字符串数据类型
  • 12.1.1 字符串方法
  • 12.1.2 字符串示例
  • 12.2 类别数据类型
  • 12.2.1 类别方法
  • 12.2.2 类别示例
  • 12.3 枚举数据类型
  • 12.4 时间数据类型
  • 12.4.1 时间方法
  • 12.4.2 时间示例
  • 12.5 列表数据类型
  • 12.5.1 列表方法
  • 12.5.2 列表示例
  • 12.6 数组数据类型
  • 12.6.1 数组方法
  • 12.6.2 数组示例
  • 12.7 结构体数据类型
  • 12.7.1 结构体方法
  • 12.7.2 结构体示例
  • 12.8 小结
  • 第13章 汇总与聚合
  • 13.1 “拆分-应用-合并”范式
  • 13.2 GroupBy上下文
  • 13.2.1 统计概要
  • 13.2.2 高级方法
  • 13.3 行级聚合
  • 13.4 选择上下文中的窗口函数
  • 13.5 动态分组
  • 13.6 滚动聚合
  • 13.7 上采样
  • 13.8 小结
  • 第14章 连接与拼接
  • 14.1 连接
  • 14.1.1 连接策略
  • 14.1.2 多列连接
  • 14.1.3 验证
  • 14.2 非精确连接
  • 14.2.1 非精确连接策略
  • 14.2.2 微调
  • 14.2.3 用例:营销活动归因分析
  • 14.3 垂直与水平拼接
  • 14.3.1 垂直
  • 14.3.2 水平
  • 14.3.3 对角
  • 14.3.4 对齐
  • 14.3.5 宽松模式
  • 14.3.6 堆叠
  • 14.3.7 追加
  • 14.3.8 扩展
  • 14.4 小结
  • 第15章 重塑
  • 15.1 宽表与长表
  • 15.2 将长表转换为宽表
  • 15.3 反透视为长表
  • 15.4 转置
  • 15.5 展开
  • 15.6 DataFrame分区
  • 15.7 小结
  • 第五篇 进阶
  • 第16章 数据可视化
  • 16.1 NYC自行车行程记录
  • 16.2 使用内置的Altair进行绘图
  • 16.2.1 Altair介绍
  • 16.2.2 绘图命名空间方法
  • 16.2.3 DataFrame可视化
  • 16.2.4 数据量过大的处理方案
  • 16.2.5 绘制Series图表
  • 16.3 类似pandas的hvPlot绘图
  • 16.3.1 hvPlot介绍
  • 16.3.2 第一个绘图示例
  • 16.3.3 hvPlot命名空间中的方法
  • 16.3.4 pandas作为备用方案
  • 16.3.5 手动数据转换
  • 16.3.6 切换绘图后端
  • 16.3.7 绘制地图坐标
  • 16.3.8 组合绘图
  • 16.3.9 添加交互式控件
  • 16.4 使用plotnine创建出版级质量的图像
  • 16.4.1 plotnine介绍
  • 16.4.2 探索性可视化
  • 16.4.3 图表美化
  • 16.5 使用Great Tables美化DataFrame
  • 16.6 小结
  • 第17章 扩展Polars
  • 17.1 使用Python自定义函数
  • 17.1.1 将函数应用于元素
  • 17.1.2 将函数应用于Series
  • 17.1.3 将函数应用于分组
  • 17.1.4 将函数应用于表达式
  • 17.1.5 将函数应用于DataFrame或LazyFrame
  • 17.2 注册自定义命名空间
  • 17.3 基于Rust的Polars插件
  • 17.3.1 前提条件
  • 17.3.2 插件项目结构分析
  • 17.3.3 插件实现详解
  • 17.3.4 编译插件
  • 17.3.5 性能基准测试
  • 17.3.6 注册参数
  • 17.3.7 使用Rust库
  • 17.3.8 用例:geo
  • 17.4 小结
  • 第18章 Polars内部原理
  • 18.1 Polars架构解析
  • 18.2 Apache Arrow
  • 18.3 多线程计算与SIMD指令集
  • 18.4 内存中的字符串类型
  • 18.5 Series中的分块数组
  • 18.6 查询优化机制
  • 18.6.1 LazyFrame扫描阶段优化
  • 18.6.2 其他优化
  • 18.7 检查表达式
  • 18.7.1 meta命名空间概述
  • 18.7.2 meta命名空间示例
  • 18.8 Polars性能剖析
  • 18.9 Polars测试
  • 18.10 常见反模式
  • 18.10.1 滥用方括号选择列
  • 18.10.2 误用Collect方法
  • 18.10.3 在Polars查询中使用Python代码
  • 18.11 小结
  • 附录 使用GPU加速Polars
  • A.1 NVIDIA RAPIDS
  • A.2 安装GPU引擎
  • A.3 Polars GPU引擎的使用
  • A.3.1 引擎配置
  • A.3.2 未支持功能
  • A.4 Polars GPU引擎基准测试
  • A.4.1 测试方案
  • A.4.2 查询与数据
  • A.4.3 测试方法
  • A.4.4 结果分析
  • A.5 Polars GPU引擎的未来发展
  • A.6 小结
  • 作者简介
  • 封面简介
展开全部

评分及书评

评分不足
1个评分

出版方

机械工业出版社

机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。