Python数据分析


《Python数据分析》读书摘要

《Python数据分析》由江雪松、邹静编著,清华大学出版社出版,是一本全面介绍使用Python进行数据分析的书籍,涵盖了从基础理论到实际应用的丰富内容。

主要内容:

• 数据分析基础与环境搭建:开篇阐述了数据分析的概念、目标、分类以及基本流程,通过“硝烟中的数据分析”等内容,让读者理解数据分析在实际场景中的重要性和应用方式。接着介绍了为什么选择Python进行数据分析,以及Python数据科学开发栈,包括Cython、NumPy、IPython、Jupyter、SciPy、Matplotlib、Pandas、Scikit-learn等工具和库的简介,还详细讲解了Anaconda的安装与使用,为后续的数据分析实践搭建了环境基础。

• Pandas基础与数据处理:深入讲解了Pandas的核心概念,如DataFrame的基本要素、数据类型、Series以及链式方法等。涵盖了数据整理、分组统计、数据整合(包括数据读入、合并等)、数据可视化(使用Matplotlib、Pandas绘图以及Seaborn)等内容,还介绍了数据筛选、数据类型转换、缺失数据与异常数据处理、描述性统计等数据处理的基本操作和技巧,使读者能够熟练运用Pandas进行数据的预处理和初步分析。

• 数据分析实战应用:通过多个实际案例,如探索性数据分析(某电商销售数据分析)、群组分析、利用RFM分析对用户进行分类、购物篮分析等,展示了如何运用前面所学的知识和工具解决实际业务问题。此外,还涉及概率分布、假设检验等统计学知识在数据分析中的应用,以及时间序列分析(如认识时间序列数据、分解、平稳性等,并利用ARIMA模型分析家具销售)、股票数据分析(股票收益分析、CAPM资产定价模型选股等)等特定领域的数据分析方法和实践。最后,还介绍了大规模数据处理的方法和工具选择,以及如何利用数据分析找工作等内容,具有很强的实用性和指导性。

详细目录:

• 上篇 Pandas数据分析基础

• 第1章 数据分析初探

• 1.1 “数据+”时代的到来

• 1.2 什么是数据分析

• 1.2.1 数据分析的目标

• 1.2.2 数据分析分类

• 1.2.3 典型的数据分析方法

• 1.3 数据分析的基本流程

• 1.3.1 问题定义

• 1.3.2 收集数据

• 1.3.3 数据处理

• 1.3.4 数据分析

• 1.3.5 结果解读与应用

• 1.4 硝烟中的数据分析

• 1.4.1 数据分析的产生

• 1.4.2 验证问题

• 1.4.3 寻找原因

• 1.4.4 数据怎么说

• 1.4.5 数据分析中应该避免的典型问题

• 第2章 搭建数据科学开发环境

• 2.1 为什么选择Python

• 2.1.1 人生苦短,我用Python

• 2.1.2 为何Python是数据科学家的最佳选择

• 2.2 Python数据科学开发栈

• 2.2.1 Cython

• 2.2.2 NumPy

• 2.2.3 IPython

• 2.2.4 Jupyter

• 2.2.5 SciPy

• 2.2.6 Matplotlib

• 2.2.7 Pandas

• 2.2.8 Scikit-learn

• 2.2.9 NetworkX

• 2.2.10 PyMC3

• 2.2.11 数据科学领域中最新的一些Python包

• 2.3 Anaconda的安装与使用

• 2.3.1 安装Anaconda

• 2.3.2 利用Conda管理Python环境

• 2.3.3 利用Conda管理Python包

• 2.3.4 安装本书所需的包

• 2.4 使用Jupyter Notebook进行可重复数据分析

• 2.4.1 Jupyter Notebook的配置

• 2.4.2 Jupyter Notebook中的单元格

• 2.4.3 Jupyter Notebook中的命令模式与编辑模式键

• 2.4.4 使用Jupyter Notebook进行数据分析

• 第3章 Pandas基础

• 3.1 什么是DataFrame

• 3.1.1 DataFrame的基本要素

• 3.1.2 数据类型

• 3.1.3 了解Series

• 3.1.4 链式方法

• 3.2 索引与列

• 3.2.1 修改索引与列

• 3.2.2 添加、修改或删除列

• 3.3 选择多列

• 第4章 数据筛选

• 4.1 使用.loc和.iloc筛选行与列数据

• 4.1.1 选择Series和DataFrame中的行

• 4.1.2 同时选择行与列

• 4.2 布尔选择

• 4.2.1 计算布尔值

• 4.2.2 多条件筛选数据

• 第5章 开始利用Pandas进行数据分析

• 5.1 了解元数据

• 5.2 数据类型转换

• 5.3 缺失数据与异常数据处理

• 5.3.1 缺失值与重复值

• 5.3.2 处理缺失数据

• 5.3.3 NumPy与Pandas对缺失数据的不同处理方式

• 5.3.4 填充缺失值

• 5.4 处理重复数据

• 5.5 异常值

• 5.6 描述性统计

• 第6章 数据整理

• 6.1 什么是数据整理

• 6.1.1 数据的语义

• 6.1.2 整齐的数据

• 6.2 数据整理实战

• 6.2.1 列标题是值,而非变量名

• 6.2.2 多个变量存储在一列中

• 6.2.3 变量既在列中存储,又在行中存储

• 6.2.4 多个观测单元存储在同一表中

• 6.2.5 一个观测单元存储在多个表中

• 6.2.6 思考

• 第7章 分组统计

• 7.1 分组、应用和聚合

• 7.2 Pandas中的GroupBy操作

• 7.2.1 单列数据分组统计

• 7.2.2 多列数据分组统计

• 7.2.3 使用自定义函数进行分组统计

• 7.2.4 数据过滤与变换

• 第8章 数据整合

• 8.1 数据读入

• 8.1.1 基本数据读入方法

• 8.1.2 文件读取进阶

• 8.1.3 读取其他格式文件

• 8.2 数据合并

• 8.2.1 认识merge操作

• 8.2.2 merge进阶

• 8.2.3 join与concat

• 第9章 数据可视化

• 9.1 Matplotlib

• 9.1.1 绘制第一个散点图

• 9.1.2 理解figure与axes

• 9.1.3 Matplotlib中面向对象与类Matlab语法的区别

• 9.1.4 修改坐标轴属性

• 9.1.5 修改图形属性

• 9.1.6 定制图例,添加标注

• 9.1.7 子图

• 9.1.8 利用Matplotlib绘制各种图形

• 9.2 Pandas绘图

• 9.2.1 Pandas基础绘图

• 9.2.2 整合Pandas绘图与Matplotlib绘图

• 9.3 Seaborn

• 9.3.1 Seaborn中的样式

• 第10章 探索性数据分析——某电商销售数据分析

• 10.1 数据清洗

• 10.1.1 分析准备

• 10.1.2 了解数据

• 10.2 数据清洗与整理

• 10.2.1 数据类型转换与错误数据剔除

• 10.2.2 添加新数据

• 10.3 探索性数据分析

• 10.3.1 客户分析

• 10.3.2 订单趋势分析

• 10.3.3 客户国家分析

• 10.3.4 留给读者的问题

• 下篇 Python数据分析实战

• 第11章 群组分析

• 11.1 群组分析概述

• 11.1.1 从AARRR到RARRA的转变

• 11.1.2 什么是群组分析

• 11.2 群组分析实战

• 11.2.1 定义群组以及周期

• 11.2.2 群组分析具体过程

• 11.2.3 思考

• 第12章 利用RFM分析对用户进行分类

• 12.1 RFM分析简介

• 12.1.1 RFM模型概述

• 12.1.2 理解RFM

• 12.2 RFM实战

• 12.2.1 R、F、M值的计算

• 12.2.2 利用RFM模型对客户进行细分

• 12.2.3 思考

• 第13章 购物篮分析

• 13.1 购物篮分析概述

• 13.1.1 什么是购物篮分析

• 13.1.2 购物篮分析在超市中的应用

• 13.1.3 购物篮分析案例

• 13.2 购物篮分析案例实现

• 13.2.1 Mxtend库中Apriori算法使用介绍

• 13.2.2 在线销售数据购物篮分析

• 第14章 概率分布

• 14.1 随机的概率分布

• 14.1.1 均匀分布

• 14.1.2 正态分布

• 14.1.3 二项分布

• 14.1.4 泊松分布

• 14.1.5 几何分布与指数分布

• 14.2 点估计与置信区间

• 14.2.1 点估计

• 14.2.2 抽样分布与中心极限定理

• 14.2.3 置信区间

• 14.3 留给读者的思考

• 第15章 假设检验

• 15.1 假设检验概述

• 15.1.1 初识假设检验

• 15.1.2 假设检验的步骤

• 15.1.3 假设检验中的Ⅰ类错误与Ⅱ类错误

• 15.2 Python中的假设检验

• 15.2.1 单样本t-test

• 15.2.2 双样本t-test

• 15.2.3 配对t-test

• 15.2.4 卡方检验

• 15.3 留给读者的思考

• 第16章 一名数据分析师的游戏上线之旅

• 16.1 游戏启动时间是否超过目标

• 16.1.1 启动时间是否超过3秒

• 16.1.2 构造启动时间监测图

• 16.2 次日留存率是否大于30%

• 16.3 应该在游戏第几关加入关联微信提示

• 16.3.1 A/B测试

• 16.3.2 贝叶斯解决方案

• 16.4 如何定价

• 16.5 留给读者的思考

• 第17章 利用数据分析找工作

• 17.1 设定分析目标

• 17.1.1 问题定义

• 17.1.2 获取数据

• 17.2 准备分析数据

• 17.2.1 数据准备

• 17.2.2 数据清洗

• 第18章 用数据解读成都房价

• 18.1 设定分析目标

• 18.1.1 问题定义

• 18.1.2 获取数据

• 18.2 解读成都二手房

• 18.2.1 数据准备

• 18.2.2 列名调整

• 18.2.3 数据类型转换

• 18.2.4 数据解读

• 18.2.5 思考

• 第19章 时间序列分析

• 19.1 认识时间序列数据

• 19.1.1 读入时间序列数据

• 19.1.2 时间序列数据的可视化

• 19.2 时间序列数据的分解

• 19.2.1 认识时间序列数据中的模式

• 19.2.2 Python中进行时间序列数据的分解

• 19.3 时间序列的平稳性

• 19.3.1 认识平稳与非平稳时间序列

• 19.3.2 如何让时间序列平稳

• 19.4 利用ARIMA模型分析家具销售

• 19.4.1 ARIMA模型简介

• 19.4.2 数据准备

• 19.4.3 ARIMA模型中的参数

• 19.5 留给读者的思考

• 第20章 股票数据分析

• 20.1 股票收益分析

• 20.1.1 获取股票数据

• 20.1.2 计算每日收益

• 20.1.3 多只股票收益比较

• 20.1.4 股价相关性分析

• 20.2 CAPM资产定价模型选股

• 20.2.1 CAPM公式

• 20.2.2 在Python中实现CAPM

• 20.3 留给读者的思考

• 第21章 大规模数据处理

• 21.1 不同规模数据处理工具的选择

• 21.2 利用Pandas处理大规模数据

• 21.2.1 文件分块读入

• 21.2.2 使用数据库

• 21.2.3 使用DASK

• 21.3 其他可选方法

• 21.4 留给读者的思考

本书内容丰富,结构清晰,理论与实践相结合,适合想要系统学习Python数据分析的读者,无论是初学者还是有一定经验的数据分析从业者,都能从中获得有价值的知识和技能,提升数据分析能力。