版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
深入浅出Python编程
(模块3数据结构)第6单元绘制人口普查数据图表
利用全国第七次人口普查数据绘制图表全国人口:人口数最多的省份、按序展示柱状图地区人口:湖南省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)Total:54Hours(24hPractice)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文件)返回给客户端;关闭连接:客户端接到应答后关闭连接。/index.html协议/服务域名/地址文件路径/资源2.网络API查询城市经纬度坐标—
http与requests访问天地图网站过程的示意图浏览器发起访问URL请求向DNS请求解析的IP地址服务器响应,将文档index.html发送给浏览器释放TCP连接浏览器显示index.html中的内容InternetWeb服务器客户机(浏览器)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)与数学中的集合概念类似,用于保存不重复的元素可以使用大括号{}或者set()函数创建集合,每一个集合的数据项之间用逗号分隔开,但创建一个空集合必须用set()而不是一对空花括号{}集合的元素只能是不可变数据类型,如整数、浮点数、字符串、元组等,不能是列表、字典等可变数据类型1.集合及其基本操作集合的计算交集&:A&B或A.intersection(B),返回一个新的集合,包括同时在集合A和B中的共同元素差集-:A-B或A.difference(B),返回一个新的集合,包括在集合A中但不在集合B中的元素并集|:A|B或A.union(B),返回一个新的集合,包括集合A和B中所有元素。补集^:A^B
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 素描美术系统课程设计
- 素食披萨课程设计
- 2025至2030年中国自动化电脑洗车设备行业投资前景及策略咨询研究报告
- 环境工程设计课程设计
- 2025至2030年中国石雕花瓶行业投资前景及策略咨询研究报告
- 物流技术与设备课程设计
- 怎么做培训的课程设计
- 微机原理课程设计开关
- 现场健身课程设计论文
- 液压吊车课程设计
- 辐射与防护学习通超星期末考试答案章节答案2024年
- 2024年个人之间清账协议书模板
- CRF病例报告表模板
- 前滚翻课件教学课件
- 路灯安装施工检验批质量检验记录表
- 2024年计算机二级WPS考试题库380题(含答案)
- 销售单模板(自动计算数字大写、时间自动生成)
- 2023年江苏省五年制专转本英语统考真题(试卷+答案)
- 艺术音乐鉴赏与实践智慧树知到答案2024年临沂市信息工程学校
- 班主任技能大赛真题及答案
- 部编新人教版小学语文6六年级上册(全册)教案设计
评论
0/150
提交评论