新書推薦: 
			  
			《 
			香遇中国:中华香史五千年
			》 
			 售價:HK$ 
			594
			 
			 
	
			  
			《 
			见字如面:奏折里的雍正
			》 
			 售價:HK$ 
			352
			 
			 
	
			  
			《 
			经纬度丛书·亚历山大帝国
			》 
			 售價:HK$ 
			347
			 
			 
	
			  
			《 
			金钱的艺术
			》 
			 售價:HK$ 
			296
			 
			 
	
			  
			《 
			部落:文化本能如何塑造我们的世界
			》 
			 售價:HK$ 
			403
			 
			 
	
			  
			《 
			匹配
			》 
			 售價:HK$ 
			403
			 
			 
	
			  
			《 
			ETF投资 低利率时代财富进阶必修课(普通人躺赢的投资方法,领先一步学会ETF投资,早日赢得财富自由
			》 
			 售價:HK$ 
			352
			 
			 
	
			  
			《 
			肩部康复训练 损伤预防 评估与恢复(修订版)
			》 
			 售價:HK$ 
			500
			 
			 
	
 
      | 
     
      
      
         
          | 編輯推薦: | 
         
         
           
            本书由专业开发人员基于多年数据分析工作实践撰写而成的。
 追求一本通的形式来带领读者深入Python Excel数据分析的学习
 本书从零基础开始,先讲述Python 3.9语言基础
 再讲述如何通过Python来对Excel进行数据分析
 后再付诸于实践,强化动手能力。
           | 
         
       
      
      
      
      
         
          | 內容簡介: | 
         
         
          |  
            本书主要面向企业数据分析需求,全面且系统地介绍了如何通过 Python 来分析 Excel 数据。本书主要分为 3 部分:第 1 部分是 Python 3.9 语言基础,主要介绍 Python 的基础知识,为之后的学习奠定基础;第 2 部分是 Excel 数据分析,主要介绍 NumPy、Pandas、Matplotlib、Seaborn、openpyxl 和 xlwings 等内容,使读者可以通过 Python 读取和统计分析 Excel 数据;第 3 部分是 Excel 数据分析实践,使读者回归到实际应用中,并回顾之前学习的知识。本书既适合有一定 Excel 基础,想进一步提高工作效率的办公人员阅读,也适合那些需要在日常工作中处理大量和复杂数据的办公人员阅读,更适合 Python 初学者、编程零基础想通过编程实现办公自动化的人士阅读。
           | 
         
       
      
      
      
         
          | 關於作者: | 
         
         
          |  
            技术畅销书作家,精通Java互联网技术开发和实践,拥有十余年一线开发经验,著有业内畅销书《深入浅出MyBatis技术原理与实战》《深入浅出Spring?Boot?2.x》和《Spring?Cloud微服务和分布式系统实践》等。写作特点是技术点详尽准确、文字浅显易懂,立志于用图书普及基本技术。
           | 
         
       
      
      
      
         
          | 目錄: 
           | 
         
         
           
            目录 
 第1部分 Python 3.9语言基础 
 第1章 计算机语言和Python简介 2 
 1.1 计算机语言的分类 2 
 1.1.1 机器语言 2 
 1.1.2 汇编语言 2 
 1.1.3 高级语言 3 
 1.1.4 高级语言的发展趋势 3 
 1.2 高级语言的分类 5 
 1.2.1 编译型语言 5 
 1.2.2 解释型语言 6 
 1.2.3 混合型语言 6 
 1.3 使用Python 7 
 1.3.1 为何要学习Python 7 
 1.3.2 在Windows操作系统中安装 
 Python 8 
 1.3.3 在Ubuntu(UNIX)操作系统中 
 安装Python 10 
 1.3.4 使用集成开发环境开发 
 Python 11 
 1.4 使用Python分析Excel数据 12 
 1.4.1 可复用 12 
 1.4.2 大量数据的需求 12 
 1.4.3 Python易用易学 12 
 第2章 变量和简单数据类型 13 
 2.1 变量 13 
 2.1.1 变量的使用 13 
 2.1.2 变量的命名 14 
 2.1.3 变量的存储 15 
 2.2 Python中的数据类型 18 
 2.3 数字 19 
 2.3.1 算术运算 19 
 2.3.2 比较运算 21 
 2.3.3 赋值运算 22 
 2.3.4 位运算 24 
 2.3.5 运算符的优先级 27 
 2.3.6 数字计算中常见的函数 28 
 2.4 字符串 34 
 2.4.1 截取子串 35 
 2.4.2 字符串的运算 37 
 2.4.3 字符串的格式化 38 
 2.4.4 Python转义字符 40 
 2.4.5 字符串常用的函数 42 
 2.5 字符串和数字相互转换 43 
 2.6 代码中的注释 44 
 第3章 控制语句 46 
 3.1 条件语句 46 
 3.1.1 简单if语句 46 
 3.1.2 else分支的使用 47 
 3.1.3 elif分支的使用 48 
 3.1.4 条件语句的嵌套 49 
 3.2 逻辑运算 50 
 3.2.1 逻辑运算符 51 
 3.2.2 逻辑运算符的优先级 53 
 3.2.3 改写闰年判断逻辑 54 
 3.3 循环语句 54 
 3.3.1 while语句 54 
 3.3.2 使用循环的注意事项 56 
 3.3.3 for语句 57 
 3.3.4 range函数 58 
 3.3.5 跳转关键字break、continue和 
 pass 59 
 3.3.6 循环的嵌套 61 
 第4章 列表 64 
 4.1 列表的基础概念 64 
 4.1.1 创建列表 64 
 4.1.2 列表的遍历和下标 64 
 4.2 访问和操作列表 66 
 4.2.1 元素的增、删、查、改 66 
 4.2.2 截取子列表 67 
 4.2.3 列表的嵌套 68 
 4.2.4 列表的其他操作 70 
 4.3 列表函数 71 
 4.3.1 常见函数 71 
 4.3.2 排序函数 72 
 第5章 元组和集合 76 
 5.1 元组 76 
 5.1.1 创建元组 76 
 5.1.2 遍历元组 77 
 5.1.3 修改和删除元组 78 
 5.1.4 截取元组 79 
 5.1.5 其他常见的操作 79 
 5.1.6 关于元组的函数 80 
 5.2 集合 80 
 5.2.1 创建集合 80 
 5.2.2 新增元素 81 
 5.2.3 删除元素 82 
 5.2.4 判断元素是否在集合中 84 
 5.2.5 遍历集合 84 
 5.2.6 关于集合的函数 85 
 第6章 字典 89 
 6.1 创建字典 89 
 6.1.1 创建基本的字典 89 
 6.1.2 创建空字典 90 
 6.1.3 使用内置函数dict创建字典 90 
 6.2 访问字典 91 
 6.2.1 访问字典的值 91 
 6.2.2 新增/修改字典的值 92 
 6.2.3 删除 93 
 6.3 遍历字典 94 
 6.3.1 对键的遍历 94 
 6.3.2 对值的遍历 94 
 6.3.3 对键值的遍历 95 
 6.4 字典的键值数据类型 95 
 6.4.1 字典对键值的要求 95 
 6.4.2 在键值中使用各种数据类型 96 
 6.4.3 多种数据类型在字典中的 
 应用 97 
 6.5 与字典相关的函数 99 
 第7章 函数 101 
 7.1 函数的定义 101 
 7.1.1 定义带有返回值的函数 103 
 7.1.2 形参和实参 104 
 7.2 传递参数 104 
 7.2.1 位置实参 105 
 7.2.2 关键字实参 105 
 7.2.3 为参数设置默认值 106 
 7.3 特殊的参数 107 
 7.3.1 传递列表 107 
 7.3.2 传递元组、集合和字典 109 
 7.3.3 可变参数 110 
 7.3.4 强制参数位置和关键字 113 
 7.4 函数返回值 113 
 7.4.1 返回简单数据类型 114 
 7.4.2 返回复杂数据类型 114 
 7.4.3 在循环中返回 115 
 7.5 函数中的参数 116 
 7.5.1 传递可更改对象与不可更改 
 对象 116 
 7.5.2 函数内外变量的可见性 117 
 7.6 Lambda表达式 118 
 7.7 把函数放在不同的模块中 119 
 7.7.1 将整个模块导入主程序中 119 
 7.7.2 导入指定的函数 120 
 7.8 递归函数 121 
 第8章 类 124 
 8.1 类的概念 124 
 8.1.1 定义类和创建对象 124 
 8.1.2 类的属性的访问 126 
 8.1.3 封装 129 
 8.2 继承 131 
 8.2.1 抽象 131 
 8.2.2 继承中的方法 133 
 8.2.3 受保护的属性和方法 135 
 8.2.4 多重继承 136 
 8.2.5 多态 139 
 8.3 拾遗 140 
 8.3.1 面向对象编程的内置函数 140 
 8.3.2 类的内部方法 142 
 8.3.3 类方法和静态方法 143 
 8.4 导入模块中的类 145 
 第9章 文件操作和标准库 148 
 9.1 文件操作 148 
 9.1.1 文件的读取 148 
 9.1.2 文件的写入 151 
 9.1.3 将数据保存为JSON格式 152 
 9.2 日期时间 156 
 9.2.1 日期——date类 156 
 9.2.2 日期时间——datetime类 158 
 9.2.3 时间差——timedelta类 160 
 9.3 货币格式化 162 
 第10章 异常 164 
 10.1 异常的基础知识 164 
 10.1.1 Python异常机制 165 
 10.1.2 except语句 166 
 10.1.3 else语句和finally语句 167 
 10.1.4 常见的异常 170 
 10.2 深入使用异常 172 
 10.2.1 主动触发异常 172 
 10.2.2 自定义异常 173 
 10.2.3 except语句中的异常排序 174 
 
 第2部分 Excel数据分析 
 第11章 使用xlwings处理Excel文档 178 
 11.1 xlwings的简介和安装 178 
 11.1.1 xlwings简介 178 
 11.1.2 安装xlwings 180 
 11.2 读/写Excel文档 182 
 11.2.1 读取Excel单元格数据 182 
 11.2.2 读取多行数据 183 
 11.2.3 将数据写入Excel 185 
 11.3 设置单元格 187 
 11.3.1 字体和格式化 187 
 11.3.2 边框 188 
 11.3.3 合并单元格和拆分单元格 190 
 11.3.4 调整单元格的宽度和高度 192 
 11.4 处理一些常见的Excel场景 192 
 11.4.1 新建和读/写多个Excel 
 文档 192 
 11.4.2 在同一个Excel文档中写入多个工作表 194 
 11.4.3 复制数据 194 
 第12章 数据分析的基础库——NumPy 196 
 12.1 安装NumPy 197 
 12.1.1 在Windows下的安装 197 
 12.1.2 在PyCharm中使用 
 NumPy 197 
 12.1.3 在Linux(Ubuntu)下安装 
 NumPy 197 
 12.2 创建ndarray对象 198 
 12.2.1 创建ndarray数组 198 
 12.2.2 创建特殊的ndarray数组 200 
 12.3 NumPy数组的属性和数据 
 类型 204 
 12.3.1 NumPy数组的属性 204 
 12.3.2 NumPy数组的数据类型 205 
 12.4 NumPy切片和索引 206 
 12.4.1 一维数组的切片和索引 206 
 12.4.2 二维数组的切片和索引 207 
 12.4.3 高级切片和索引 208 
 12.5 数组的常见处理 210 
 12.5.1 数据预处理 210 
 12.5.2 数组重塑 212 
 12.5.3 数组合并 214 
 12.6 NumPy数组的运算 215 
 12.6.1 对元素的运算 215 
 12.6.2 统计分析 217 
 12.6.3 筛选元素 218 
 12.6.4 集合运算 220 
 12.6.5 排序 221 
 第13章 Pandas基础 227 
 13.1 创建对应的数据结构 227 
 13.1.1 Series 227 
 13.1.2 DataFrame 229 
 13.2 读/写Excel数据 233 
 13.2.1 读取Excel数据 233 
 13.2.2 指定读取Excel的数据 
 类型 238 
 13.2.3 写入Excel 239 
 13.2.4 xlwings与Pandas的结合 241 
 13.3 定位数据 243 
 13.3.1 Series的索引和分片 243 
 13.3.2 DataFrame的索引和分片 244 
 13.3.3 loc方法和iloc方法 245 
 13.4 数据预处理 247 
 13.4.1 处理默认值 247 
 13.4.2 去除重复数据 250 
 13.4.3 数据类型转换 253 
 13.5 增、删、查、改和替换 253 
 13.5.1 修改元素 253 
 13.5.2 替换元素 254 
 13.5.3 删除 255 
 13.5.4 新增 257 
 13.5.5 查找 259 
 13.6 让数据运算起来 261 
 13.6.1 简易算术运算 261 
 13.6.2 比较运算 262 
 13.6.3 汇总运算 263 
 第14章 Pandas高级应用 269 
 14.1 修改索引(标签) 269 
 14.1.1 重设索引(标签) 270 
 14.1.2 将某列设置为索引 
 (标签) 270 
 14.1.3 重命名索引(标签) 271 
 14.1.4 树形索引 272 
 14.2 为数据排序 273 
 14.2.1 没有默认值的排序 273 
 14.2.2 有默认值的排序 275 
 14.2.3 数值排名 276 
 14.3 获取值 279 
 14.4 转换数组 280 
 14.4.1 转置 280 
 14.4.2 转换视角查看数据—— 
 长表转宽表 280 
 14.4.3 宽表转长表 281 
 14.5 重要的数据分析功能—— 
 分组统计 282 
 14.5.1 分组求笔数与求和—— 
 count方法和sum方法 283 
 14.5.2 对数据进行聚合运算—— 
 aggregate方法 284 
 14.6 通过数据透视转换视角 287 
 14.6.1 pivot_table方法概述 287 
 14.6.2 4个常用的参数 288 
 14.6.3 合计行列 291 
 14.7 把数据连接在一起 292 
 14.7.1 3种关联关系 293 
 14.7.2 指定关联字段 295 
 14.7.3 连接方式 297 
 14.7.4 处理重复列 299 
 14.8 把数据合并在一起 300 
 第15章 数据可视化库——Matplotlib 302 
 15.1 给图表添加坐标系 302 
 15.1.1 使用面板的add_subplot方法 
 建立坐标系 304 
 15.1.2 使用subplot函数建立 
 坐标系 307 
 15.1.3 使用subplot2grid函数添加 
 坐标系 309 
 15.1.4 使用subplots函数建立 
 坐标系 310 
 15.2 设置坐标系和图表 312 
 15.2.1 设置坐标轴 312
           | 
         
       
      
      
      
         
          | 內容試閱: 
           | 
         
         
           
            为什么需要使用Python分析Excel数据
 在使用传统办公软件进行数据分析的过程中,使用多的莫过于Excel。但是随着移动互联网时代的到来,数据也越来越多,因此,在很多场景中使用Excel进行数据分析就越来越难,主要的难点集中在以下3个方面。
 lExcel只能处理少量的数据,经常使用Excel的用户应该都发现过这个问题,当Excel的数据量过大时,其查询和计算速度会明显下降,甚至无法正常运行,这对于实际工作来说是不可接受的。
 lExcel的功能是有限的,而通过编程可以获得更多的功能。
 lExcel需要手动反复操作,需要的时间长,并且容易出错,而编写的程序通过反复验证之后,效率可以大幅度提高,并且不易出错。
 在移动互联网时代,数据量日益增加,加之业务趋向于复杂化,越来越多的业务人员已经无法只通过Excel来做业务分析,他们需要更快速且复杂的解决方案,此时Python就出现在他们面前。
 与传统语言不同,Python更容易学习和使用,门槛较低,很快就成为时代的宠儿,只用简单的十几行代码,甚至几行代码就能够完成所需要的数据分析,使得业务人员通过自己编写代码完成数据分析成为可能。因此,那些需要做大量数据和复杂业务分析的办公自动化岗位从业人员都开始要求学习Python Excel,这就是我编写本书的原因。
 我和数据分析的缘分
 我是一个拥有十余年计算机软件编程经验的工作者。毕业之后,我在一家从事银行金融软件的公司工作,主要为银行出具各类统计分析报表,经常和各类数据分析打交道。我当时主要使用Java和数据库编写程序,为银行出具各种报表。这一工作给我带来的体会是,只有对银行的各类业务进行深入且专业的学习,才能编写程序完成工作。每次完成工作时,我都感到心满意足,但是银行对报表不断有调整,加上银行内部业务需求的变更,直接导致我需要重新熟悉新的需求之后才能进行开发。因此,只要业务发生变化,就会引发数据分析新的需求,由此可见,数据分析工作会一直继续下去。
 虽然我已经毕业十多年了,但是这些经历让我对数据分析有了深刻的认识。我始终都坚持一个观念——数据分析好由业务人员负责,否则成本会很高。这是因为第三方程序开发人员及其开发的业务系统存在以下几方面缺点。
 l程序开发人员不懂业务,需要深入学习业务知识之后才能进行开发,涉及专业问题时再与业务人员进行沟通,效率一般不会太高,因为需要解释很多专业知识。
 l请第三方开发系统成本高,毕竟软件开发是比较深奥的工作,并且开发成本较高,周期也较长,很多时候并不能及时处理业务。
 l系统开发完成后就会进入维护期,这段时间系统的功能相对固定,很难满足临时提出来的新需求,即便再找程序开发人员来增加功能,也很难保证时效。
 因此,对于一些不是特别复杂的数据分析,我建议由业务人员来做。当需要大规模开发时,则由专业的软件公司来做。这样既有助于降低成本、提高灵活性,又能保证数据分析的时效性。
 本书的安排
 本书按照一本通的要求来编写,尽量使读者可以通过这一本书就能学习和掌握Python Excel办公自动化的应用,所以本书的内容分为3部分。
 lPython 3.9语言基础:第1~10章,主要介绍Python的安装、数据结构、语法和一些常见的原理和应用,为后续的学习奠定基础。
 lExcel数据分析:第11~16章,主要介绍Excel的处理(xlwings)、数据分析库(NumPy和Pandas)和绘图库(Matplotlib和Seaborn)。
 lExcel数据分析实践:第17和18章,通过电商销售数据和个人贷款的项目,读者不仅可以回顾前面的知识,还可以通过实践提高数据分析和绘制图表的能力。
 本书使用的各个库的版本如下:Python 3.9.0、xlwings 0.23.2、NumPy 1.20.3、Pandas 1.2.4、Matplotlib 3.3.3、Seaborn 0.11.1。
 本书的读者
 本书是使用Python实现办公自动化的书籍,既适合有一定Excel基础,想进一步提高工作效率的办公人员阅读,也适合需要在日常工作中处理大量和复杂数据的办公人员阅读。本书从Python基础展开介绍,并且涉及应用与实践方面的内容,因此也适合Python初学者阅读。
 如何阅读本书
 我其实也是Python Excel的新手,我十多年的工作经验主要是Java和数据库开发。由于我是计算机从业人员,编程经验丰富,而计算机语言是相通的,所以相对来说,我学习Python就比较容易。其实,Python数据分析库在很大程度上和数据库的思想是接近的,因此我可以快速掌握数据分析知识。在编写本书时,我也是一边学习,一边实践,小心求证,并结合了我在工作时遇到的场景和问题。
 学习编程不是一两天的事情,也没有捷径,对于初学者来说,我建议先学好Python基础和数据分析库基础,然后进行实践。我之前接触的学习编程的初学者大部分存在4个比较严重的问题。
 l,眼高手低。有些初学者说他很快就看完书了,我直接回复他,这样就等于没有看过,因为学习编程是实践问题,而不是看的问题,只是看过而没有实践过一律可被归结为零,因为看的过程不会了解其中很多的细节和精妙之处。
 l第二,不能正确地对待错误,在遇到错误或异常时,很多初学者过于沮丧,会选择放弃或依靠他人。在我接触的初学者中,经常有人想都不想就提问,其实这是错误的方式,在发生错误或异常时,首先要做的是查看程序的异常,从而定位问题,其次进行调试,通过监控变量来定位是哪一步走不通,而不是直接向他人请教,学会定位错误比采用正确的方法更重要,因为正确的方法是“鱼”,而定位错误的过程是“渔”,“授人以鱼不如授人以渔”。而事实上,每个人都会犯错误,更何况是初学者。我现在写代码犯错少了,那是因为以前我犯的错误很多,有经验了而已。所以,面对错误是每个编程初学者的必经之路,没有什么值得恐惧的。
 l第三,思而不学。有些初学者没有认真学习书中的内容就根据自己的想法来编写代码,而自己的想法却是错误的。如果你是初学者,那么我建议先学习其他人成功的案例,而非自己的想象,做好了别人的成功案例,就可以建立信心,学习效率也会提高,然后弄明白原理,才能发散自己的思维,毕竟“思而不学则殆”。
 l第四,看不懂而不做。本书中的案例大部分都是可以运行的,在看不懂时,读者可以先“抄袭”,然后自己运行,或者直接调试源码也可以运行。运行起来以后你就会有信心,然后探索原因,而不是什么都不做,傻傻地看不懂,这样是不会进步的。
 在学习本书时,只要解决这4个问题,相信你就会事半功倍。古人云:“拳不离手,曲不离口。”学习编程更是如此,要想提高自己的编程能力,肯定需要不断学习和实践。
 由于作者的能力和时间有限,书中难免存在不足之处,如果您发现了,请与出版社联系,以方便本书后续的修订。
  
  
 杨开振
           | 
         
       
      
        
     |