




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
深入浅出Python编程
(
数据结构)绘制CPC历史决议词云图
直接显示词云图片使用jieba模块实现分词操作使用with-as语句打开文件;使用列表/元组实现对关键词的统计;使用列表推导式获取前20的关键词。Outcome单元目标/Objectives理解线性(linear)数据结构
熟练掌握列表list的使用
熟练掌握元组tuple的使用
理解Python对象的可变与不可变
掌握文件数据输入基本操作⑥具有爱国情怀和民族自信心内容及计划/Agenda&Schedule8/6ClassHoursDetails专科应用本科<00:10><00:10>回顾&成果目标<00:25><00:25>文件的基本操作<02:40><02:00>使用列表&创建词云图<02:00><01:20>元组使用及改写实现<00:05><00:05>课堂小结Total:8/6hours(6/4hPractice)01《决议》词云图CloudWord1.任务分析目标解构一是,从《决议》文件读取全文本内容二是,提取关键词并统计关键词出现的次数三是,生成并显示词云图片模式识别文件数据输入/只读分词->过滤->去重->统计->排序Top201.任务分析模式归纳(关键词1,出现次数),(关键词2,出现次数)……的数据结构来表示“关键词-次数”数据对序列结构可以使用列表(list)统计结果可以使用列表或元组算法设计open()函数等方法打开文件/jieba第三方模块实现分词列表/元组操作数据/sort()方法或sorted()函数实现排序wordcloud+matplotlib绘制并显示词云图2.任务准备jieba模块第三方中文分词函数库jieba.lcut()WordCloud模块第三方词云库,根据你给出字符串,以不同的大小、颜色显示出来中文需要提供使用字体的路径,否则会出现乱码wordcloud.WordCloud()创建词云图2.任务准备matplotlib模块Python最著名的2D绘图库只使用matplotlib.pyplot绘制wordcloud生成的词云图片matplotlib模块①引入模块初始化环境,设想已经准备好了一块画板;②准备好要使用的数据;③把数据装入坐标轴,画图/渲染两种方法:①axes.Axes对象在画板figure.Figure上画图;②matplotlib.pyplot()02文件输入FileInput1.读取文件输入认识文件文本文件(textfile):基于字符编码(ASCII、UTF-8等)的文件,能够使用字符串str对象读写的文件对象(fileobject)二进制文件(binaryfile):基于值,没有编码,只是一个字节序列,存储的是二进制数据打开文件语法:stream=open(file_name,mode)r-以只读方式(read)打开文件;如果省略时,默认值为'r'w-以写(write)数据方式打开文件,如果同名文件已经存在,则会被覆盖a-打开文件并追加(append)内容,任何写入的数据会自动添加到文件末尾t-表示操作的是一个文本(text)文件b-表示操作的是一个二进制(binary)文件1.读取文件输入f.read(size):读取并返回最多size个字符f.readline():读取单行数据f.write(str):把str的内容写入文件f.close():关闭文件2.使用with打开文件with-as上下文管理器(contextmanager)读取决议文件数据并分词03列表List1.列表的基本操作—
创建中文标点符号列表创建列表[]/
list()元素是有位序的1.列表的基本操作—
创建中文标点符号列表创建拼音字符列表的两种方式[]:直接赋值创建list():将一个字符串进行类型转换创建1.列表的基本操作—
访问和遍历列表访问列表数据项索引切片1.列表的基本操作—
访问和遍历列表遍历列表数据项值迭代索引遍历1.列表的基本操作—
修改列表及计算在列表中添加元素append()extend()1.列表的基本操作—
修改列表及计算更新列表中的元素重新赋值数据项要确保“回写”1.列表的基本操作—
修改列表及计算列表的计算操作加法:合并列表乘法:重复列表1.列表的基本操作—
(逆序)删除标点符号列表的删除操作pop()方法:按元素的位置删除remove()方法:按元素的值删除del命令1.列表的基本操作—
(逆序)删除标点符号删除标点符号执行删除操作的过程中数据项的位置会发生改变故采用逆序搜索前进1.列表的基本操作—
列表的嵌套:remove()删除拼音嵌套列表的数据项又可以是一个列表,这称之为列表的嵌套形如[
['!',10],['《',8],……]按值遍历删除拼音字符remove()方法遍历删除copy():生成一份列表的副本count():统计数据项在列表中出现的次数统计关键词频次2.统计分词关键词出现的频次关键词去重3.排序关键词并绘制词云图排序sort()方法物理排序sorted()函数逻辑排序3.排序关键词并绘制词云图列表推导式(listcomprehension)处理一个序列中的所有或部分元素并返回结果列表的一种紧凑写法3.排序关键词并绘制词云图列表推导式(listcomprehension)列表推导式实现鸡兔同笼问题实际是使用嵌套列表解析(NestedListComprehensions)获得top20关键词3.排序关键词并绘制词云图创建词云图创建/配置WordCloud对象空格分隔关键词生成词云图片显示词云图Plt.imgshow()Plt.show()绘制词云图4.复制和清空列表—
深复制和浅复制copy()vs.=4.复制和清空列表—
深复制和浅复制嵌套列表的赋值情况4.复制和清空列表—
深复制和浅复制deepcopy()4.复制和清空列表—
清空列表clear()方法:只是简单的清空列表的数据[]重新赋值:重新分配内存空间04元组tuple1.元组的基本操作创建元组/tupletuple()/()1.元组的基本操作创建元组/tuple要创建只有一个元素的元组,要在这个元素的后面加一个逗号1.元组的基本操作索引与运算元组是有序的,可以按位序进行索引操作元组也可以进行加法和乘法操作,与列表类似1.元组的基本操作遍历for–in的成员运算符进行迭代“赋值”元组是不可变的2.使用元组统计关键词关键词统计数据对,用元组替换列表2.使用元组统计关键词元组推导式求解百鸡百钱问题使用列表改写绘制词云图统计关键词代码使用列表推导式,求解百鸡百钱问题课堂小结列表是Python中非常高频使用的一种数据类型,和字符串一样,它也支持索引、切片,以及加法、乘法等操作和计算。对列表的遍历可以通过数据项的位序索引,也可以直接遍历列表的数据项。可以使用列表自带的sort()方法,也可以使用Python提供的内置函数sorted()。元组与列表很像,但使用场景不同,用途也不同。元组是不可变的(immutable)数据类型,可以包含异质元素序列。提问&解答深入浅出Python编程
(
数据结构)绘制人口普查数据图表
利用全国第七次人口普查数据绘制图表全国人口:人口数最多的省份、按序展示柱状图地区人口:湖南省14个地州市人口分布地图Outcome单元目标/Objectives理解映射(map)数据结构
熟练掌握字典dict的使用
熟练掌握结合set的基本使用
掌握结构化数据的文件读写操作
掌握简单的异常处理⑥
具有人本情怀与和谐共生理念内容及计划/Agenda&Schedule8/6ClassHoursDetails专科应用本科<00:10><00:10>回顾&成果介绍<00:40><00:40>字典及半结构化数据读取<01:40><01:20>字典视图及排序&全国人口柱状图<00:40><00:20>异常处理和程序调试<01:25><00:45>网络数据输入&地区人口分布图<00:40><00:40>集合数据类型及基本使用<00:05><00:05>课堂小结Total:8/6hours(6/4hPractice)01人口普查数据图表Humangraphicsinfo1.任务分析目标解构数据处理:提取、清洗、分析、可视化获取数据:从csv数据文件中读取;从网络API访问可视化/图表:柱状图;GEO地图模式识别csv和json半结构化数据处理数据排序pyecharts可视化图表库1.任务分析模式归纳映射结构(map)处理半结构化数据Python中字典(dict)数据类型就是映射型Python自带的csv和json两个模块处理文件数据;自带urllib模块处理网络访问算法设计csv—>dict;dict—>jsontuple()vskey-valuesorted()对字典进行排序2.任务准备csv模块即逗号分隔值文件(CommaSeparatedValues)纯文本的方式存数数据json模块JSON(JavaScriptObjectNotation)是一种基于文本,独立于语言的轻量级数据交换格式。JSON格式是纯文本2.任务准备urllib模块urllib.request更高级别的HTTP客户端接口,建议使用第三方模块requestspyecharts模块Echarts+Python将Python代码“翻译”成前端的JavaScript代码实现可视化。02字典dict1.字典的基本使用—
创建字典字典的结构以逗号分隔的“键:值”({key:
value})1.字典的基本使用—
创建字典多种创建字典的方式:字典是一种动态结构dict()函数创建直接使用花括号{key:
value}创建dict.fromkeys(
)1.字典的基本使用—
修改字典按key引用字典的数据项目,再对其进行修改;或者使用update()方法1.字典的基本使用—
修改字典使用数字做字典的key时,并不区分相同大小的两个整数数字和浮点型数字1.字典的基本使用——
删除字典字典的删除操作方法pop(key[,default]):可以删除字典给定键key所对应的值popitem()可以删除字典中的最后一对键和值,并将该数据项作为删除操作的返回值del语句deldict_var[key]不存在该key的数据项会报错2.读取全国人口数据字典映射CSV文件与半结构化数据使用DictReader()和DictWrite()以字典的形式读写数据,每行中的数据映射到一个字典两列数据对应的列名分别为“provice”和“population”,我们将作为字典的key来使用“全国”统计汇总行的数据将删除,不需要使用2.读取全国人口数据字典映射获取31个大陆省份的人口数03遍历并排序全国人口数据字典值enumerate&sort1.操作字典视图对象—
什么是字典视图对象?字典视图对象:一个字典的动态视图,可以被迭代、并支持成员检测dict.keys():返回由字典所有的key/键组成的一个新视图dict.values():返回由字典所有的value/值组成的一个新视图dict.items():返回由字典所有的key-value/键-值对组成的一个新视图1.操作字典视图对象—
求最大值和最小值函数max()函数求最大值min()函数求最小值设置滑块数值区间
2.降序排序人口数据字典值—
字典解包解包(unpacking)把一个集合/容器(collection)数据进行分解、逐个取出来使用一个或两个星号(*,或**)解包可迭代对象Python对可迭代对象的解包操作都是自动完成2.降序排序人口数据字典值—
字典遍历遍历keys()、values()、items()可以分别遍历字典的键、值和键值对/数据项for-in循环遍历字典对象默认是遍历字典的键key2.降序排序人口数据字典值—
字典排序字典是无序的字典本身是无序的,并不直接支持排序但把每个key/value对抽象成一个值,那么整个字典又是线性的,可以使用sorted()函数对其进行排序操作可以按keys、values和items/实际就是按key排序2.降序排序人口数据字典值—
字典排序字典是无序的字典本身是无序的,并不直接支持排序但把每个key/value对抽象成一个值,那么整个字典又是线性的,可以使用sorted()函数对其进行排序操作可以按keys、values和items/实际就是按key排序2.降序排序人口数据字典值—
排序全国人口数字典遍历:将k/v对调sort()对嵌套列表排序/value降序切片操作,截取top1004创建全国人口数柱状图Bar1.数据可视化库pyechart的使用一切皆配置InitOpts:初始化配置项TitleOpts:标题配置项VisualMapOpts:视觉映射配置项LabelOpts:标签配置项2.创建top10人口数柱状图准备图表数据X轴数据Y轴数据最大/最小值2.创建top10人口数柱状图准备图表数据X轴数据Y轴数据最大/最小值创建并配置Bar图图表标题title可视化映射组件:min/max,颜色渲染输出html文件05创建地区人口分布地图GEO1.了解异常处理及调试程序错误值—
错误的类型3种错误类型语法错误(Syntaxerrors)运行错误(Runtimeerrors)逻辑错误(Logicerrors)1.了解异常处理及调试程序错误值—
异常的处理语法格式首先,执行try子句(try和except关键字之间的代码)如果没有触发异常,则跳过except子句,try语句执行完毕;如果执行try子句时发生了异常,则跳过触发异常代码后面剩余部分,进而与except关键字后面的异常类型(Except_Type)进行比对,如果发现异常的类型匹配成功,则执行except子句,最后,再继续执行try-except语句之后的代码。try语句有两个可选子句,一个是else子句,一个是finally子句,前者当try子句中没有异常触发时执行,后者无论try子句中的代码有没有引发异常,都会执行。所有的except必须在else和finally之前,else必须在finally之前。1.了解异常处理及调试程序错误值—
文件预处理等效的文件处理1.了解异常处理及调试程序错误值—
文件预处理从csv文件获取省份所包含的地州市名称1.了解异常处理及调试程序错误值—
调试程序设置断点断点(breakpoint)是指希望程序执行过程中暂停的位置,以便于我们能更进一步的观查变量的值、判断条件是否成立等启动调试环境选择调试配置1.了解异常处理及调试程序错误值—
调试程序跟踪运行继续/暂停(Continue/PauseF5):暂停或直接执行完代码,直到下一个断点。单步执行(StepOverF10):单步执行,但不进入被调用函数。单步进入(StepIntoF11):单步执行,进入被调用函数。跳出(StepOutShift+F11):跳出单步执行模式。重启(RestartCtrl+Shift+F5):重启调试环境。停止(StopShift+F5):停止调试程序。2.网络API查询城市经纬度坐标—
http与requests两个概念HTTP(HyperTextTransferProtocol)超文本传输协议实现万维网上各种资源的链接URL(UniformResourceLocator,统一资源定位器)访问过程建立连接:客户端的浏览器向服务端发出建立连接的请求,服务端给出响应就可以建立连接了;发送请求:客户端按照协议的要求通过连接向服务端发送自己的请求;给出应答:服务端按照客户端的要求给出应答,把结果(HTML文件)返回给客户端;关闭连接:客户端接到应答后关闭连接。https://xxx.xxx.xx.xx/index.html协议/服务域名/地址文件路径/资源2.网络API查询城市经纬度坐标—
http与requests访问天地图网站过程的示意图浏览器发起访问URL请求向DNS请求解析的IP地址服务器响应,将文档index.html发送给浏览器释放TCP连接浏览器显示index.html中的内容InternetWeb服务器xxx.xxx.xx.xx客户机(浏览器)Index.htmlIP:2HTTPoverTCPTCP连接建立TCP连接请求文档1HTTP请求报文响应文档2HTTP响应报文释放TCP连接浏览器与服务器建立TCP连接(80端口)DNS将解析出的IP地址2返回浏览器浏览器请求文档:GET/index.html2.网络API查询城市经纬度坐标—
http与requestshttp://api_hub#分析数据analyze()#识别二维码ocr()#语音转文字recognizeText()MyPythonCodehttp://api_hub/analyzeAPIAPI(ApplicationProgrammingInterface)指应用程序编程接口访问方式GET方式:以查询字符串(querystring)的形式传递查询参数,对于中文、标点符号等需要进行转义处理,传递的字符数量有限制。POST方式:将要传递查询参数封装到消息体中进行传递,对于特殊字符不需要进行转义处理,能够传递的数据量大,包括图片。2.网络API查询城市经纬度坐标—
字典与JSON数据json.loads():将已编码的JSON字符串解码为Python对象,转换规则为:object->dict,array->list,string->str,number(int)->int,number(real)->float,true->True,false->False,null->Nonejson.dumps():将Python对象编码成JSON字符串,转换规则为:dict->object,list/tuple->array,str->string,int/float->number,True->true,False->false,None->null2.网络API查询城市经纬度坐标—
查询城市经纬度天地图API返回的结果GEO地图经纬度josn文件格式2.网络API查询城市经纬度坐标—
查询城市经纬度3.创建城市人口分布GEO地图获取湖南省14个地州市的人口数只需要使用前2列数据,字典读取,key为:city和population3.创建城市人口分布GEO地图zip函数组合列表[‘北京‘,’天津‘,’河北‘,’山西‘,'内蒙古'][21893095,13866009,74610235,34915616,……]3.创建城市人口分布GEO地图准备数据绘制GEO地图创建地区/城市人口分布GEO地图06集合Set1.集合及其基本操作关于集合集合(set)数据类型是一个无序的不重复元素序列Python中的集合(set)与数学中的集合概念类似
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 福建省泉州市洛江区北片区2024年九年级数学第一学期期末质量检测试题含解析
- 合肥市蜀山区2025届化学九年级第一学期期末联考模拟试题含解析
- 2025届广东省潮州市湘桥区九年级数学第一学期期末教学质量检测模拟试题含解析
- 江苏省常州市星辰实验学校2024-2025学年九年级化学第一学期期末质量检测模拟试题含解析
- 江苏省连云港灌云县联考2025届九年级数学第一学期期末教学质量检测试题含解析
- 处方管理办法加强管制
- 大学财务审计管理办法
- 大厂资金储备管理办法
- 地产公司激励管理办法
- 地方快餐餐饮管理办法
- 福建省南平市2024-2025学年八年级下学期期末考试数学试卷(含答案)
- 工厂绩效计件方案(3篇)
- 慢性阻塞性肺疾病急性加重(AECOPD)
- 尿路感染多重耐药诊疗与管理
- 2025年湖南省中考历史试卷真题(含答案)
- 2025-2030中国微创仪器行业市场发展趋势与前景展望战略研究报告
- 数学 2024-2025学年人教版七年级数学下册期末+试卷
- 校长三四五级职级考试试题及答案
- 高中英语必背3500单词表完整版
- T/CNFAGS 16-2024绿色甲醇分级标准(试行)
- T/DGGC 022-2023盾构机保养与维修技术规范
评论
0/150
提交评论