zoukankan      html  css  js  c++  java
  • 利用Python进行数据分析(原书第2版)

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

    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 附录小结

    作者介绍

    封面介绍

    思维导图

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

    防止博客图床图片失效,防止图片源站外链:

    http://www.processon.com/chart_image/5e5b48f8e4b02bc3ad6a302d.png)

    思维导图在线编辑链接:

    https://www.processon.com/view/5e5b48f8e4b02bc3ad6a302a

  • 相关阅读:
    Java程序性能优化——让你的java程序更快、更稳定
    synchronized和ReentrantLock
    Java集合——ConcurrentHashMap
    SpringMVC流程
    计算机网络http,https,tcp,udp,get,post
    JVM类加载机制
    关于strcpy和memcpy
    C语言指针
    malloc函数详解
    进程和线程
  • 原文地址:https://www.cnblogs.com/jingle1267/p/13384673.html
Copyright © 2011-2022 走看看