python数据分析 活用pandas库_Python数据分析:活用Pandas库

献词 iii

序 iv

前言 v

致谢 xi

关于作者 xiv

第 一部分 简介 1

第 1章 Pandas DataFrame基础知识 2

1.1 简介 2

1.2 加载数据集 3

1.3 查看列、行、单元格 5

1.3.1 取列子集 6

1.3.2 取行子集 7

1.3.3 混合 11

1.4 分组和聚合计算 16

1.4.1 分组方式 17

1.4.2 分组频率计数 21

1.5 基本绘图 21

1.6 小结 22

第 2章 Pandas数据结构 23

2.1 简介 23

2.2 创建数据 24

2.2.1 创建Series 24

2.2.2 创建DataFrame 25

2.3 Series 26

2.3.1 类似于ndarray的Series 27

2.3.2 布尔子集:Series 29

2.3.3 操作自动对齐和向量化(广播) 31

2.4 DataFrame 34

2.4.1 布尔子集:DataFrame 34

2.4.2 操作自动对齐和向量化(广播) 35

2.5 更改Series和DataFrame 36

2.5.1 添加列 36

2.5.2 直接更改列 37

2.5.3 删除值 39

2.6 导出和导入数据 40

2.6.1 保存数据 40

2.6.2 CSV 42

2.6.3 Excel 42

2.6.4 feather文件格式 43

2.6.5 其他数据输出格式 43

2.7 小结 44

第3章 绘图入门 45

3.1 简介 45

3.2 matplotlib 46

3.3 使用matplotlib绘制统计图 51

3.3.1 单变量 52

3.3.2 双变量 53

3.3.3 多变量数据 54

3.4 seaborn 56

3.4.1 单变量 56

3.4.2 双变量数据 59

3.4.3 多变量数据 67

3.5 Pandas对象 75

3.5.1 直方图 75

3.5.2 密度图 76

3.5.3 散点图 77

3.5.4 蜂巢图 77

3.5.5 箱线图 79

3.6 seaborn主题和样式 79

3.7 小结 81

第二部分 数据处理 83

第4章 数据组合 84

4.1 简介 84

4.2 整理数据 84

4.3 连接 85

4.3.1 添加行 85

4.3.2 添加列 89

4.3.3 不同索引下的连接操作 90

4.4 合并多个数据集 93

4.4.1 一对一合并 94

4.4.2 多对一合并 95

4.4.3 多对多合并 95

4.5 小结 97

第5章 缺失数据 98

5.1 简介 98

5.2 何为NaN值 98

5.3 缺失值从何而来 100

5.3.1 加载数据 100

5.3.2 合并数据 101

5.3.3 用户输入值 103

5.3.4 重建索引 103

5.4 处理缺失数据 105

5.4.1 查找和统计缺失数据 105

5.4.2 清理缺失数据 106

5.4.3 缺失值计算 109

5.5 小结 110

第6章 整理数据 111

6.1 简介 111

6.2 包含值而非变量的列 112

6.2.1 固定一列 112

6.2.2 固定多列 114

6.3 包含多个变量的列 115

6.3.1 单独拆分和添加列(简单方法) 116

6.3.2 在单个步骤中进行拆分和组合(简单方法) 118

6.3.3 在单个步骤中进行拆分和组合(复杂方法) 118

6.4 行与列中的变量 119

6.5 一张表中多个观测单元(归一化) 121

6.6 跨多张表的观测单元 123

6.6.1 使用循环加载多个文件 125

6.6.2 使用列表推导加载多个文件 126

6.7 小结 127

第三部分 数据整理 129

第7章 数据类型 130

7.1 简介 130

7.2 数据类型 130

7.3 类型转换 131

7.3.1 转换为字符串对象 131

7.3.2 转换为数值类型 132

7.4 分类数据 136

7.4.1 转换为category类型 137

7.4.2 操作分类数据 137

7.5 小结 138

第8章 字符串和文本数据 139

8.1 简介 139

8.2 字符串 139

8.2.1 取子串和字符串切片 139

8.2.2 获取字符串的最后一个字符 141

8.3 字符串方法 143

8.4 更多字符串方法 144

8.4.1 join方法 144

8.4.2 splitlines方法 144

8.5 字符串格式化 145

8.5.1 自定义字符串格式 146

8.5.2 格式化字符串 146

8.5.3 格式化数字 146

8.5.4 C printf格式化风格 147

8.5.5 Python 3.6 中的格式化字符串 148

8.6 正则表达式 148

8.6.1 匹配模式 149

8.6.2 查找模式 152

8.6.3 模式替代 152

8.6.4 编译模式 153

8.7 regex库 154

8.8 小结 154

第9章 应用 155

9.1 简介 155

9.2 函数 155

9.3 使用函数 156

9.3.1 Series的apply方法 157

9.3.2 DataFrame的apply方法 158

9.4 apply高级用法 160

9.4.1 按列应用 162

9.4.2 按行应用 164

9.5 向量化函数 166

9.5.1 使用NumPy 167

9.5.2 使用numba 168

9.6 lambda函数 168

9.7 小结 170

第 10章 分组操作:分割-应用-组合 171

10.1 简介 171

10.2 聚合 171

10.2.1 基本的单变量分组聚合 172

10.2.2 Pandas内置的聚合方法 173

10.2.3 聚合函数 174

10.2.4 同时传入多个函数 176

10.2.5 在agg aggregate中使用字典 177

10.3 转换 178

10.4 过滤器 182

10.5 pandas.core.groupby.DataFrameGroupBy对象 183

10.5.1 分组 183

10.5.2 涉及多个变量的分组计算 184

10.5.3 选择分组 184

10.5.4 遍历分组 184

10.5.5 多个分组 186

10.5.6 平铺结果 187

10.6 使用多重索引 188

10.7 小结 191

第 11章 datetime数据类型 192

11.1 简介 192

11.2 Python的datatime对象 192

11.3 转换为datetime 193

11.4 加载包含日期的数据 196

11.5 提取日期的各个部分 196

11.6 日期运算和Timedelta 198

11.7 datetime方法 200

11.8 获取股票数据 202

11.9 基于日期取数据子集 203

11.9.1 DatetimeIndex对象 203

11.9.2 TimedeltaIndex对象 204

11.10 日期范围 205

11.10.1 频率 206

11.10.2 偏移量 207

11.11 移动 207

11.12 重采样 213

11.13 时区 214

11.14 小结 215

第四部分 数据建模 217

第 12章 线性模型 218

12.1 简介 218

12.2 简单线性回归 218

12.2.1 使用统计模型库 218

12.2.2 使用sklearn库 220

12.3 多元回归 222

12.3.1 使用statsmodels库 222

12.3.2 使用statsmodels和分类变量 222

12.3.3 使用sklearn库 224

12.3.4 使用sklearn和分类变量 225

12.4 保留sklearn的索引标签 226

12.5 小结 226

第 13章 广义线性模型 227

13.1 简介 227

13.2 逻辑回归 227

13.2.1 使用statsmodels 229

13.2.2 使用sklearn 230

13.3 泊松回归 232

13.3.1 使用statsmodels 232

3.3.2 负二项回归 233

13.4 更多GLM 234

13.5 生存分析 235

13.6 小结 238

第 14章 模型诊断 239

14.1 简介 239

14.2 残差 239

14.3 比较多个模型 243

14.3.1 比较线性模型 243

14.3.2 比较GLM 246

14.4 k折交叉验证 248

14.5 小结 251

第 15章 正则化 252

15.1 简介 252

15.2 何为正则化 252

15.3 LASSO回归 254

15.4 岭回归 255

15.5 弹性网 256

15.6 交叉验证 258

15.7 小结 260

第 16章 聚类 261

16.1 简介 261

16.2 k均值聚类 261

16.3 层次聚类 267

16.3.1 最长距离法 267

16.3.2 最短距离法 267

16.3.3 平均距离法 268

16.3.4 重心法 268

16.3.5 手动设置阈值 269

16.4 小结 270

第五部分 终章 271

第 17章 Pandas之外 272

17.1 科学计算栈 272

17.2 性能 272

17.2.1 测试代码运行时间 272

17.2.2 分析代码 274

17.3 规模更大、速度更快 274

第 18章 写给自学者 275

18.1 不可闭门造车 275

18.2 本地聚会 275

18.3 参加会议 275

18.4 互联网 276

18.5 播客 276

18.6 小结 276

第六部分 附录

附录A 安装 278

附录B 命令行 280

附录C 项目模板 282

附录D Python代码编写工具 283

附录E 工作目录 285

附录F 环境 287

附录G 安装包 289

附录H 导入库 291

附录I 列表 293

附录J 元组 294

附录K 字典 295

附录L 切片 297

附录M 循环 299

附录N 推导式 300

附录O 函数 301

附录P 范围和生成器 305

附录Q 多重赋值 307

附录R NumPy ndarray 309

附录S 类 311

附录T 变形器odo 313

版权声明 314

你可能感兴趣的:(python数据分析,活用pandas库)