热门搜索: 中考 高考 考试 开卷17
服务电话 024-23945002/96192
 

PYTHON POLARS权威指南

编号:
wx1204025904
销售价:
¥131.12
(市场价: ¥149.00)
赠送积分:
131
数量:
   
商品介绍

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

本书系统讲解了高性能数据处理库Polars的核心原理与实践。书中从Polars的诞生背景与发展历程切入,深入解析其基于Rust的高性能架构、惰性求值机制及表达式系统,对比分析它与pandas等工具的差异,并引导pandas用户平滑迁移至Polars。本书围绕数据处理流程展开,涵盖数据读取与写入、数据类型(文本、时间、嵌套结构)处理、表达式组合与扩展、数据分组聚合、连接拼接及重塑等核心操作,并结合丰富案例演示了从单机优化到分布式计算的应用场景。此外,本书还介绍了GPU加速、性能调优等进阶内容,旨在帮助读者掌握从数据清洗到复杂分析的全链路技能,释放Polars在大数据场景下的高效潜力。

Jeroen Janssens是Posit PBC公司的高级开发者关系工程师,开源技术布道者,著有Data Science at the Command Line(O'Reilly出版)。他拥有蒂尔堡大学机器学习博士学位和马斯特里赫特大学人工智能硕士学位。<br />Thijs Nieuwdorp是Xomnia公司的首席数据科学家。作为Polars的早期使用者与贡献者,他至今仍在日常工作中使用该工具。他擅长构建高效工作流自动化系统,善于从数据中挖掘战略洞见,并通过经验分享帮助同行规避常见陷阱,提升专业技能。

目录<br />序1<br />前言3<br />第一篇 基础<br />第1章 Polars简介11<br />1.1 Polars技术解析12<br />1.1.1 核心特性12<br />1.1.2 核心概念12<br />1.1.3 技术优势13<br />1.2 使用Polars的理由13<br />1.2.1 性能13<br />1.2.2 易用性14<br />1.2.3 流行度15<br />1.2.4 可持续性16<br />1.3 对比Polars与其他数据处理工具16<br />1.4 聚焦Python Polars17<br />1.5 本书内容结构17<br />1.6 ETL示例18<br />1.6.1 数据抽取19<br />1.6.2 附加环节:可视化街区与站点分布23<br />1.6.3 数据转换26<br />1.6.4 附加环节:各行政区每日行程可视化31<br />1.6.5 数据加载32<br />1.6.6 附加环节:使用惰性求值加速计算33<br />1.7 小结36<br />第2章 Polars入门37<br />2.1 配置环境37<br />2.1.1 下载项目37<br />2.1.2 安装uv38<br />2.1.3 安装项目39<br />2.1.4 虚拟环境操作指南39<br />2.1.5 验证安装39<br />2.2 JupyterLab快速入门40<br />2.3 在其他项目中安装Polars42<br />2.3.1 所有可选依赖项43<br />2.3.2 数据交互依赖项43<br />2.3.3 表格处理依赖项43<br />2.3.4 数据库依赖项44<br />2.3.5 远程文件系统依赖项44<br />2.3.6 其他I/O格式依赖项44<br />2.3.7 扩展功能依赖项44<br />2.3.8 安装可选依赖项45<br />2.4 配置Polars45<br />2.4.1 使用上下文管理器实现临时配置46<br />2.4.2 使用装饰器进行本地配置48<br />2.5 从源码编译Polars48<br />2.5.1 特殊情况:超大型数据集49<br />2.5.2 特殊情况:不支持AVX的处理器49<br />2.6 小结50<br />第3章 从pandas到Polars51<br />3.1 动物数据集51<br />3.2 共同之处52<br />3.3 外观差异53<br />3.3.1 代码层面的差异53<br />3.3.2 数据展示差异54<br />3.4 需要摒弃的概念58<br />3.4.1 索引58<br />3.4.2 数据轴59<br />3.4.3 索引与切片60<br />3.4.4 即时求值62<br />3.4.5 宽松性64<br />3.5 需要摒弃的语法65<br />3.6 与pandas互操作69<br />3.7 小结70<br />第二篇 数据形态<br />第4章 数据结构和数据类型73<br />4.1 Series、DataFrame与LazyFrame73<br />4.2 数据类型75<br />4.2.1 嵌套数据类型77<br />4.2.2 缺失值78<br />4.3 数据类型转换83<br />4.4 小结85<br />第5章 即时API和惰性API86<br />5.1 即时API:DataFrame86<br />5.2 惰性API:LazyFrame87<br />5.3 性能对比88<br />5.4 功能差异90<br />5.4.1 属性90<br />5.4.2 聚合方法90<br />5.4.3 计算方法91<br />5.4.4 描述方法91<br />5.4.5 分组方法92<br />5.4.6 导出方法93<br />5.4.7 操作与选取方法93<br />5.4.8 其他方法95<br />5.5 技巧与窍门96<br />5.5.1 在LazyFrame与DataFrame间转换96<br />5.5.2 连接DataFrame与LazyFrame97<br />5.5.3 缓存中间结果98<br />5.6 小结99<br />第6章 读取和写入数据100<br />6.1 格式概览101<br />6.2 读取CSV文件102<br />6.3 正确解析缺失值103<br />6.4 读取非UTF-8编码文件104<br />6.5 读取Excel电子表格106<br />6.6 处理多个文件107<br />6.7 读取Parquet文件110<br />6.8 读取JSON与NDJSON文件111<br />6.8.1 JSON111<br />6.8.2 NDJSON113<br />6.9 其他文件格式115<br />6.10 数据库查询116<br />6.11 写入数据118<br />6.11.1 CSV格式118<br />6.11.2 Excel格式119<br />6.11.3 Parquet格式119<br />6.11.4 其他考量120<br />6.12 小结120<br />第三篇 表达式<br />第7章 表达式入门123<br />7.1 方法与命名空间124<br />7.2 表达式应用示例125<br />7.2.1 用表达式选取列126<br />7.2.2 用表达式创建新列127<br />7.2.3 用表达式过滤行128<br />7.2.4 用表达式进行聚合128<br />7.2.5 用表达式对行排序129<br />7.3 表达式的定义129<br />7.4 创建表达式133<br />7.4.1 基于现有列创建表达式133<br />7.4.2 通过字面值创建表达式135<br />7.4.3 基于数值范围创建表达式136<br />7.4.4 通过其他函数创建表达式138<br />7.5 重命名表达式138<br />7.6 表达式属于惯用法140<br />7.7 小结141<br />第8章 表达式扩展143<br />8.1 操作类型144<br />8.1.1 示例A:元素级操作144<br />8.1.2 示例B:单值汇总操作145<br />8.1.3 示例C:多值汇总操作145<br />8.1.4 示例D:数据扩展操作146<br />8.2 元素级操作147<br />8.2.1 执行数学变换操作147<br />8.2.2 三角函数相关操作148<br />8.2.3 圆整与分类操作149<br />8.2.4 处理缺失值与无限值操作150<br />8.2.5 其他操作152<br />8.3 非归约型Series级操作153<br />8.3.1 累积型操作153<br />8.3.2 填充与偏移操作154<br />8.3.3 重复值相关操作155<br />8.3.4 计算滚动统计相关操作156<br />8.3.5 排序相关操作157<br />8.3.6 其他操作159<br />8.4 汇总为单值的Series级操作160<br />8.4.1 量词操作161<br />8.4.2 统计操作162<br />8.4.3 计数操作163<br />8.4.4 其他操作165<br />8.5 汇总为单值或多值的Series级操作166<br />8.5.1 唯一值相关操作166<br />8.5.2 选取操作167<br />8.5.3 删除缺失值操作168<br />8.5.4 其他操作168<br />8.6 扩展Series级操作171<br />8.7 小结172<br />第9章 表达式组合173<br />9.1 内联运算符与方法链式调用174<br />9.2 算术运算175<br />9.3 比较运算177<br />9.4 布尔代数运算180<br />9.5 位运算181<br />9.6 函数应用183<br />9.7 小结188<br />第四篇 转换<br />第10章 列的选取与创建193<br />10.1 选取列194<br />10.1.1 选择器入门195<br />10.1.2 基于列名选取196<br />10.1.3 基于数据类型选取197<br />10.1.4 基于位置选取199<br />10.1.5 组合选择器200<br />10.2 创建新列203<br />10.3 列的相关操作207<br />10.3.1 删除列207<br />10.3.2 重命名列207<br />10.3.3 堆叠208<br />10.3.4 添加行索引208<br />10.4 小结209<br />第11章 行的过滤与排序210<br />11.1 行过滤211<br />11.1.1 基于表达式进行过滤211<br />11.1.2 基于列名进行过滤212<br />11.1.3 基于约束条件进行过滤213<br />11.2 行排序213<br />11.2.1 基于单列进行排序214<br />11.2.2 逆向排序215<br />11.2.3 基于多列进行排序215<br />11.2.4 基于表达式进行排序216<br />11.2.5 基于嵌套数据类型进行排序216<br />11.3 相关行操作218<br />11.3.1 过滤缺失值219<br />11.3.2 切片219<br />11.3.3 极值筛选220<br />11.3.4 采样220<br />11.3.5 半连接220<br />11.4 小结221<br />第12章 处理文本、时间和嵌套数据类型222<br />12.1 字符串数据类型222<br />12.1.1 字符串方法223<br />12.1.2 字符串示例224<br />12.2 类别数据类型227<br />12.2.1 类别方法228<br />12.2.2 类别示例228<br />12.3 枚举数据类型231<br />12.4 时间数据类型232<br />12.4.1 时间方法232<br />12.4.2 时间示例234<br />12.5 列表数据类型237<br />12.5.1 列表方法237<br />12.5.2 列表示例239<br />12.6 数组数据类型241<br />12.6.1 数组方法241<br />12.6.2 数组示例242<br />12.7 结构体数据类型243<br />12.7.1 结构体方法244<br />12.7.2 结构体示例244<br />12.8 小结247<br />第13章 汇总与聚合248<br />13.1 “拆分-应用-合并”范式249<br />13.2 GroupBy上下文249<br />13.2.1 统计概要251<br />13.2.2 高级方法256<br />13.3 行级聚合260<br />13.4 选择上下文中的窗口函数262<br />13.5 动态分组263<br />13.6 滚动聚合265<br />13.7 上采样268<br />13.8 小结269<br />第14章 连接与拼接271<br />14.1 连接271<br />14.1.1 连接策略272<br />14.1.2 多列连接275<br />14.1.3 验证276<br />14.2 非精确连接277<br />14.2.1 非精确连接策略279<br />14.2.2 微调281<br />14.2.3 用例:营销活动归因分析281<br />14.3 垂直与水平拼接284<br />14.3.1 垂直285<br />14.3.2 水平286<br />14.3.3 对角287<br />14.3.4 对齐288<br />14.3.5 宽松模式290<br />14.3.6 堆叠290<br />14.3.7 追加292<br />14.3.8 扩展292<br />14.4 小结293<br />第15章 重塑294<br />15.1 宽表与长表294<br />15.2 将长表转换为宽表296<br />15.3 反透视为长表301<br />15.4 转置303<br />15.5 展开305<br />15.6 DataFrame分区308<br />15.7 小结311<br />第五篇 进阶<br />第16章 数据可视化315<br />16.1 NYC自行车行程记录316<br />16.2 使用内置的Altair进行绘图318<br />16.2.1 Altair介绍318<br />16.2.2 绘图命名空间方法319<br />16.2.3 DataFrame可视化320<br />16.2.4 数据量过大的处理方案322<br />16.2.5 绘制Series图表324<br />16.3 类似pandas的hvPlot绘图326<br />16.3.1 hvPlot介绍326<br />16.3.2 第一个绘图示例327<br />16.3.3 hvPlot命名空间中的方法328<br />16.3.4 pandas作为备用方案329<br />16.3.5 手动数据转换330<br />16.3.6 切换绘图后端330<br />16.3.7 绘制地图坐标332<br />16.3.8 组合绘图333<br />16.3.9 添加交互式控件334<br />16.4 使用plotnine创建出版级质量的图像335<br />16.4.1 plotnine介绍335<br />16.4.2 探索性可视化336<br />16.4.3 图表美化339<br />16.5 使用Great Tables美化DataFrame343<br />16.6 小结347<br />第17章 扩展Polars348<br />17.1 使用Python自定义函数348<br />17.1.1 将函数应用于元素349<br />17.1.2 将函数应用于Series351<br />17.1.3 将函数应用于分组352<br />17.1.4 将函数应用于表达式354<br />17.1.5 将函数应用于DataFrame或LazyFrame355<br />17.2 注册自定义命名空间356<br />17.3 基于Rust的Polars插件357<br />17.3.1 前提条件358<br />17.3.2 插件项目结构分析358<br />17.3.3 插件实现详解358<br />17.3.4 编译插件360<br />17.3.5 性能基准测试361<br />17.3.6 注册参数362<br />17.3.7 使用Rust库364<br />17.3.8 用例:geo364<br />17.4 小结373<br />第18章 Polars内部原理374<br />18.1 Polars架构解析374<br />18.2 Apache Arrow375<br />18.3 多线程计算与SIMD指令集377<br />18.4 内存中的字符串类型378<br />18.5 Series中的分块数组379<br />18.6 查询优化机制379<br />18.6.1 LazyFrame扫描阶段优化380<br />18.6.2 其他优化381<br />18.7 检查表达式383<br />18.7.1 meta命名空间概述383<br />18.7.2 meta命名空间示例384<br />18.8 Polars性能剖析386<br />18.9 Polars测试388<br />18.10 常见反模式390<br />18.10.1 滥用方括号选择列390<br />18.10.2 误用Collect方法390<br />18.10.3 在Polars查询中使用Python代码391<br />18.11 小结391<br />附录 使用GPU加速Polars393

商品参数
基本信息
出版社 机械工业出版社
ISBN 9787111792901
条码 9787111792901
编者 [荷]杰罗恩·詹森斯(Jeroen Janssens),[荷]泰斯·尼乌多普(Thijs Nieuwdorp) 著 陈松 译
译者
出版年月 2025-11-01 00:00:00.0
开本 16开
装帧 平装
页数 408
字数 539
版次 1
印次 1
纸张 一般胶版纸
商品评论

暂无商品评论信息 [发表商品评论]

商品咨询

暂无商品咨询信息 [发表商品咨询]