猜你喜欢
智能分析:ChatGPT+Excel+Python超强组合玩转数据分析

智能分析:ChatGPT+Excel+Python超强组合玩转数据分析

书籍作者:童大谦 ISBN:9787121466205
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:6497
创建日期:2024-05-05 发布日期:2024-05-05
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

写作本书的目的是希望让不懂编程的读者也能使用ChatGPT生成代码,轻松实现Excel数据处理自动化,让读者从零基础成为高手;让懂编程的读者也能收获良多,快速提升工作效率。书中用ChatGPT自动生成代码,实现了Excel数据处理自动化的绝大部分内容,包括数据导入和导出、数据整理、数据预处理、数据统计分析、数据可视化和与Excel工作表交互等。书中针对数据处理的每个问题都提供了示例,结合示例实践了提示词的编写技巧,并对与表达、数据、输出、效率和语言等相关的主题进行了探讨和总结。书中的代码是使用pandas、xlwings和OpenPyXL编写的,这也是目前通过编程方式处理Excel数据**的工具组合。本书适合任何对ChatGPT和Excel数据处理感兴趣的读者阅读,包括职场办公人员、数据分析人员、大学生、科研人员和程序员等。

作者简介

童大谦,具有15年以上VB、VBA、.NET开发经验,开发了多个数学、数据分析与可视化方面的软件,以及与科研院所合作开发了若干个软件系统。对Python、MATLAB、SPSS、R等数据分析软件非常熟悉,出版多本相关图书。曾在高校执教,CSDN高级讲师,全网学员目前近30万人。

编辑推荐

1. 提供100多个生成Excel+Python代码的提示词模板
2. 全部提示词、课件和代码提供下载,提供配套视频课程
3. 赠送两套配套AI课程100元优惠券:Python+ChatGPT和VBA+ChatGPT

前言

前言
本书的出发点
当很多人还在纠结是学习VBA好还是学习Python好,面对win32com、xlwings、OpenPyXL、pandas、Power Query、Power Pivot等工具无所适从时,ChatGPT出现了。
ChatGPT是一个聊天机器人。但它不是普通的聊天机器人,它背后的技术包括深度学习、大语言模型等。另外,它的背后还站着微软公司这个“巨人”。就在最近,微软公司在它的核心产品(如Office、Bing和Windows系统等)中全部集成了ChatGPT。微软之心,路人皆知。
用,或者不用,已经不是问题!
问题是什么呢?问题是在使用ChatGPT帮我们进行数据分析、编写代码时,它有时候灵,有时候不灵。
为什么会不灵呢?有人故作深沉地说:提示词没写好!但是,按照提示词的万能格式,给它扮演了角色,交代了背景,阐述了问题,指定了输出格式,仍然得不到满意的代码!所谓生成代码1分钟,调试代码几小时,谁说的?真对!以后别说了。
可见,ChatGPT目前还不是万能的,完全依靠ChatGPT解决所有问题是不现实的,首先要统一认识。但是使用ChatGPT大幅度减少工作量、提高工作效率是可行的。
不灵的问题出在哪里呢?出在当我们向ChatGPT提问时,实际上有些时候它不确定我们究竟想要什么。它会尝试着先给出方案一,问我们是不是这样的;再给出方案二,问我们是不是那样的。这时需要我们更明确地告诉它应该怎么做,把步骤和细节说得更清楚一些。但是要把问题说清楚,很多时候需要我们有编程思维和编程逻辑。可是我们就是因为不会编程才问它的。
面对这样一个是“先有鸡还是先有蛋”的问题,怎样才能解决呢?此时专家,不,编程高手的作用就体现出来了。让编程高手来写能解决问题的提示词,做成模板,提供给不懂编程的人。这样,不懂编程的人在遇到同类问题时,只需要修改模板中相关的参数就可以解决问题了。
本书正是基于这样一个基本认识来写作的。
本书的内容
正是基于以上认识,作者首先按照ChatGPT的工作方式,将Excel数据分析的主要内容按照面向问题的思想进行了重构,重构得到若干典型问题(参见本书目录)。考虑到本书的很多读者可能不懂或略懂编程,问题描述中尽量避免出现与编程有关的术语和函数名称等。
在完成重构以后,对每类问题结合示例编写和优化提示词,并得到提示词模板。本书除了介绍基本都知道的提示词编写技巧,还基于大量实战总结出了用于Excel数据分析的特有的提示词编写技巧,对与表达、数据、输出、效率和语言等相关的主题进行了探讨和总结。考虑到本书的一些读者可能懂编程,因此每个问题增加了“知识点扩展”环节,展开讨论与知识点有关的编程问题。
本书基于ChatGPT 3.5,并结合pandas、xlwings和OpenPyXL进行编写,实际上,将Excel数据分析的主要内容重做了一遍。
第1章介绍Excel和Python数据处理的基本现状,以及ChatGPT的基础知识和提示词编写技巧。第1章既是基础性的一章,也是总结性的一章。
第2章介绍导入与导出数据的方法。导入数据是进行数据分析的第一步。
第3~8章介绍数据的整理方法。在将数据导入后,首先进行文件层面上的整理,各章介绍不同类型数据的整理方法,包括单个文件数据的整理、多个文件数据的整理、文本数据的整理、日期时间数据的整理、时间序列数据的整理和分类数据的整理。
第9章介绍数据的预处理,包括重复数据、缺失值、异常值的处理,以及数据转换等内容。
第10章介绍描述性统计、分组统计、频数分析和数据透视表等内容。
第11章介绍在pandas中与Excel工作表进行交互的方法,结合xlwings和OpenPyXL来实现。
第12章介绍使用xlwings、OpenPyXL和Matplotlib进行数据可视化的方法。
第13章和第14章分别介绍Python语法基础和pandas的几种基础数据类型。想要简单了解Python编程的读者可以阅读这两章内容。如果读者想要系统了解xlwings和OpenPyXL编程,则推荐阅读本书作者编写的《代替VBA!用Python轻松实现Excel编程》一书。
本书的特点
本书提出基于提示词模板,可以使用ChatGPT自动生成Python代码,让不懂编程的人员也能实现Excel数据处理自动化,并结合大量示例进行了实战。本书提供了将ChatGPT应用于一个相对完整的知识体系的典型样本,并结合示例深入探讨和实践了提示词的编写技巧。书中的代码是使用pandas、xlwings和OpenPyXL编写的,这也是目前通过编程方式处理Excel数据最优的工具组合。
本书的读者对象
本书首先是为不懂编程或略懂编程但是有数据处理自动化需求的人员编写的;其次,懂编程的人员也可以阅读本书,因为使用ChatGPT能够大幅度提高工作效率。
本书适合任何对ChatGPT和Excel数据处理感兴趣的读者阅读,包括职场办公人员、数据分析人员、大学生、科研人员和程序员等。
联系作者
由于作者水平有限,书中难免存在疏漏与不足之处,敬请广大读者给予批评指正。
为了方便读者学习,本书的示例数据、提示词和代码均可下载,请加入本书读者群查看下载链接。其中提供了更多与Python、VBA和Excel函数相关的提示词模板。

作 者

目录

第1章 概述 1
1.1 Excel和Python数据处理简介 1
1.1.1 Excel数据处理 1
1.1.2 使用Python处理数据 2
1.1.3 pandas、xlwings和OpenPyXL组合的优势 2
1.1.4 DataFrame和Series 3
1.1.5 Python及各种包的安装 4
1.1.6 Python IDLE编程环境 5
1.2 ChatGPT及其操作基础 7
1.2.1 ChatGPT简介 7
1.2.2 得到想要的答案:提示词简介 7
1.2.3 使用ChatGPT生成代码 9
1.2.4 面向问题重构与提示词模板 11
1.2.5 使用ChatGPT进行数据分析的主要思想和步骤小结 11
1.3 提示词的编写技巧 12
1.3.1 基本技巧 12
1.3.2 数据相关 12
1.3.3 表达相关 13
1.3.4 输出相关 14
1.3.5 效率相关 14
1.3.6 语言相关 15
1.4 怎样使用本书 16
1.4.1 不同读者怎样使用本书 16
1.4.2 在使用提示词时可能遇到的问题及解决办法 16

第2章 使用ChatGPT+pandas实现数据导入和导出 18
2.1 使用ChatGPT+pandas导入Excel文件中的数据 18
2.1.1 导入Excel文件中的全部数据 18
2.1.2 导入Excel文件中的部分数据 20
2.2 使用ChatGPT+pandas将数据写入Excel文件中 21
2.3 使用ChatGPT+pandas实现CSV文件中数据的导入和导出 23
2.4 将数据保存到新工作簿的工作表中 25
2.5 将数据保存到同一工作簿的新工作表中 27
2.6 局部区域数据的导入和导出(与xlwings交互) 31
2.7 局部区域数据的导入和导出(与OpenPyXL交互) 33

第3章 使用ChatGPT+pandas实现单个文件数据的整理 36
3.1 使用ChatGPT+pandas实现列操作 36
3.1.1 直接添加一个新列 36
3.1.2 利用已有列数据通过简单计算得到新列 38
3.1.3 利用已有列数据通过转换得到新列 39
3.1.4 利用已有列数据通过统计得到新列 42
3.1.5 根据简单条件得到新列 45
3.1.6 根据多级条件得到新列 46
3.1.7 根据多列数据组成的条件得到新列 48
3.1.8 根据条件得到新列(mask方法) 50
3.1.9 根据条件得到新列(where方法) 51
3.1.10 插入列 53
3.1.11 修改单个列的列名 54
3.1.12 修改多个列的列名 56
3.1.13 给所有列名添加前缀和后缀 57
3.1.14 修改列数据的数据类型 59
3.1.15 修改列数据 61
3.1.16 修改列数据的格式 63
3.1.17 将列中的字符串数据修改为数字 65
3.1.18 根据条件修改数据 67
3.1.19 删除列 68
3.2 使用ChatGPT+pandas实现行操作 70
3.2.1 直接添加一个新行 70
3.2.2 利用已有行数据通过计算得到新行 72
3.2.3 插入行 74
3.2.4 修改行名 76
3.2.5 修改行数据 78
3.2.6 删除行 79
3.3 使用ChatGPT+pandas实现值操作 81
3.3.1 修改单个值 81
3.3.2 修改局部区域中的值 82
3.3.3 修改所有值 84
3.4 使用ChatGPT+pandas实现数据查询 86
3.4.1 单条件查询 86
3.4.2 多条件查询 88
3.5 使用ChatGPT+pandas实现数据排序 89
3.5.1 单条件排序 89
3.5.2 多条件排序 91
3.5.3 提取前3名数据 92
3.6 使用ChatGPT+pandas实现数据筛选 94
3.6.1 单条件筛选 94
3.6.2 多条件筛选 96
3.7 使用ChatGPT+pandas实现数据排名 97
3.7.1 中国式排名 97
3.7.2 美国式排名 99

第4章 使用ChatGPT+pandas实现多个文件数据的整理 102
4.1 使用ChatGPT+pandas拆分数据 102
4.1.1 简单拆分――垂直 102
4.1.2 简单拆分――水平 104
4.1.3 根据变量的值将数据拆分到不同工作簿中 105
4.2 使用ChatGPT+pandas合并数据 107
4.2.1 合并不同工作表中的数据 107
4.2.2 合并不同工作簿中的数据 112
4.3 使用ChatGPT+pandas拼接数据 114
4.4 使用ChatGPT+pandas连接数据 116
4.5 使用ChatGPT+pandas追加数据 118

第5章 使用ChatGPT+pandas实现文本数据的整理 120
5.1 使用ChatGPT+pandas提取子文本 120
5.2 使用ChatGPT+pandas改变文本大小写 122
5.3 使用ChatGPT+pandas实现分列 124
5.3.1 使用单一分隔符进行分列 124
5.3.2 使用多种分隔符进行分列 126
5.3.3 按照固定宽度进行分列 128
5.4 使用ChatGPT+pandas合并文本 129
5.5 使用ChatGPT+pandas查找和替换子文本 132
5.6 使用ChatGPT+pandas输出文本的格式 133

第6章 使用ChatGPT+pandas实现日期时间数据的整理 136
6.1 使用ChatGPT+pandas实现时间点数据的整理 136
6.1.1 从给定的日期时间中提取单位对应的数字 136
6.1.2 计算给定日期是星期几 138
6.2 使用ChatGPT+pandas实现时间段数据的整理 140
6.2.1 计算两个日期之间的间隔天数 140
6.2.2 已知起始日期和间隔天数计算终止日期 142

第7章 使用ChatGPT+pandas实现时间序列数据的整理 144
7.1 时间序列数据 144
7.1.1 创建时间序列数据 144
7.1.2 从文件中导入时间序列数据 146
7.2 使用ChatGPT+pandas实现时间序列数据的常见处理 148
7.2.1 数据查询 148
7.2.2 数据筛选 149
7.2.3 数据转换 150
7.2.4 数据汇总 152
7.3 使用ChatGPT+pandas实现时间序列数据偏移 153
7.3.1 日期时间偏移 153
7.3.2 工作日偏移 154
7.4 使用ChatGPT+pandas实现时间序列数据平滑 156
7.5 使用ChatGPT+pandas实现时间序列数据重采样 158

第8章 使用ChatGPT+pandas实现分类数据的整理 160
8.1 分类数据 160
8.1.1 创建分类数据 160
8.1.2 设置分类值 162
8.1.3 对分类数据进行排序 163
8.2 使用ChatGPT+pandas处理分类数据 164
8.2.1 查询分类 165
8.2.2 增加分类值 166
8.2.3 修改分类值 167
8.2.4 删除分类值 168

第9章 使用ChatGPT+pandas实现数据预处理 170
9.1 使用ChatGPT+pandas处理重复数据 170
9.1.1 整行数据重复的处理 170
9.1.2 指定数据重复的处理 172
9.2 使用ChatGPT+pandas处理缺失值 173
9.2.1 发现缺失值 174
9.2.2 删除缺失值 176
9.2.3 填充缺失值 177
9.3 使用ChatGPT+pandas处理异常值 179
9.3.1 发现异常值 179
9.3.2 删除异常值 182
9.3.3 替换异常值 184
9.4 使用ChatGPT+pandas实现数据转换 185
9.4.1 数据标准化 186
9.4.2 数据归一化 187
?
第10章 使用ChatGPT+pandas实现统计分析 190
10.1 使用ChatGPT+pandas实现描述性统计 190
10.1.1 描述数据集中趋势 190
10.1.2 描述数据离中趋势 192
10.1.3 描述数据分布形状 194
10.2 使用ChatGPT+pandas实现分组统计 195
10.2.1 分组描述性统计 195
10.2.2 分组提取首次数据和末次数据 197
10.2.3 多条件汇总 199
10.2.4 分组按条件统计 201
10.3 使用ChatGPT+pandas实现频数分析 202
10.4 使用ChatGPT+pandas实现数据透视表 204
10.4.1 创建数据透视表 204
10.4.2 设置数据透视表中值的输出格式 206
10.4.3 处理数据透视表中的缺失值 208
10.4.4 设置数据透视表的聚合函数 210
10.4.5 为数据透视表添加行汇总和列汇总 213
10.4.6 设置数据透视表中数据的显示方式 215
10.4.7 对数据透视表中的数据进行排序 217
10.4.8 聚合函数为连接字符串 219

第11章 使用ChatGPT实现与Excel工作表相关的设置 223
11.1 使用ChatGPT+xlwings设置Excel工作表 223
11.1.1 设置边框 223
11.1.2 设置背景色 227
11.1.3 设置字体 229
11.1.4 设置对齐方式 231
11.1.5 单元格合并和取消合并 233
11.2 使用ChatGPT+OpenPyXL设置Excel工作表 235
11.2.1 设置边框 235
11.2.2 设置背景色 238
11.2.3 设置字体 239
11.2.4 设置对齐方式 241
11.2.5 单元格合并和取消合并 242

第12章 使用ChatGPT实现数据可视化 244
12.1 使用ChatGPT+xlwings实现数据可视化 244
12.1.1 条形图 244
12.1.2 饼图 247
12.2 使用ChatGPT+OpenPyXL实现数据可 视化 249
12.2.1 条形图 249
12.2.2 饼图 251
12.3 使用ChatGPT+Matplotlib实现数据可视化 252
12.3.1 条形图 253
12.3.2 饼图 254

第13章 Python语法基础 256
13.1 常量和变量 256
13.1.1 常量 256
13.1.2 变量及其声明、赋值和删除 256
13.1.3 变量的数据类型 257
13.2 数字 257
13.2.1 整型数字 257
13.2.2 浮点型数字 258
13.3 字符串 258
13.3.1 创建字符串 258
13.3.2 索引和切片 258
13.3.3 字符串的长度和大小写 259
13.3.4 字符串的分割、连接和删除 259
13.4 列表 260
13.4.1 创建列表 260
13.4.2 添加列表元素 261
13.4.3 索引和切片 261
13.4.4 删除列表元素 262
13.5 元组 262
13.5.1 元组的创建和删除 263
13.5.2 索引和切片 263
13.6 字典 263
13.6.1 字典的创建 263
13.6.2 字典元素的增、删、改、查 264
13.7 表达式 265
13.7.1 算术运算符 265
13.7.2 关系运算符 265
13.7.3 逻辑运算符 266
13.8 流程控制 266
13.8.1 判断结构 266
13.8.2 循环结构――for循环 268
13.8.3 循环结构――while循环 268
13.9 函数 269
13.9.1 内部函数 269
13.9.2 标准模块函数和第三方模块 函数 269
13.9.3 自定义函数 269

第14章 pandas基础 271
14.1 NumPy数组 271
14.1.1 创建NumPy数组 271
14.1.2 索引和切片 274
14.2 Series 275
14.2.1 创建Series对象 275
14.2.2 Series对象的描述 276
14.2.3 索引和切片 277
14.2.4 布尔索引 279
14.3 DataFrame 279
14.3.1 创建DataFrame对象 280
14.3.2 DataFrame对象的描述 281
14.3.3 索引和切片 282
14.3.4 布尔索引 285

产品特色