还在为pandas处理大规模数据时的性能瓶颈焦虑?《Python Polars权威指南》重磅来袭!由Polars核心团队相关作者撰写,创始人Ritchie Vink作序,pandas创始人Wes McKinney倾力推荐。全书从环境配置到底层原理,从表达式核心到实战案例全覆盖,不管你是想从pandas转型的分析师,还是需优化数据管道的工程师,都能学会用Polars*处理TB级数据,让数据处理更快速、更优雅,轻松提升工作效率与职场竞争力!
售 价:¥
6.3
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐

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 小结
作者简介
封面简介
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜