1、利用Python进行数据分析(原书第2版)演讲人2021-11-111 准备工作准备工作011 准备工作20171.1 本书内容0120181.2 为何利用Python进行数据分析0220191.3 重要的Python库0320201.4 安装与设置0420211.5 社区和会议0520221.6 快速浏览本书061 准备工作1.1 本书内容1.1.1 什么类型的数据1 准备工作1.2 为何利用Python进行数据分析1.2.1 Python作为胶水1.2.2 解决“双语言”难题1.2.3 为何不使用Python1.3 重要的Python库1 准备工作1.3.1 NumPy1.3.2 pand
2、as1.3.3 matplotlib1.3.6 scikit-learn1.3.5 SciPy1.3.4 IPython与Jupyter1 准备工作1.3 重要的Python库1.3.7 statsmodels1 准备工作1.4 安装与设置1.4.1 Windows011.4.2 Apple(OS X和macOS)021.4.3 GNU/Linux031.4.4 安装及更新Python包041.4.5 Python 2和Python 3051.4.6 集成开发环境和文本编辑器061 准备工作1.6 快速浏览本书011.6.1 代码示例1.6.2 示例数据021.6.3 导入约定031.6.4
3、术语042 Python语言基础、语言基础、IPython及及Jupyter notebook022 Python语言基础、IPython及Jupyter notebook2.1 Python解释器2.2 IPython基础2.3 Python语言基础2.2 IPython基础2 Python语言基础、IPython及Jupyter notebook2.2.2 运行Jupyter notebook2.2.4 内省2.2.6 执行剪贴板中的程序2.2.1 运行IPython命令行2.2.3 Tab补全2.2.5%run命令2 Python语言基础、IPython及Jupyter notebook
4、2.2 IPython基础CBA2.2.7 终端快捷键2.2.8 关于魔术命令2.2.9 matplotlib集成2 Python语言基础、IPython及Jupyter notebook2.3 Python语言基础2.3.1 语言语义2.3.2 标量类型2.3.3 控制流3 内建数据结构、内建数据结构、函数及文件函数及文件033 内建数据结构、函数及文件3.1 数据结构和序列A3.2 函数B3.3 文件与操作系统C3.4 本章小结D3 内建数据结构、函数及文件3.1 数据结构和序列3.1.1 元组013.1.2 列表023.1.3 内建序列函数033.1.4 字典043.1.5 集合053.
5、1.6 列表、集合和字典的推导式063.2 函数3 内建数据结构、函数及文件3.2.2 返回多个值3.2.4 匿名(Lambda)函数3.2.6 生成器3.2.1 命名空间、作用域和本地函数3.2.3 函数是对象3.2.5 柯里化:部分参数应用3 内建数据结构、函数及文件3.2 函数3.2.7 错误和异常处理3 内建数据结构、函数及文件3.3 文件与操作系统3.3.1 字节与Unicode文件4 NumPy基础:数基础:数组与向量化计算组与向量化计算044 NumPy基础:数组与向量化计算AEDFBC4.2 通用函数:快速的逐元素数组函数4.3 使用数组进行面向数组编程4.5 线性代数4.4
6、使用数组进行文件输入和输出4.6 伪随机数生成4.1 NumPy ndarray:多维数组对象4 NumPy基础:数组与向量化计算4.7 示例:随机漫步4.8 本章小结4 NumPy基础:数组与向量化计算4.1 NumPy ndarray:多维数组对象0102030405064.1.1 生成ndarray4.1.2 n d a r r a y的 数 据 类 型4.1.3 N u m P y数 组 算 术4.1.4 基础索引与切片4.1.5 布尔索引4.1.6 神奇索引4 NumPy基础:数组与向量化计算4.1 NumPy ndarray:多维数组对象4.1.7 数组转置和换轴4 NumPy基础
7、:数组与向量化计算4.3 使用数组进行面向数组编程4.3.5 唯一值与其他集合逻辑4.3.4 排序4.3.3 布尔值数组的方法4.3.2 数学和统计方法4.3.1 将条件逻辑作为数组操作4 NumPy基础:数组与向量化计算4.7 示例:随机漫步4.7.1 一次性模拟多次随机漫步5 pandas入门入门055 pandas入门015.1 pandas数据结构介绍025.2 基本功能035.3 描述性统计的概述与计算045.4 本章小结5 pandas入门5.1 pandas数据结构介绍5.1.1 Series5.1.2 DataFrame5.1.3 索引对象5.2 基本功能5 pandas入门5
8、.2.1 重建索引5.2.2 轴向上删除条目5.2.3 索引、选择与过滤5.2.4 整数索引5.2.5 算术和数据对齐5.2.6 函数应用和映射5 pandas入门5.2 基本功能AB5.2.8 含有重复标签的轴索引5.2.7 排序和排名5 pandas入门5.3 描述性统计的概述与计算15.3.1 相关性和协方差25.3.2 唯一值、计数和成员属性6 数据载入、存储数据载入、存储及文件格式及文件格式066 数据载入、存储及文件格式6.1 文本格式数据的读写6.2 二进制格式6.5 本章小结6.4 与数据库交互6.3 与Web API交互6 数据载入、存储及文件格式6.1 文本格式数据的读写6
9、.1.2 将数据写入文本格式026.1.4 JSON数据046.1.1 分块读入文本文件016.1.3 使用分隔格式036.1.5 XML和HTML:网络抓取056 数据载入、存储及文件格式6.2 二进制格式A6.2.1 使用HDF5格式6.2.2 读取Microsoft Excel文件B7 数据清洗与准备数据清洗与准备077 数据清洗与准备017.1 处理缺失值7.2 数据转换027.3 字符串操作037.4 本章小结047 数据清洗与准备7.1 处理缺失值7.1.1 过滤缺失值17.1.2 补全缺失值27.2 数据转换7 数据清洗与准备7.2.2 使用函数或映射进行数据转换7.2.4 重命
10、名轴索引7.2.6 检测和过滤异常值7.2.1 删除重复值7.2.3 替代值7.2.5 离散化和分箱7 数据清洗与准备7.2 数据转换A7.2.7 置换和随机抽样7.2.8 计算指标/虚拟变量B7.3 字符串操作7 数据清洗与准备7.3.1 字符串对象方法7.3.2 正则表达式7.3.3 pandas中的向量化字符串函数8 数据规整:连接、数据规整:连接、联合与重塑联合与重塑088 数据规整:连接、联合与重塑8.1 分层索引18.3 重塑和透视38.2 联合与合并数据集28.4 本章小结48 数据规整:连接、联合与重塑8.1 分层索引CBA8.1.1 重排序和层级排序8.1.2 按层级进行汇总
11、统计8.1.3 使用DataFrame的列进行索引8 数据规整:连接、联合与重塑8.2 联合与合并数据集8.2.1 数据库风格的DataFrame连接8.2.2 根据索引合并8.2.3 沿轴向连接8.2.4 联合重叠数据8 数据规整:连接、联合与重塑8.3 重塑和透视CBA8.3.1 使用多层索引进行重塑8.3.2 将“长”透视为“宽”8.3.3 将“宽”透视为“长”9 绘图与可视化绘图与可视化099 绘图与可视化9.1 简明matplotlib API入门9.2 使用pandas和seaborn绘图9.3 其他Python可视化工具9.4 本章小结DCAB9.1 简明matplotlib A
12、PI入门9 绘图与可视化9.1.1 图片与子图9.1.2 颜色、标记和线类型9.1.3 刻度、标签和图例9.1.6 matplotlib设置9.1.5 将图片保存到文件9.1.4 注释与子图加工9 绘图与可视化9.2 使用pandas和seaborn绘图9.2.1 折线图9.2.2 柱状图9.2.3 直方图和密度图9.2.5 分面网格和分类数据9.2.4 散点图或点图10 数据聚合与分数据聚合与分组操作组操作1010 数据聚合与分组操作10.2 数据聚合10.4 数据透视表与交叉表10.1 GroupBy机制10.3 应用:通用拆分-应用-联合10.5 本章小结10.1 GroupBy机制10
13、 数据聚合与分组操作10.1.2 选择一列或所有列的子集10.1.4 使用函数分组10.1.1 遍历各分组10.1.3 使用字典和Series分组10.1.5 根据索引层级分组LOGOhttps:/ 数据聚合与分组操作10.2 数据聚合A10.2.1 逐列及多函数应用10.2.2 返回不含行索引的聚合数据B10 数据聚合与分组操作10.3 应用:通用拆分-应用-联合ABCDEF10.3.1 压缩分组键10.3.2 分位数与桶分析10.3.3 示例:使用指定分组值填充缺失值10.3.4 示例:随机采样与排列10.3.5 示例:分组加权平均和相关性10.3.6 示例:逐组线性回归10 数据聚合与分
14、组操作10.4 数据透视表与交叉表10.4.1 交叉表:crosstab11 时间序列时间序列1111 时间序列11.6 重新采样与频率转换11.5 时间区间和区间算术11.4 时区处理11.3 日期范围、频率和移位11.2 时间序列基础11.1 日期和时间数据的类型及工具11 时间序列11.7 移动窗口函数11.8 本章小结11 时间序列11.1 日期和时间数据的类型及工具11.1.1 字符串与datetime互相转换11 时间序列11.2 时间序列基础A11.2.1 索引、选择、子集11.2.2 含有重复索引的时间序列BLOGOhttps:/ 时间序列11.3 日期范围、频率和移位11.3
15、.1 生成日期范围11.3.2 频率和日期偏置11.3.3 移位(前向和后向)日期11.4 时区处理11 时间序列11.4.2 时区感知时间戳对象的操作11.4.1 时区的本地化和转换11.4.3 不同时区间的操作11.5 时间区间和区间算术11 时间序列ADBC11.5.2 季度区间频率11.5.3 将时间戳转换为区间(以及逆转换)11.5.4 从数组生成PeriodIndex11.5.1 区间频率转换11 时间序列11.6 重新采样与频率转换11.6.1 向下采样11.6.2 向上采样与插值11.6.3 使用区间进行重新采样11.7 移动窗口函数11 时间序列11.7.2 二元移动窗口函数
16、11.7.1 指数加权函数11.7.3 用户自定义的移动窗口函数12 高阶高阶pandas1212 高阶pandas0112.1 分类数据0212.2 高阶GroupBy应用0312.3 方法链技术0412.4 本章小结12.1 分类数据12 高阶pandas12.1.1 背景和目标12.1.2 pandas中的Categorical类型12.1.3 使用Categorical对象进行计算12.1.4 分类方法12 高阶pandas12.2 高阶GroupBy应用A12.2.1 分组转换和“展开”GroupBy12.2.2 分组的时间重新采样B12 高阶pandas12.3 方法链技术12.3
17、.1 pipe方法13 Python建模库建模库介绍介绍1313 Python建模库介绍13.4 scikit-learn介绍13.3 statsmodels介绍13.2 使用Patsy创建模型描述13.1 pandas与建模代码的结合 13.2.1 Patsy公式中的数据转换13.2.2 分类数据与Patsy13.3.1 评估线性模型13.3.2 评估时间序列处理 13.5 继续你的教育 14 数据分析示例数据分析示例1414 数据分析示例14.2 MovieLens 1M数据集14.4 美国农业部食品数据库14.6 本章小结14.1 从Bitly获取1.USA.gov数据14.3 美国18
18、802010年的婴儿名字14.5 2012年联邦选举委员会数据库14 数据分析示例14.1 从Bitly获取1.USA.gov数据14.1.1 纯Python时区计数14.1.2 使用pandas进行时区计数14 数据分析示例14.2 MovieLens 1M数据集14.2.1 测量评价分歧14 数据分析示例14.3 美国18802010年的婴儿名字14.3.1 分析名字趋势14 数据分析示例14.5 2012年联邦选举委员会数据库CBA14.5.1 按职业和雇主的捐献统计14.5.2 捐赠金额分桶14.5.3 按州进行捐赠统计附录附录A 高阶高阶NumPy15附录A 高阶NumPy01020
19、3040506A.1 ndarray对象内幕A.2 高阶数组操作A.3 广播A.4 高阶ufunc用法A.5 结构化和记录数组A.6 更多关于排序的内容附录A 高阶NumPyA.8 高阶数组输入和输出A.9 性能技巧A.7 使用Numba编写快速NumPy函数附录A 高阶NumPyA.1 ndarray对象内幕A.1.1 NumPy dtype层次结构A.2 高阶数组操作附录A 高阶NumPyA.2.2 C顺序和Fortran顺序A.2.4 重复元素:tile和repeatA.2.1 重塑数组A.2.3 连接和分隔数组A.2.5 神奇索引的等价方法:take和put附录A 高阶NumPyA.3
20、 广播AA.3.1 在其他轴上广播A.3.2 通过广播设定数组的值BA.4 高阶ufunc用法附录A 高阶NumPyA.4.2 使用Python编写新的ufunc方法A.4.1 ufunc实例方法附录A 高阶NumPyA.5 结构化和记录数组AA.5.1 嵌套dtype和多维字段A.5.2 为什么要使用结构化数组BA.6 更多关于排序的内容附录A 高阶NumPy01020304A.6.1 间接排序:argsort和lexsortA.6.2 其他的排序算法A.6.3 数组的部分排序A.6.4 numpy.searchsorted:在已排序的数组寻找元素附录A 高阶NumPyA.7 使用Numba
21、编写快速NumPy函数A.7.1 使用Numba创建自定义numpy.ufunc对象附录A 高阶NumPyA.8 高阶数组输入和输出AA.8.1 内存映射文件A.8.2 HDF5和其他数组存储选择B附录A 高阶NumPyA.9 性能技巧A.9.1 连续内存的重要性附录附录B 更多更多IPython系统相关内容系统相关内容16附录B 更多IPython系统相关内容AEDFBCB.2 与操作系统交互B.3 软件开发工具B.5 高阶IPython特性B.4 使用IPython进行高效代码开发的技巧B.6 附录小结B.1 使用命令历史LOGOhttps:/ 更多IPython系统相关内容B.1 使用命
22、令历史B.1.2 输入和输出变量B.1.1 搜索和复用命令历史12附录B 更多IPython系统相关内容B.2 与操作系统交互AB.2.1 shell命令及其别名B.2.2 目录书签系统B附录B 更多IPython系统相关内容B.3 软件开发工具B.3.1 交互式调试器B.3.2 对代码测时:%time和%timeitB.3.3 基础分析:%prun和%run-pB.3.4 逐行分析函数附录B 更多IPython系统相关内容B.4 使用IPython进行高效代码开发的技巧01B.4.1 重载模块依赖项02B.4.2 代码设计技巧B.5 高阶IPython特性附录B 更多IPython系统相关内容B.5.2 配置文件与配置B.5.1 使你自定义的类对IPython友好作者介绍作者介绍17作者介绍封面介绍封面介绍18封面介绍感 谢 聆 听