.2.12小结14
1.3Pandas快速入门14
1.3.1安装导入14
1.3.2准备数据集15
1.3.3读取数据15
1.3.4查看数据16
1.3.5验证数据17
1.3.6建立索引17
1.3.7数据选取18
1.3.8排序19
1.3.9分组聚合19
1.3.10数据转换20
1.3.11增加列21
1.3.12统计分析21
1.3.13绘图21
1.3.14导出24
1.3.15小结24
1.4本章小结24
第2章数据结构25
2.1数据结构概述25
2.1.1什么是数据25
2.1.2什么是数据结构26
2.1.3小结26
2.2Python的数据结构26
2.2.1数字27
2.2.2字符串27
2.2.3布尔型28
2.2.4列表29
2.2.5元组30
2.2.6字典30
2.2.7集合31
2.2.8小结32
2.3NumPy32
2.3.1NumPy简介33
2.3.2数据结构33
2.3.3创建数据34
2.3.4数据类型34
2.3.5数组信息35
2.3.6统计计算35
2.3.7小结35
2.4Pandas的数据结构35
2.4.1Series36
2.4.2DataFrame36
2.4.3索引37
2.4.4小结38
2.5Pandas生成数据38
2.5.1导入Pandas38
2.5.2创建数据38
2.5.3生成Series40
2.5.4生成DataFrame41
2.5.5小结43
2.6Pandas的数据类型43
2.6.1数据类型查看43
2.6.2常见数据类型44
2.6.3数据检测44
2.6.4小结45
2.7本章小结45
第二部分Pandas数据分析基础
第3章Pandas数据读取与输出48
3.1数据读取48
3.1.1CSV文件49
3.1.2Excel49
3.1.3JSON50
3.1.4HTML50
3.1.5剪贴板51
3.1.6SQL51
3.1.7小结52
3.2读取CSV52
3.2.1语法52
3.2.2数据内容53
3.2.3分隔符53
3.2.4表头54
3.2.5列名54
3.2.6索引54
3.2.7使用部分列54
3.2.8返回序列55
3.2.9表头前缀55
3.2.10处理重复列名55
3.2.11数据类型55
3.2.12引擎55
3.2.13列数据处理56
3.2.14真假值转换56
3.2.15跳过指定行56
3.2.16读取指定行57
3.2.17空值替换57
3.2.18保留默认空值57
3.2.19日期时间解析58
3.2.20文件处理59
3.2.21符号60
3.2.22小结61
3.3读取Excel61
3.3.1语法61
3.3.2文件内容62
3.3.3表格62
3.3.4表头62
3.3.5列名62
3.3.6其他62
3.3.7小结63
3.4数据输出63
3.4.1CSV63
3.4.2Excel63
3.4.3HTML64
3.4.4数据库(SQL)64
3.4.5Markdown65
3.4.6小结65
3.5本章小结65
第4章Pandas基础操作66
4.1索引操作66
4.1.1认识索引66
4.1.2建立索引67
4.1.3重置索引68
4.1.4索引类型68
4.1.5索引对象69
4.1.6索引的属性70
4.1.7索引的操作70
4.1.8索引重命名72
4.1.9修改索引内容72
4.1.10小结73
4.2数据的信息73
4.2.1查看样本73
4.2.2数据形状74
4.2.3基础信息74
4.2.4数据类型74
4.2.5行列索引内容75
4.2.6其他信息75
4.2.7小结75
4.3统计计算76
4.3.1描述统计76
4.3.2数学统计77
4.3.3统计函数78
4.3.4非统计计算79
4.3.5小结80
4.4位置计算80
4.4.1位置差值diff()80
4.4.2位置移动shift()81
4.4.3位置序号rank()81
4.4.4小结82
4.5数据选择82
4.5.1选择列83
4.5.2切片[]83
4.5.3按轴标签.loc84
4.5.4按数字索引.iloc86
4.5.5取具体值.at/.iat86
4.5.6获取数据.get86
4.5.7数据截取.truncate87
4.5.8索引选择器87
4.5.9小结87
4.6本章小结88
第5章Pandas高级操作89
5.1复杂查询89
5.1.1逻辑运算89
5.1.2逻辑筛选数据91
5.1.3函数筛选92
5.1.4比较函数92
5.1.5查询df.query()93
5.1.6筛选df.filter()93
5.1.7按数据类型查询93
5.1.8小结94
5.2数据类型转换94
5.2.1推断类型94
5.2.2指定类型95
5.2.3类型转换astype()95
5.2.4转为时间类型96
5.2.5小结96
5.3数据排序96
5.3.1索引排序97
5.3.2数值排序98
5.3.3混合排序100
5.3.4按值大小排序101
5.3.5小结101
5.4添加修改101
5.4.1修改数值101
5.4.2替换数据103
5.4.3填充空值103
5.4.4修改索引名104
5.4.5增加列104
5.4.6插入列df.insert()105
5.4.7指定列df.assign()106
5.4.8执行表达式df.eval()108
5.4.9增加行109
5.4.10追加合并109
5.4.11删除110
5.4.12删除空值111
5.4.13小结111
5.5高级过滤111
5.5.1df.where()111
5.5.2np.where()113
5.5.3df.mask()115
5.5.4df.lookup()116
5.5.5小结116
5.6数据迭代116
5.6.1迭代Series116
5.6.2df.iterrows()117
5.6.3df.itertuples()117
5.6.4df.items()118
5.6.5按列迭代119
5.6.6小结119
5.7函数应用120
5.7.1pipe()120
5.7.2apply()121
5.7.3applymap()123
5.7.4map()124
5.7.5agg()124
5.7.6transform()125
5.7.7copy()126
5.7.8小结126
5.8本章小结126
第三部分数据形式变化
第6章Pandas分组聚合128
6.1概述128
6.1.1原理128
6.1.2groupby语法129
6.1.3DataFrame应用分组130
6.1.4Series应用分组131
6.1.5小结131
6.2分组131
6.2.1分组对象131
6.2.2按标签分组132
6.2.3表达式132
6.2.4函数分组133
6.2.5多种方法混合134
6.2.6用pipe调用分组方法134
6.2.7分组器Grouper135
6.2.8索引136
6.2.9排序136
6.2.10小结136
6.3分组对象的操作136
6.3.1选择分组137
6.3.2迭代分组138
6.3.3选择列139
6.3.4应用函数apply()139
6.3.5管道方法pipe()142
6.3.6转换方法transform()142
6.3.7筛选方法filter()144
6.3.8其他功能145
6.3.9小结146
6.4聚合统计146
6.4.1描述统计146
6.4.2统计函数147
6.4.3聚合方法agg()147
6.4.4时序重采样方法resample()149
6.4.5组内头尾值150
6.4.6组内分位数150
6.4.7组内差值151
6.4.8小结151
6.5数据分箱151
6.5.1定界分箱pd.cut()152
6.5.2等宽分箱pd.qcut()152
6.5.3小结154
6.6分组可视化154
6.6.1绘图方法plot()154
6.6.2直方图hist()155
6.6.3箱线图boxplot()156
6.6.4小结157
6.7本章小结158
第7章Pandas数据合并与对比159
7.1数据追加df.append159
7.1.1基本语法159
7.1.2相同结构160
7.1.3不同结构161
7.1.4忽略索引161
7.1.5重复内容162
7.1.6追加序列162
7.1.7追加字典163
7.1.8小结163
7.2数据连接pd.concat163
7.2.1基本语法163
7.2.2简单连接164
7.2.3按列连接164
7.2.4合并交集165
7.2.5与序列合并165
7.2.6指定索引166
7.2.7多文件合并166
7.2.8目录文件合并167
7.2.9小结167
7.3数据合并pd.merge167
7.3.1基本语法168
7.3.2连接键168
7.3.3索引连接169
7.3.4多连接键169
7.3.5连接方法170
7.3.6连接指示170
7.3.7小结171
7.4按元素合并171
7.4.1df.combine_first()171
7.4.2df.combine()172
7.4.3df.update()173
7.4.4小结173
7.5数据对比df.compare173
7.5.1简单对比174
7.5.2对齐方式174
7.5.3显示相同值174
7.5.4保持形状175
7.5.5小结175
7.6本章小结175
第8章Pandas多层索引177
8.1概述177
8.1.1什么是多层索引177
8.1.2通过分组产生多层索引178
8.1.3由序列创建多层索引179
8.1.4由元组创建多层索引179
8.1.5可迭代对象的笛卡儿积180
8.1.6将DataFrame转为多层索引对象180
8.1.7小结180
8.2多层索引操作181
8.2.1生成数据181
8.2.2索引信息181
8.2.3查看层级182
8.2.4索引内容182
8.2.5排序183
8.2.6其他操作183
8.2.7小结183
8.3数据查询183
8.3.1查询行183
8.3.2查询列184
8.3.3行列查询185
8.3.4条件查询185
8.3.5用pd.IndexSlice索引数据186
8.3.6df.xs()186
8.3.7小结186
8.4本章小结186
第9章Pandas数据重塑与透视187
9.1数据透视187
9.1.1整理透视187
9.1.2整理透视操作188
9.1.3聚合透视189
9.1.4聚合透视操作190
9.1.5聚合透视高级操作191
9.1.6小结192
9.2数据堆叠192
9.2.1理解堆叠193
9.2.2堆叠操作df.stack()194
9.2.3解堆操作df.unstack()195
9.2.4小结195
9.3交叉表195
9.3.1基本语法196
9.3.2生成交叉表196
9.3.3归一化197
9.3.4指定聚合方法198
9.3.5汇总198
9.3.6小结199
9.4数据转置df.T199
9.4.1理解转置199
9.4.2转置操作200
9.4.3类型变化200
9.4.4轴交换df.swapaxes()201
9.4.5小结201
9.5数据融合201
9.5.1基本语法201
9.5.2融合操作202
9.5.3标识和值203
9.5.4指定名称204
9.5.5小结204
9.6虚拟变量204
9.6.1语法结构204
9.6.2生成虚拟变量205
9.6.3列前缀205
9.6.4从DataFrame生成206
9.6.5小结207
9.7因子化207
9.7.1基本方法207
9.7.2排序208
9.7.3缺失值208
9.7.4枚举类型208
9.7.5小结208
9.8爆炸列表208
9.8.1基本功能209
9.8.2DataFrame的爆炸209
9.8.3非列表格式210
9.8.4小结210
9.9本章小结210
第四部分数据清洗
第10章Pandas数据清洗212
10.1缺失值的认定212
10.1.1缺失值类型212
10.1.2缺失值判断213
10.1.3缺失值统计214
10.1.4缺失值筛选214
10.1.5NA标量215
10.1.6时间数据中的缺失值216
10.1.7整型数据中的缺失值216
10.1.8插入缺失值217
10.1.9小结217
10.2缺失值的操作217
10.2.1缺失值填充217
10.2.2插值填充219
10.2.3缺失值删除220
10.2.4缺失值参与计算221
10.2.5小结223
10.3数据替换223
10.3.1指定值替换223
10.3.2使用替换方式223
10.3.3字符替换223
10.3.4缺失值替换224
10.3.5数字替换224
10.3.6数据修剪225
10.3.7小结226
10.4重复值及删除数据226
10.4.1重复值识别226
10.4.2删除重复值228
10.4.3删除数据229
10.4.4小结229
10.5NumPy格式转换230
10.5.1转换方法230
10.5.2DataFrame转为ndarray230
10.5.3Series转为ndarray231
10.5.4df.to_records()231
10.5.5np.array读取231
10.5.6小结232
10.6本章小结232
第11章Pandas文本处理233
11.1数据类型233
11.1.1文本数据类型233
11.1.2类型转换234
11.1.3类型异同234
11.1.4小结235
11.2字符的操作235
11.2.1.str访问器235
11.2.2文本格式236
11.2.3文本对齐236
11.2.4计数和编码236
11.2.5格式判定237
11.2.6小结237
11.3文本高级处理237
11.3.1文本分隔237
11.3.2字符分隔展开238
11.3.3文本切片选择239
11.3.4文本划分240
11.3.5文本替换241
11.3.6指定替换241
11.3.7重复替换242
11.3.8文本连接243
11.3.9文本查询244
11.3.10文本包含245
11.3.11文本提取246
11.3.12提取虚拟变量247
11.3.13小结248
11.4本章小结248
第12章Pandas分类数据249
12.1分类数据249
12.1.1创建分类数据249
12.1.2pd.Categorical()251
12.1.3CategoricalDtype对象251
12.1.4类型转换252
12.1.5小结253
12.2分类的操作253
12.2.1修改分类253
12.2.2追加新分类254
12.2.3删除分类254
12.2.4顺序255
12.2.5小结256
12.3本章小结256
第五部分时序数据分析
第13章Pandas窗口计算258
13.1窗口计算258
13.1.1理解窗口计算258
13.1.2移动窗口259
13.1.3扩展窗口259
13.1.4指数加权移动260
13.1.5小结260
13.2窗口操作260
13.2.1计算方法260
13.2.2基本语法261
13.2.3移动窗口使用262
13.2.4统计方法263
13.2.5agg()264
13.2.6apply()264
13.2.7扩展窗口265
13.2.8小结266
13.3本章小结266
第14章Pandas时序数据267
14.1固定时间267
14.1.1时间的表示267
14.1.2创建时间点268
14.1.3时间的属性269
14.1.4时间的方法270
14.1.5时间缺失值271
14.1.6小结272
14.2时长数据272
14.2.1创建时间差272
14.2.2时长的加减274
14.2.3时长的属性275
14.2.4时长索引275
14.2.5小结275
14.3时间序列275
14.3.1时序索引275
14.3.2创建时序数据276
14.3.3数据访问277
14.3.4类型转换279
14.3.5按格式转换281
14.3.6时间访问器.dt282
14.3.7时长数据访问器284
14.3.8时序数据移动284
14.3.9频率转换285
14.3.10小结286
14.4时间偏移286
14.4.1DateOffset对象286
14.4.2偏移别名287
14.4.3移动偏移289
14.4.4应用偏移289
14.4.5偏移参数290
14.4.6相关查询290
14.4.7与时序的计算291
14.4.8锚定偏移292
14.4.9自定义工作时间294
14.4.10小结296
14.5时间段297
14.5.1Period对象297
14.5.2属性方法297
14.5.3时间段的计算298
14.5.4时间段索引299
14.5.5数据查询300
14.5.6相关类型转换301
14.5.7小结302
14.6时间操作302
14.6.1时区转换302
14.6.2时间的格式化303
14.6.3时间重采样304
14.6.4上采样306
14.6.5重采样聚合307
14.6.6时间类型间转换307
14.6.7超出时间戳范围时间308
14.6.8区间间隔309
14.6.9小结311
14.7本章小结312
第六部分可视化
第15章Pandas样式314
15.1内置样式314
15.1.1样式功能314
15.1.2Styler对象315
15.1.3空值高亮315
15.1.4极值高亮316
15.1.5背景渐变317
15.1.6条形图318
15.1.7小结320
15.2显示格式320
15.2.1语法结构320
15.2.2常用方法320
15.2.3综合运用321
15.2.4小结321
15.3样式高级操作322
15.3.1样式配置操作322
15.3.2表格CSS样式323
15.3.3应用函数324
15.3.4样式复用325
15.3.5样式清除325
15.3.6导出Excel326
15.3.7生成HTML326
15.3.8小结327
15.4本章小结327
第16章Pandas可视化328
16.1plot()方法328
16.1.1plot()概述328
16.1.2plot()基础方法329
16.1.3图形类型331
16.1.4x轴和y轴331
16.1.5图形标题332
16.1.6字体大小332
16.1.7线条样式333
16.1.8背景辅助线334
16.1.9图例334
16.1.10图形大小334
16.1.11色系335
16.1.12绘图引擎336
16.1.13Matplotlib的其他参数337
16.1.14图形叠加337
16.1.15颜色的表示337
16.1.16解决图形中的中文乱码问题338
16.1.17小结340
16.2常用可视化图形340
16.2.1折线图plot.line340
16.2.2饼图plot.pie342
16.2.3柱状图plot.bar345
16.2.4直方图plot.hist348
16.2.5箱形图plot.box351
16.2.6面积图plot.area353
16.2.7散点图plot.scatter354
16.2.8六边形分箱图plot.hexbin356
16.2.9小结357
16.3本章小结357
第七部分实战案例
第17章Pandas实战案例360
17.1实战思想360
17.1.1链式方法360
17.1.2代码思路362
17.1.3分析方法366
17.1.4分析流程368
17.1.5分析工具368
17.1.6小结369
17.2数据处理案例370
17.2.1剧组表格道具370
17.2.2当月最后一个星期三371
17.2.3同组数据转为同一行372
17.2.4相关性最强的两个变量373
17.2.5全表最大值的位置375
17.2.6编写年会抽奖程序376
17.2.7北京各区无新增新冠肺炎确诊病例天数377
17.2.8生成SQL378
17.2.9圣诞节的星期分布379
17.2.10试验三天中恰有两天下雨的概率381
17.2.11计算平均打卡上班时间382
17.2.12小结383
17.3综合案例383
17.3.1中国经济发展分析383
17.3.2新冠肺炎疫情分析387
17.3.3利用爬虫获取房价390
17.3.4全国城市房价分析392
17.3.5客服对话文本分析396
17.3.6RFM用户分层399
17.3.7自动邮件报表404
17.3.8鸢尾花品种预测407
17.3.9小结410
17.4本章小结410