Python是一种计算机语言,但它在数据分析行业中的作用与Excel的基本元素是一样的,Excel是大家都熟知的、非常好用的手机软件,可以根据Excel数据分析学习和训练Python数据分析。本书对比解读了数据分析全过程涉及的每一个实际操作,让你有机会从Excel的实际操作中学习和训练匹配的Python留存,而不是马上学习和训练Python编码,大大降低了学习和训练的门槛,清除了大家对编码的心理恐惧。这是本书的一个整体特色,让用户学习和训练Python数据分析就像学习Excel数据分析一样轻松。
集Python、Excel、数据分析的集成是本书的一大特色。本书重点介绍了所有数据分析:小工具的基本步骤了解-读取数据-统计数据了解-数据处理方法-数据分析-结果分析比较Excel 和Python ,告诉你每一个全过程用的是什么?整个过程和整个过程有什么联系。这样一本好书不仅可以作为系统软件学习培训中数据分析步骤实际操作的指导,也可以作为数据分析师办公桌必备的实用参考书,随时随地可以查阅。本书根据Excel 的实际操作,学习和训练Python 保留代码,而不是马上学习和训练Python代码,大大降低了学习和训练的门槛,消除了用户对编码的心理恐惧。适合新手数据分析师,精通Excel 的数据分析师,或者想在其他岗位提高效率的新人。
目录
- 入门篇
- 第1 章 数据分析基础 . 2
- 1.1 数据分析是什么 2
- 1.2 为什么要做数据分析 2
- 1.2.1 现状分析 . 3
- 1.2.2 原因分析 . 3
- 1.2.3 预测分析 . 3
- 1.3 数据分析究竟在分析什么 4
- 1.3.1 总体概览指标 . 4
- 1.3.2 对比性指标 . 4
- 1.3.3 集中趋势指标 . 4
- 1.3.4 离散程度指标 . 5
- 1.3.5 相关性指标 . 5
- 1.3.6 相关关系与因果关系 . 6
- 1.4 数据分析的常规流程 6
- 1.4.1 熟悉工具 . 6
- 1.4.2 明确目的 . 7
- 1.4.3 获取数据 . 7
- 1.4.4 熟悉数据 . 7
- 1.4.5 处理数据 . 7
- 1.4.6 分析数据 . 8
- 1.4.7 得出结论 . 8
- 1.4.8 验证结论 . 8
- 1.4.9 展示结论 . 8
- 1.5 数据分析工具:Excel 与Python .. 8
- 实践篇
- 第2 章 熟悉锅——Python 基础知识 . 12
- 2.1 Python 是什么 .. 12
- 2.2 Python 的下载与安装 .. 13
- 2.2.1 安装教程 ... 13
- 2.2.2 IDE 与IDLE . 17
- 2.3 介绍Jupyter Notebook 17
- 2.3.1 新建Jupyter Notebook 文件 17
- 2.3.2 运行你的第一段代码 ... 19
- 2.3.3 重命名Jupyter Notebook 文件 19
- 2.3.4 保存Jupyter Notebook 文件 19
- 2.3.5 导入本地Jupyter Notebook 文件 20
- 2.3.6 Jupyter Notebook 与Markdown ... 21
- 2.3.7 为Jupyter Notebook 添加目录 21
- 2.4 基本概念 .. 26
- 2.4.1 数 ... 26
- 2.4.2 变量 ... 26
- 2.4.3 标识符 ... 27
- 2.4.4 数据类型 ... 28
- 2.4.5 输出与输出格式设置 ... 28
- 2.4.6 缩进与注释 ... 29
- 2.5 字符串 .. 30
- 2.5.1 字符串的概念 ... 30
- 2.5.2 字符串的连接 ... 30
- 2.5.3 字符串的复制 ... 30
- 2.5.4 获取字符串的长度 ... 30
- 2.5.5 字符串查找 ... 31
- 2.5.6 字符串索引 ... 31
- 2.5.7 字符串分隔 ... 32
- 2.5.8 移除字符 ... 32
- 2.6 数据结构——列表 .. 33
- 2.6.1 列表的概念 ... 33
- 2.6.2 新建一个列表 ... 33
- 2.6.3 列表的复制 ... 34
- 2.6.4 列表的合并 ... 34
- 2.6.5 向列表中插入新元素 ... 34
- 2.6.6 获取列表中值出现的次数 ... 35
- 2.6.7 获取列表中值出现的位置 ... 35
- 2.6.8 获取列表中指定位置的值 ... 36
- 2.6.9 删除列表中的值 ... 36
- 2.6.10 对列表中的值进行排序 . 37
- 2.7 数据结构——字典 .. 37
- 2.7.1 字典的概念 ... 37
- 2.7.3 字典的keys()、values()和items()方法 ... 37
- 2.8 数据结构——元组 .. 38
- 2.8.1 元组的概念 ... 38
- 2.8.2 新建一个元组 ... 38
- 2.8.3 获取元组的长度 ... 38
- 2.8.4 获取元组内的元素 ... 39
- 2.8.5 元组与列表相互转换 ... 39
- 2.8.6 zip()函数 ... 39
- 2.9 运算符 .. 40
- 2.9.1 算术运算符 ... 40
- 2.9.2 比较运算符 ... 40
- 2.9.3 逻辑运算符 ... 41
- 2.10 循环语句 41
- 2.10.1 for 循环 ... 41
- 2.10.2 while 循环 ... 42
- 2.11 条件语句 43
- 2.11.1 if 语句 . 43
- 2.11.2 else 语句 .. 44
- 2.11.3 elif 语句 .. 45
- 2.12 函数 46
- 2.12.1 普通函数 . 47
- 2.12.2 匿名函数 . 48
- 2.13 高级特性 49
- 2.13.1 列表生成式 . 49
- 2.13.2 map 函数 . 50
- 2.14 模块 50
- 第3 章 Pandas 数据结构 . 51
- 3.1 Series 数据结构 ... 51
- 3.1.1 Series 是什么 51
- 3.1.2 创建一个Series 52
- 3.1.3 利用index 方法获取Series 的索引 53
- 3.1.4 利用values 方法获取Series 的值 ... 53
- 3.2 DataFrame 表格型数据结构 ... 53
- 3.2.1 DataFrame 是什么 53
- 3.2.2 创建一个DataFrame 54
- 3.2.3 获取DataFrame 的行、列索引 ... 56
- 3.2.4 获取DataFrame 的值 ... 56
- 第4 章 准备食材——获取数据源 .. 57
- 4.1 导入外部数据 .. 57
- 4.1.1 导入.xlsx 文件 .. 57
- 4.1.2 导入.csv 文件 ... 60
- 4.1.3 导入.txt 文件 63
- 4.1.4 导入sql 文件 65
- 4.2 新建数据 .. 67
- 4.3 熟悉数据 .. 67
- 4.3.1 利用head 预览前几行 . 67
- 4.3.2 利用shape 获取数据表的大小 68
- 4.3.3 利用info 获取数据类型 .. 69
- 4.3.4 利用describe 获取数值分布情况 71
- 第5 章 淘米洗菜——数据预处理 .. 73
- 5.1 缺失值处理 .. 73
- 5.1.1 缺失值查看 ... 73
- 5.1.2 缺失值删除 ... 75
- 5.1.3 缺失值填充 ... 77
- 5.2 重复值处理 .. 78
- 5.3 异常值的检测与处理 .. 81
- 5.3.1 异常值检测 ... 81
- 5.3.2 异常值处理 ... 82
- 5.4 数据类型转换 .. 83
- 5.4.1 数据类型 ... 83
- 5.4.2 类型转换 ... 84
- 5.5 索引设置 .. 86
- 5.5.1 为无索引表添加索引 ... 86
- 5.5.2 重新设置索引 ... 87
- 5.5.3 重命名索引 ... 88
- 5.5.4 重置索引 ... 89
- 第6 章 菜品挑选——数据选择 . 91
- 6.1 列选择 .. 91
- 6.1.1 选择某一列/某几列 .. 91
- 6.1.2 选择连续的某几列 ... 92
- 6.2 行选择 .. 93
- 6.2.1 选择某一行/某几行 .. 93
- 6.2.2 选择连续的某几行 ... 94
- 6.2.3 选择满足条件的行 ... 95
- 6.3 行列同时选择 .. 96
- 6.3.1 普通索引 普通索引选择指定的行和列 . 97
- 6.3.2 位置索引 位置索引选择指定的行和列 . 97
- 6.3.3 布尔索引 普通索引选择指定的行和列 . 98
- 6.3.4 切片索引 切片索引选择指定的行和列 . 98
- 6.3.5 切片索引 普通索引选择指定的行和列 . 99
- 第7 章 切配菜品——数值操作 ... 100
- 7.1 数值替换 100
- 7.1.1 一对一替换 . 100
- 7.1.2 多对一替换 . 102
- 7.1.3 多对多替换 . 103
- 7.2 数值排序 104
- 7.2.1 按照一列数值进行排序 . 104
- 7.2.2 按照有缺失值的列进行排序 . 106
- 7.2.3 按照多列数值进行排序 . 106
- 7.3 数值排名 108
- 7.4 数值删除 . 110
- 7.4.1 删除列 .. 110
- 7.4.2 删除行 .. 111
- 7.4.3 删除特定行 .. 112
- 7.5 数值计数 . 113
- 7.6 唯一值获取 . 114
- 7.7 数值查找 . 115
- 7.8 区间切分 . 116
- 7.9 插入新的行或列 . 119
- 7.10 行列互换 .. 120
- 7.11 索引重塑 .. 121
- 7.12 长宽表转换 .. 122
- 7.12.1 宽表转换为长表 ... 123
- 7.12.2 长表转换为宽表 ... 125
- 7.13 apply()与applymap()函数 ... 126
- 第8 章 开始烹调——数据运算 ... 127
- 8.1 算术运算 127
- 8.2 比较运算 128
- 8.3 汇总运算 129
- 8.3.1 count 非空值计数 ... 129
- 8.3.2 sum 求和 . 130
- 8.3.3 mean 求均值 ... 130
- 8.3.4 max 求最大值 . 131
- 8.3.5 min 求最小值 . 132
- 8.3.6 median 求中位数 132
- 8.3.7 mode 求众数 ... 133
- 8.3.8 var 求方差 ... 134
- 8.3.9 std 求标准差 ... 134
- 8.3.10 quantile 求分位数 . 135
- 8.4 相关性运算 136
- 第9 章 炒菜计时器——时间序列 138
- 9.1 获取当前时刻的时间 138
- 9.1.1 返回当前时刻的日期和时间 . 138
- 9.1.2 分别返回当前时刻的年、月、日 . 138
- 9.1.3 返回当前时刻的周数 . 139
- 9.2 指定日期和时间的格式 140
- 9.3 字符串和时间格式相互转换 141
- 9.3.1 将时间格式转换为字符串格式 . 141
- 9.3.2 将字符串格式转换为时间格式 . 141
- 9.4 时间索引 142
- 9.5 时间运算 145
- 9.5.1 两个时间之差 . 145
- 9.5.2 时间偏移 . 145
- 第10 章 菜品分类——数据分组/数据透视表 .. 148
- 10.1 数据分组 .. 148
- 10.1.1 分组键是列名 ... 150
- 10.1.2 分组键是Series 151
- 10.1.3 神奇的aggregate 方法 . 152
- 10.1.4 对分组后的结果重置索引 ... 153
- 10.2 数据透视表 .. 154
- 第11 章 水果拼盘——多表拼接 . 158
- 11.1 表的横向拼接 .. 158
- 11.1.1 连接表的类型 ... 158
- 11.1.2 连接键的类型 ... 160
- 11.1.3 连接方式 ... 163
- 11.1.4 重复列名处理 ... 165
- 11.2 表的纵向拼接 .. 165
- 11.2.1 普通合并 ... 166
- 11.2.2 索引设置 ... 167
- 11.2.3 重叠数据合并 ... 167
- 第12 章 盛菜装盘——结果导出 . 169
- 12.1 导出为.xlsx 文件 . 169
- 12.1.1 设置文件导出路径 ... 170
- 12.1.2 设置Sheet 名称 170
- 12.1.3 设置索引 ... 170
- 12.1.4 设置要导出的列 ... 171
- 12.1.5 设置编码格式 ... 171
- 12.1.6 缺失值处理 ... 172
- 12.1.7 无穷值处理 ... 172
- 12.2 导出为.csv 文件 ... 173
- 12.2.1 设置文件导出路径 ... 173
- 12.2.2 设置索引 ... 174
- 12.2.3 设置要导出的列 ... 174
- 12.2.4 设置分隔符号 ... 174
- 12.2.5 缺失值处理 ... 174
- 12.2.6 设置编码格式 ... 175
- 12.3 将文件导出到多个Sheet 175
- 第13 章 菜品摆放——数据可视化 .. 176
- 13.1 数据可视化是什么 .. 176
- 13.2 数据可视化的基本流程 .. 176
- 13.2.1 整理数据 ... 176
- 13.2.2 明确目的 ... 177
- 13.2.3 寻找合适的表现形式 ... 177
- 13.3 图表的基本组成元素 .. 177
- 13.4 Excel 与Python 可视化 ... 179
- 13.5 建立画布和坐标系 .. 179
- 13.5.1 建立画布 ... 179
- 13.5.2 用add_subplot 函数建立坐标系 . 180
- 13.5.3 用plt.subplot2grid 函数建立坐标系 182
- 13.5.4 用plt.subplot 函数建立坐标系 183
- 13.5.5 用plt.subplots 函数建立坐标系 .. 184
- 13.5.6 几种创建坐标系方法的区别 ... 185
- 13.6 设置坐标轴 .. 185
- 13.6.1 设置坐标轴的标题 ... 185
- 13.6.2 设置坐标轴的刻度 ... 187
- 13.6.3 设置坐标轴的范围 ... 190
- 13.6.4 坐标轴的轴显示设置 ... 191
- 13.7 其他图表格式的设置 .. 191
- 13.7.1 网格线设置 ... 191
- 13.7.2 设置图例 ... 193
- 13.7.3 图表标题设置 ... 195
- 13.7.4 设置数据标签 ... 197
- 13.7.5 图表注释 ... 198
- 13.7.6 数据表 ... 199
- 13.8 绘制常用图表 .. 201
- 13.8.1 绘制折线图 ...
和我的想法一致,学习python的第一步并不是学习编程,而是使用python替换常用工具如excel,此后才是在这个基础上的编程提升效率,不然你总觉得用不上,就总不用,最后就是学了仍在一边。
因为Excel与Python对比的切入点不错,几个小时的时间翻完,整体收获不大,可以当做入门笔记翻翻。前面章节一个函数参数,给一个运行结果截图,让人感觉在凑数一样。