目录 第1篇Python入门篇 第1章初识Python3 本章学习目标3 1.1程序设计语言概述3 1.1.1计算机程序设计语言简介3 1.1.2高级程序设计语言简介4 1.2Python概述5 1.2.1Python语言的发展简史5 1.2.2Python语言的特点7 1.2.3Python语言的主要应用领域8 1.2.4Python语言的不足10 1.3Python程序开发环境10 1.3.1Python程序开发环境的组成10 1.3.2Python程序开发环境的搭建11 1.3.3Python程序开发环境的使用13 小结20 第2章初识Python程序21 本章学习目标21 2.1案例21: 计算两个化合物的相似度21 2.1.1化合物相似度概述21 2.1.2计算两个化合物相似度的算法22 2.1.3计算两个化合物相似度的程序22 2.2案例22: 绘制苯环23 2.2.1苯环概述及绘制方法23 2.2.2绘制苯环的算法24 2.2.3绘制苯环的程序25 2.3Python程序组成28 2.3.1Python语法元素28 2.3.2Python语句34 2.3.3Python程序书写规范41 2.4程序设计方法简介41 2.4.1面向对象程序设计42 2.4.2面向过程程序设计42 2.5输入/输出常用的三个函数44 2.5.1input()函数44 2.5.2eval()函数45 2.5.3print()函数46 2.6标准库1: turtle库的使用方法48 2.6.1标准库引入方法48 2.6.2turtle库概述49 2.6.3turtle库解析49 2.6.4turtle应用实例55 小结59 Python程序设计——以医药数据处理为例(第2版)目录第2篇Python进阶篇 第3章基本数据类型63 本章学习目标63 3.1数字类型及其操作63 3.1.1数字类型的概念63 3.1.2数字类型的表示63 3.1.3数字类型的运算操作符65 3.1.4内置的数字类型的函数66 3.1.5标准库2: math库的使用方法68 3.1.6微实例3.1: 计算基本统计量71 3.2字符串类型及其操作72 3.2.1字符串类型的概念72 3.2.2字符串类型的表示73 3.2.3字符串类型的运算操作符74 3.2.4内置的字符串类型的函数76 3.2.5微实例3.2: 查找化合物ID及水溶性值77 3.2.6内置的字符串类型的方法77 3.3案例31: 清肺排毒汤处方展示82 3.3.1清肺排毒汤处方展示要求82 3.3.2清肺排毒汤处方展示算法83 3.3.3清肺排毒汤处方展示程序83 3.4案例32: 化合物水溶性数据的格式化输出85 3.4.1水溶性数据格式化输出规范85 3.4.2水溶性数据格式化输出算法85 3.4.3水溶性数据格式化输出程序85 3.5逻辑类型及其操作87 3.5.1逻辑类型的概念87 3.5.2逻辑类型的表示87 3.5.3逻辑类型的运算操作符87 3.5.4返回逻辑类型数据的运算88 3.5.5混合运算操作符的优先顺序89 3.6贯通性案例(一): 药品销售数据的数据类型90 3.6.1贯通性案例简介90 3.6.2药品销售数据的数据类型91 小结91 第4章程序的控制结构92 本章学习目标92 4.1程序结构概述92 4.1.1程序流程图92 4.1.2程序的基本结构93 4.2程序的顺序结构94 4.3程序的分支结构94 4.3.1单分支结构if语句94 4.3.2二分支结构if…else…语句96 4.3.3多分支结构if…elif…else…语句97 4.3.4分支结构的嵌套100 4.3.5案例41: 外源化合物毒性分级101 4.4程序的循环结构102 4.4.1遍历循环: for语句103 4.4.2条件循环: while语句104 4.4.3break和continue语句105 4.4.4else扩展语句106 4.5案例42: 蒙特卡洛方法求π的值107 4.5.1蒙特卡洛方法概述107 4.5.2蒙特卡洛方法求π值的算法108 4.5.3标准库3: random库使用方法108 4.5.4蒙特卡洛方法求π值的程序110 4.6程序的异常处理112 4.6.1异常概述112 4.6.2捕获并处理异常: try…except…结构113 4.6.3try…except…结构的高级用法115 4.7贯通性案例(二): 查看药品销售大数据文件的概貌119 4.7.1查看药品销售大数据文件概貌的算法119 4.7.2查看药品销售大数据文件概貌的程序120 小结121 第5章函数122 本章学习目标122 5.1函数概述122 5.1.1函数的基本概念122 5.1.2使用函数编程的目的123 5.2函数的基本操作124 5.2.1函数的定义124 5.2.2函数的返回值125 5.2.3函数的调用127 5.2.4lambda表达式和匿名函数128 5.3函数的参数129 5.3.1参数传递的方式129 5.3.2函数形参的分类130 5.4变量的作用域133 5.4.1作用域基础134 5.4.2全局变量134 5.4.3局部变量135 5.4.4闭包变量136 5.4.5作用域规则137 5.5递归函数138 5.5.1递归函数的概念138 5.5.2斐波那契数列140 5.5.3递归与循环的比较142 5.6Python内置函数143 5.6.169个内置函数143 5.6.2部分常用函数说明144 5.7类的定义和使用146 5.7.1案例51: 通过类来模拟和组织药物的属性和行为146 5.7.2标准库4: datetime库使用方法149 5.8贯通性案例(三): 定义函数查看医药大数据文件的概貌153 5.8.1分析定义该函数的步骤153 5.8.2定义该函数的完整源程序154 5.8.3调用该函数的方法154 小结155 第6章组合数据类型156 本章学习目标156 6.1组合数据类型概述156 6.1.1组合数据类型的概念156 6.1.2组合数据类型的分类156 6.2序列类型及其操作157 6.2.1序列的概念157 6.2.2序列共有的操作158 6.2.3元组及其个性化的操作161 6.2.4列表及其个性化的操作162 6.3贯通性案例(四): 药品销售数据清理171 6.3.1药品销售数据清理方法171 6.3.2药品销售数据清理程序172 6.4集合类型及其操作174 6.4.1集合的概念及特点174 6.4.2生成集合175 6.4.3集合的操作176 6.5字典类型及其操作178 6.5.1字典的概念178 6.5.2生成字典179 6.5.3字典的操作179 6.6贯通性案例(五): 药品销售数据统计分析182 6.6.1药品销售数据统计分析算法182 6.6.2药品销售数据统计分析程序183 6.7案例61: 文本词频统计184 6.7.1案例611: 一篇英文药学文献的词频统计185 6.7.2第三方库1: jieba库的使用方法187 6.7.3案例612: 一篇中文药学文献的词频统计188 6.8Python之禅190 6.8.1this.py简介190 6.8.2this.py程序解析191 小结193 第7章文件194 本章学习目标194 7.1文件概述194 7.1.1文件的概念194 7.1.2文件的分类194 7.1.3文件的打开方式195 7.2文件操作195 7.2.1文件的操作步骤195 7.2.2打开、关闭文件195 7.2.3读文件197 7.2.4写文件198 7.2.5移动文件指针199 7.3一、二维数据的文件操作200 7.3.1数据组织的维度与数据结构200 7.3.2一维数据的文件操作201 7.3.3二维数据的文件操作203 7.4贯通性案例(六): 保存清理后的药品销售数据206 7.4.1药品销售数据格式化及写入文件的方法206 7.4.2保存清理后的药品销售数据的程序206 7.5高维数据的文件操作207 7.5.1高维数据的格式化207 7.5.2标准库5: json库的使用方法208 7.5.3标准库6: pickle库的使用方法208 7.5.4贯通性案例(七): 将药品销售数据统计结果写入pickle文件209 小结210 第8章第三方库211 本章学习目标211 8.1第三方库概述211 8.1.1第三方库简介211 8.1.2常用的第三方库211 8.2第三方库的管理方法213 8.2.1pip简介213 8.2.2安装第三方库213 8.2.3检查、升级、卸载、查看第三方库216 8.3案例81: 利用pyinstaller库打包绘制苯环的源程序217 8.3.1第三方库2: pyinstaller库的使用方法218 8.3.2利用pyinstaller库打包绘制苯环的源程序218 8.4贯通性案例(八): 药品销售数据统计结果可视化219 8.4.1第三方库3: matplotlib.pyplot库的使用方法220 8.4.2利用pyplot绘制药品日销售金额折线图220 8.4.3利用pyplot绘制Top20明星药销售数量柱形图222 8.4.4利用pyplot绘制Top20明星药销售数量南丁格尔玫瑰图224 8.5案例82: 绘制药学院校学生核心素养词云图227 8.5.1第三方库4: wordcloud库的使用方法227 8.5.2绘制药学院校学生核心素养词云图的算法228 8.5.3绘制药学院校学生核心素养词云图的程序228 8.6贯通性案例(九): 利用机器学习方法预测药品的销售金额230 8.6.1时间序列简介230 8.6.2第三方库5: darts库的使用方法232 8.6.3预测未来一周药品销售金额的算法233 8.6.4预测未来一周药品销售金额的程序233 8.7贯通性案例(十): 利用深度学习方法预测药品的销售金额235 8.7.1时间序列数据的格式转换235 8.7.2深度学习简介237 8.7.3第三方库6: PyTorch库的使用方法237 8.7.4利用LSTM预测未来一周药品销售金额的算法239 8.7.5利用LSTM预测未来一周药品销售金额的程序240 小结244 第3篇Python实战医药数据处理专题篇 第9章药学信息处理247 本章学习目标247 9.1案例91: 数据采集——采集PubChem网站的药物结构数据247 9.1.1药物结构数据247 9.1.2第三方库7: selenium库的使用方法248 9.1.3采集PubChem网站药物结构数据的方法251 9.1.4采集Pubchem网站药物结构数据的爬虫程序253 9.2案例92: 特征计算——计算屠呦呦两个诺贝尔奖药物的相似度256 9.2.1药物相似度256 9.2.2Anaconda平台257 9.2.3第三方库8: rdkit库的使用方法258 9.2.4计算屠呦呦两个诺贝尔奖药物的相似度的算法259 9.2.5计算屠呦呦两个诺贝尔奖药物的相似度的程序259 9.3案例93: 机器学习——利用三种算法预测化合物的水溶性263 9.3.1利用机器学习方法预测化合物性质263 9.3.2第三方库9: NumPy库的使用方法263 9.3.3第三方库10: sklearn库的使用方法268 9.3.4利用三种机器学习方法预测化合物水溶性的算法271 9.3.5利用三种机器学习方法预测化合物水溶性的程序271 9.4案例94: 初筛靶点——利用聚类热图分析肺癌基因表达数据275 9.4.1聚类热图分析基因表达数据简介275 9.4.2第三方库11: pandas库的使用方法276 9.4.3第三方库12: seaborn库的使用方法280 9.4.4聚类热图分析肺癌(腺瘤和腺癌型)基因表达数据的算法281 9.4.5聚类热图分析肺癌(腺瘤和腺癌型)基因表达数据的程序281 小结285 第10章医学信息处理286 本章学习目标286 10.1案例101: 基于随机森林算法识别潜在心脏病患者286 10.1.1心率变异信号处理简介286 10.1.2基于随机森林识别潜在心脏病患者算法288 10.1.3基于随机森林识别潜在心脏病患者程序292 10.2案例102: 基于卷积神经网络识别黑色素瘤295 10.2.1神经网络简介296 10.2.2第三方库13: keras的使用方法297 10.2.3卷积神经网络简介300 10.2.4黑色素瘤图像识别算法305 10.2.5黑色素瘤图像识别程序310 10.3案例103: 基于自然语言处理技术的电子病历实体识别313 10.3.1自然语言处理技术简介313 10.3.2使用自然语言处理技术进行文本分类简单示例316 10.3.3中文电子病历命名实体识别算法318 10.3.4中文电子病历命名实体识别程序324 小结328 参考文献329