展开全部

主编推荐语

一本数据分析的入门必读书。

内容简介

本书由Python pandas项目创始人Wes McKinney亲笔撰写,详细介绍利用Python进行操作、处理、清洗和规整数据等方面的具体细节和基本要点。第2版针对Python 3.6进行全面修订和更新,涵盖新版的pandas、NumPy、IPython和Jupyter,并增加大量实际案例,可以帮助你高效解决一系列数据分析问题。

第2版中的主要更新包括:所有的代码,包括把Python的教程更新到了Python 3.6版本(第1版中使用的是Python 2.7);更新了Python第三方发布版Anaconda和其他所需Python包的安装指引;更新pandas库到2017年的新版;新增一章,关于更多高级pandas工具和一些使用提示;新增statsmodels和scikit-learn的简明使用介绍。

目录

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

评分及书评

4.2
5个评分
  • 用户头像
    给这本书评了
    5.0

    本书的目的在于帮助你完成工作。一般来说,本书提供的示例代码,你可以在你的程序或文档中使用而无须联系我们获取许可,除非你需要重造大量代码。举例来说,使用本书中的代码段编写程序无须授权许可,但销售或发行 OReilly 图书的 CD-ROM 代码示例则需要许可。引用本书代码回答问题不需要许可,但在你的产品文档中大量使用本书示例代码则需要许可。

      转发
      评论
      用户头像
      给这本书评了
      5.0
      详略得当

      很合适的入门书,难度合理,翻译也流畅。

        转发
        评论
        用户头像
        给这本书评了
        4.0
        全面复杂,但值得一读!

        Wes McKinney 在麻省理工学院获得数学本科学位后,在 AQR 资本管理公司做量化金融的工作。这样的履历非常棒了。本书是我学习的十多本关于 Python 用于数据分析和量化金融书籍中最全面的一本,才疏学浅,很多搞不懂,还需要不停的学习。老外写的书出发点不一样,非常详细全面!逻辑上还需要磨合下!不过获益匪浅!值得推荐!

          转发
          评论

        出版方

        机械工业出版社有限公司

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