利用 Python 进行数据分析(原书第2版)

Book description

阅读本书可以获得关于在Python下操作、处理、清洗、规整数据集的完整说明。本书第2版针对Python 3.6进行了更新,并增加了实际案例向你展示如何高效地解决一系列数据分析问题。你将在阅读过程中学习到较新版本的pandas、NumPy、IPython和Jupyter。

本书作者Wes McKinney是Python pandas项目的创始人。本书是对Python数据科学工具的实操化、现代化的介绍,非常适合刚学Python的数据分析师或刚学数据科学以及科学计算的Python编程者。数据文件和相关的材料可以在GitHub上找到。

  • 使用IPython shell和Jupyter notebook进行探索性计算
  • 学习NumPy(Numerical Python)的基础和高级特性
  • 入门pandas库中的数据分析工具
  • 使用灵活工具对数据进行载入、清洗、变换、合并和重塑
  • 使用matplotlib创建富含信息的可视化
  • 将pandas的groupby功能应用于对数据集的切片、切块和汇总
  • 分析并操作规则和不规则的时间序列数据
  • 利用完整的、详细的示例学习如何解决现实中的数据分析问题

Table of contents

  1. 封面
  2. 扉页
  3. 版权页
  4. 译者序
  5. 目录 (1/2)
  6. 目录 (2/2)
  7. 前言
    1. 第2版新内容
    2. 本书约定
    3. 使用代码示例
    4. O’Reilly Safari
    5. 如何联系我们
    6. 致谢
  8. 第1章 准备工作
    1. 1.1 本书内容
      1. 1.1.1 什么类型的数据
    2. 1.2 为何利用Python进行数据分析
      1. 1.2.1 Python作为胶水
      2. 1.2.2 解决“双语言”难题
      3. 1.2.3 为何不使用Python
    3. 1.3 重要的Python库
      1. 1.3.1 NumPy
      2. 1.3.2 pandas
      3. 1.3.3 matplotlib
      4. 1.3.4 IPython与Jupyter
      5. 1.3.5 SciPy
      6. 1.3.6 scikit-learn
      7. 1.3.7 statsmodels
    4. 1.4 安装与设置
      1. 1.4.1 Windows
      2. 1.4.2 Apple(OS X和macOS)
      3. 1.4.3 GNU/Linux
      4. 1.4.4 安装及更新Python包
      5. 1.4.5 Python 2和Python 3
      6. 1.4.6 集成开发环境和文本编辑器
    5. 1.5 社区和会议
    6. 1.6 快速浏览本书
      1. 1.6.1 代码示例
      2. 1.6.2 示例数据
      3. 1.6.3导入约定
      4. 1.6.4术语
  9. 第2章 Python语言基础、IPython及Jupyter notebook
    1. 2.1 Python解释器
    2. 2.2 IPython基础
      1. 2.2.1 运行IPython命令行
      2. 2.2.2 运行 Jupyter notebook
      3. 2.2.3 Tab补全
      4. 2.2.4 内省
      5. 2.2.5 %run命令
      6. 2.2.6 执行剪贴板中的程序
      7. 2.2.7 终端快捷键
      8. 2.2.8 关于魔术命令
      9. 2.2.9 matplotlib集成
    3. 2.3 Python语言基础
      1. 2.3.1 语言语义
      2. 2.3.2 标量类型 (1/2)
      3. 2.3.2 标量类型 (2/2)
      4. 2.3.3 控制流
  10. 第3章 内建数据结构、函数及文件
    1. 3.1 数据结构和序列
      1. 3.1.1 元组
      2. 3.1.2 列表
      3. 3.1.3 内建序列函数
      4. 3.1.4 字典
      5. 3.1.5集合
      6. 3.1.6 列表、集合和字典的推导式
    2. 3.2 函数
      1. 3.2.1 命名空间、作用域和本地函数
      2. 3.2.2 返回多个值
      3. 3.2.3 函数是对象
      4. 3.2.4 匿名(Lambda)函数
      5. 3.2.5 柯里化:部分参数应用
      6. 3.2.6 生成器
      7. 3.2.7 错误和异常处理
    3. 3.3 文件与操作系统
      1. 3.3.1 字节与Unicode文件
    4. 3.4 本章小结
  11. 第4章 NumPy基础:数组与向量化计算
    1. 4.1 NumPy ndarray:多维数组对象
      1. 4.1.1 生成ndarray
      2. 4.1.2 ndarray的数据类型
      3. 4.1.3 NumPy数组算术
      4. 4.1.4 基础索引与切片
      5. 4.1.5 布尔索引
      6. 4.1.6 神奇索引
      7. 4.1.7 数组转置和换轴
    2. 4.2 通用函数:快速的逐元素数组函数
    3. 4.3 使用数组进行面向数组编程
      1. 4.3.1 将条件逻辑作为数组操作
      2. 4.3.2 数学和统计方法
      3. 4.3.3 布尔值数组的方法
      4. 4.3.4 排序
      5. 4.3.5 唯一值与其他集合逻辑
    4. 4.4 使用数组进行文件输入和输出
    5. 4.5 线性代数
    6. 4.6 伪随机数生成
    7. 4.7 示例:随机漫步
      1. 4.7.1 一次性模拟多次随机漫步
    8. 4.8 本章小结
  12. 第5章 pandas入门
    1. 5.1 pandas数据结构介绍
      1. 5.1.1 Series
      2. 5.1.2 DataFrame (1/2)
      3. 5.1.2 DataFrame (2/2)
      4. 5.1.3 索引对象
    2. 5.2 基本功能
      1. 5.2.1 重建索引
      2. 5.2.2 轴向上删除条目
      3. 5.2.3 索引、选择与过滤
      4. 5.2.4 整数索引
      5. 5.2.5 算术和数据对齐
      6. 5.2.6 函数应用和映射
      7. 5.2.7 排序和排名
      8. 5.2.8 含有重复标签的轴索引
    3. 5.3 描述性统计的概述与计算
      1. 5.3.1 相关性和协方差
      2. 5.3.2 唯一值、计数和成员属性
    4. 5.4 本章小结
  13. 第6章 数据载入、存储及文件格式
    1. 6.1 文本格式数据的读写
      1. 6.1.1 分块读入文本文件
      2. 6.1.2 将数据写入文本格式
      3. 6.1.3 使用分隔格式
      4. 6.1.4 JSON数据
      5. 6.1.5 XML和HTML:网络抓取
    2. 6.2 二进制格式
      1. 6.2.1 使用HDF5格式
      2. 6.2.2 读取Microsoft Excel文件
      3. 6.3 与Web API交互
    3. 6.4 与数据库交互
    4. 6.5 本章小结
  14. 第7章 数据清洗与准备
    1. 7.1 处理缺失值
      1. 7.1.1 过滤缺失值
      2. 7.1.2 补全缺失值
    2. 7.2 数据转换
      1. 7.2.1 删除重复值
      2. 7.2.2 使用函数或映射进行数据转换
      3. 7.2.3 替代值
      4. 7.2.4 重命名轴索引
      5. 7.2.5 离散化和分箱
      6. 7.2.6 检测和过滤异常值
      7. 7.2.7 置换和随机抽样
      8. 7.2.8 计算指标/虚拟变量
    3. 7.3 字符串操作
      1. 7.3.1 字符串对象方法
      2. 7.3.2 正则表达式
      3. 7.3.3 pandas中的向量化字符串函数
    4. 7.4 本章小结
  15. 第8章 数据规整:连接、联合与重塑
    1. 8.1 分层索引
      1. 8.1.1重排序和层级排序
      2. 8.1.2 按层级进行汇总统计
      3. 8.1.3 使用DataFrame的列进行索引
    2. 8.2 联合与合并数据集
      1. 8.2.1 数据库风格的DataFrame连接
      2. 8.2.2 根据索引合并
      3. 8.2.3 沿轴向连接
      4. 8.2.4 联合重叠数据
    3. 8.3 重塑和透视
      1. 8.3.1 使用多层索引进行重塑
      2. 8.3.2 将“长”透视为“宽”
      3. 8.3.3 将“宽”透视为“长”
    4. 8.4 本章小结
  16. 第9章 绘图与可视化
    1. 9.1 简明matplotlib API入门
      1. 9.1.1 图片与子图
      2. 9.1.2 颜色、标记和线类型
      3. 9.1.3 刻度、标签和图例
      4. 9.1.4 注释与子图加工
      5. 9.1.5 将图片保存到文件
      6. 9.1.6 matplotlib设置
    2. 9.2 使用pandas和seaborn绘图
      1. 9.2.1 折线图
      2. 9.2.2 柱状图
      3. 9.2.3 直方图和密度图
      4. 9.2.4 散点图或点图
      5. 9.2.5 分面网格和分类数据
    3. 9.3 其他Python可视化工具
    4. 9.4 本章小结
  17. 第10章 数据聚合与分组操作
    1. 10.1 GroupBy机制
      1. 10.1.1 遍历各分组
      2. 10.1.2 选择一列或所有列的子集
      3. 10.1.3 使用字典和Series分组
      4. 10.1.4 使用函数分组
      5. 10.1.5 根据索引层级分组
    2. 10.2 数据聚合
      1. 10.2.1 逐列及多函数应用
      2. 10.2.2 返回不含行索引的聚合数据
    3. 10.3 应用:通用拆分-应用-联合
      1. 10.3.1 压缩分组键
      2. 10.3.2 分位数与桶分析
      3. 10.3.3 示例:使用指定分组值填充缺失值
      4. 10.3.4 示例:随机采样与排列
      5. 10.3.5 示例:分组加权平均和相关性
      6. 10.3.6 示例:逐组线性回归
    4. 10.4 数据透视表与交叉表
      1. 10.4.1 交叉表:crosstab
    5. 10.5 本章小结
  18. 第11章 时间序列
    1. 11.1 日期和时间数据的类型及工具
      1. 11.1.1 字符串与datetime互相转换
    2. 11.2 时间序列基础
      1. 11.2.1 索引、选择、子集
      2. 11.2.2 含有重复索引的时间序列
    3. 11.3 日期范围、频率和移位
      1. 11.3.1 生成日期范围
      2. 11.3.2 频率和日期偏置
      3. 11.3.3 移位(前向和后向)日期
    4. 11.4 时区处理
      1. 11.4.1 时区的本地化和转换
      2. 11.4.2 时区感知时间戳对象的操作
      3. 11.4.3 不同时区间的操作
    5. 11.5 时间区间和区间算术
      1. 11.5.1 区间频率转换
      2. 11.5.2 季度区间频率
      3. 11.5.3 将时间戳转换为区间(以及逆转换)
      4. 11.5.4 从数组生成PeriodIndex
    6. 11.6 重新采样与频率转换
      1. 11.6.1 向下采样
      2. 11.6.2 向上采样与插值
      3. 11.6.3 使用区间进行重新采样
    7. 11.7 移动窗口函数
      1. 11.7.1 指数加权函数
      2. 11.7.2 二元移动窗口函数
      3. 11.7.3 用户自定义的移动窗口函数
    8. 11.8 本章小结
  19. 第12章 高阶pandas
    1. 12.1 分类数据
      1. 12.1.1 背景和目标
      2. 12.1.2 pandas中的Categorical类型
      3. 12.1.3 使用Categorical对象进行计算
      4. 12.1.4 分类方法
    2. 12.2 高阶GroupBy应用
      1. 12.2.1 分组转换和“展开”GroupBy
      2. 12.2.2 分组的时间重新采样
    3. 12.3 方法链技术
      1. 12.3.1 pipe方法
    4. 12.4 本章小结
  20. 第13章 Python建模库介绍
    1. 13.1 pandas与建模代码的结合
    2. 13.2 使用Patsy创建模型描述
      1. 13.2.1 Patsy公式中的数据转换
      2. 13.2.2 分类数据与Patsy
    3. 13.3 statsmodels介绍
      1. 13.3.1 评估线性模型
      2. 13.3.2 评估时间序列处理
    4. 13.4 scikit-learn介绍
    5. 13.5 继续你的教育
  21. 第14章 数据分析示例
    1. 14.1 从Bitly获取1.USA.gov数据
      1. 14.1.1 纯Python时区计数
      2. 14.1.2 使用pandas进行时区计数 (1/2)
      3. 14.1.2 使用pandas进行时区计数 (2/2)
    2. 14.2 MovieLens 1M数据集
      1. 14.2.1 测量评价分歧
    3. 14.3 美国1880~2010年的婴儿名字
      1. 14.3.1分析名字趋势 (1/2)
      2. 14.3.1分析名字趋势 (2/2)
    4. 14.4 美国农业部食品数据库 (1/2)
    5. 14.4 美国农业部食品数据库 (2/2)
    6. 14.5 2012年联邦选举委员会数据库
      1. 14.5.1 按职业和雇主的捐献统计
      2. 14.5.2 捐赠金额分桶
      3. 14.5.3 按州进行捐赠统计
    7. 14.6 本章小结
  22. 附录A 高阶NumPy (1/7)
  23. 附录A 高阶NumPy (2/7)
  24. 附录A 高阶NumPy (3/7)
  25. 附录A 高阶NumPy (4/7)
  26. 附录A 高阶NumPy (5/7)
  27. 附录A 高阶NumPy (6/7)
  28. 附录A 高阶NumPy (7/7)
  29. 附录B 更多IPython系统相关内容 (1/4)
  30. 附录B 更多IPython系统相关内容 (2/4)
  31. 附录B 更多IPython系统相关内容 (3/4)
  32. 附录B 更多IPython系统相关内容 (4/4)
  33. 作者介绍
  34. 封面介绍

Product information

  • Title: 利用 Python 进行数据分析(原书第2版)
  • Author(s): Wes McKinney
  • Release date: July 2018
  • Publisher(s): China Machine Press
  • ISBN: 9787111603702

You might also like

book

Python 技術手冊 第三版

by lex Martelli, Anna Martelli Ravenscroft, Steve Holden

涵蓋Python 2.7&3.5 重點提示3.6新功能 快速參考指南 「本書不僅無所不包,Python有的書中都有,而且容易理解。它清楚解釋了Python中每個部分存在的理由,以及你應該用何種思維組合它們。」 —Peter Norvig Google研究總監 從設計和原型製作,到測試、部署和維護,用途多樣的Python在當今最受歡迎的程式語言中始終名列前茅。這本實用書籍的第三版為此語言提供了快速的參考指南,包含Python 3.5、2.7,以及3.6 新功能的重點提示,介紹其龐大標準程式庫最常用到的部分,還有一些好用的第三方模組與套件。 適用於具有一些Python經驗或從其他程式語言而來的程式設計師,本書涵蓋了廣泛的應用領域,包括Web和網路程式設計、XML處理、資料庫互動,以及高速的數值運算,並能幫助你了解Python如何結合優雅性、簡潔性、實用性和純粹的力量來提供獨特的功能組合。 本版涵蓋: ‧Python語法、物件導向的Python、標準程式庫模組,以及第三方的Python套件 ‧Python對檔案與文字作業、續存與資料庫、共時執行,以及數值計算的支援 ‧網路基本知識、事件驅動程式設計,以及客戶端網路協定模組 …

article

Run Llama-2 Models Locally with llama.cpp

by Federico Castanedo

Llama is Meta’s answer to the growing demand for LLMs. Unlike its well-known technological relative, ChatGPT, …

book

bash shell脚本编程经典实例 (第2版)

by Carl Albing, JP Vossen

对于系统管理员、程序员和最终用户而言,shell命令或精心设计的shell脚本不仅能节省时间和精力,还可以提升各种常见任务的一致性和可重复性。作为一款流行的Unix shell,bash让你能够利用和自定义Unix或Linux系统的任意功能。 本书将全面讲述bash,内容适用于所有Unix和Linux用户,无论新人还是老手(包括熟练的Windows用户和管理员)。书中提供了300多个bash实例,每个实例均包含一个或多个示例脚本,能够帮你解决各种各样的问题。你将学到如何处理输入/输出、文件操作、程序执行、管理任务以及许多其他挑战。 本书实例包括: 标准输出和输入以及执行命令 shell变量、shell逻辑和算术 中级shell工具和高级脚本编写 使用find、locate和slocate查找文件 处理日期和时间 为各种最终用户任务创建shell脚本 处理涉及解析操作的任务 编写安全的shell脚本 配置和自定义bash

book

社交网站的数据挖掘与分析 (原书第3 版)

by Matthew A. Russell, Mikhail Klassen

本书指导你挖掘隐藏在Twitter、Facebook、LinkedIn、Instagram和GitHub等流行社交网站上的丰富数据。通过这本畅销指南,数据科学家、分析师和程序员将学习如何在Jupyter Notebook或者Docker容器中使用Python代码分析社交媒体中的真知灼见——哪些人正在通过社交媒体进行联系?他们正在谈论什么?他们目前身在何处? 在本书的第一部分,每一章都聚焦社交网站生态的某个具体方面,囊括了各大主流社交网站,也包括了网页、博客和订阅源、邮箱、GitHub以及新增加的Instagram的内容。第二部分提供了实用指南,其中包括超过20个供挖掘Twitter数据之用的简短代码解决方案。 通过阅读本书,你将能够: 极速鸟瞰社交网站生态。 将每章的代码打包为Jupyter Notebook,并使用Docker轻松运行。 借用并活用开源GitHub代码库。 了解如何使用Python 3工具对收集的数据条分缕析。 使用先进的数据挖掘技术,如TF-IDF、余弦相似度、共现分析、团检测和图像识别。 借助Python和JavaScript工具包构建漂亮的数据可视化。