Python程序设计#4作业

Python程序设计#4作业 作业题目 基于#3作业获取的数据(No_Smoothing,非平滑数据),计算出LOWESS(局部加权回归,fraction取前后各5年的数据)结果

本文包含相关资料包-----> 点击直达获取<-------

Python程序设计#4作业

作业题目

基于#3作业获取的数据(No_Smoothing,非平滑数据),计算出LOWESS(局部加权回归,fraction取前后各5年的数据)结果,该结果可以与test.txt文件中的Lowess字段进行比较。

作业内容

程序源代码嵌入下方的code block中。

```python import aiohttp import asyncio import argparse import json import xml.etree.ElementTree as xmlet from matplotlib import colors import matplotlib.pyplot as pl import numpy as np import statsmodels.api as sm lowess = sm.nonparametric.lowess

async def main(host,port,start,end,fmt): url=f'http://{host}:{port}/{fmt}/start/{start}/end/{end}' async with aiohttp.ClientSession(trust_env=True) as session: async with session.get(url,verify_ssl=False) as response: print("Status:", response.status) print("Content-type:", response.headers['content-type']) text = await response.text() temper=list() if fmt=='csv': lines=text.split('\n') for line in lines: if line=="": continue words=line.split(',') temper.append({'year':words[0],'temperature':words[1],'lowess':words[2]})

        elif fmt=='xml':
            root=xmlet.fromstring(text)
            for child in root:
                temper.append({'year':child[0].text,'temperature':child[1].text,'lowess':child[2].text})
        elif fmt=='json':
            temper=json.loads(text)

        for words in temper:
            print('year:{0} temperature:{1} lowess:{2} '.format(words['year'],words['temperature'],words['lowess']))


        xList = list()
        yList = list()
        for item in temper:
            xList.append(item['year'])
            yList.append(item['temperature'])
        x=np.array(xList)
        y=np.array(yList)
        d = lowess(y,x,frac=10/len(temper))

        print(d[:,1])

        pl.clf()
        pl.grid()
        pl.xlim(1880,2020)
        pl.ylim(-0.5,1.5)
        pl.plot(x,y,'o',label="initial",color="silver")
        pl.plot(x,d[:,1],'k',label="lowess")
        pl.legend()
        pl.show()

loop = asyncio.get_event_loop()

loop.run_until_complete(main())

if name ==' main ': parser = argparse.ArgumentParser(description='world temperature') parser.add_argument('--start',dest='start',type=int,default=1880) parser.add_argument('--end',dest='end',type=int,default=2020) parser.add_argument('--fmt',dest='fmt',default='json') parser.add_argument('host') parser.add_argument('port') args=parser.parse_args() print(f'{args}')

asyncio.run(main(args.host,args.port,args.start,args.end,args.fmt))

```

代码说明

本次作业是在上一个作业之上调用lowess库拟合曲线,并利用了python的画图功能绘制最后的拟合图像。

主要增加的代码部分为:

```python xList = list() yList = list() for item in temper: xList.append(item['year']) yList.append(item['temperature']) x=np.array(xList) y=np.array(yList) d = lowess(y,x,frac=10/len(temper))

        print(d[:,1])

        pl.clf()
        pl.grid()
        pl.xlim(1880,2020)
        pl.ylim(-0.5,1.5)
        pl.plot(x,y,'o',label="initial",color="silver")
        pl.plot(x,d[:,1],'k',label="lowess")
        pl.legend()
        pl.show()

```

拟合lowess的结果如下,与题目所给lowess吻合,并且我们的精度更高。

-0.08144779 -0.12008878 -0.15881339 -0.19614487 -0.23326259 -0.25917118 -0.26827201 -0.26864019 -0.26318052 -0.25464983 -0.24974514 -0.25420199 -0.26251882 -0.25562321 -0.23511587 -0.21920332 -0.20210456 -0.17923063 -0.16369371 -0.16968201 -0.19561231 -0.22810348 -0.2539592 -0.27745884 -0.30570607 -0.3347918 -0.35633241 -0.37072506 -0.38825524 -0.40659592 -0.41041234 -0.38828298 -0.35011102 -0.32172921 -0.31019817 -0.30188395 -0.29379681 -0.29339035 -0.29791136 -0.29215244 -0.27664492 -0.26332536 -0.25326153 -0.24114275 -0.23064979 -0.2238896 -0.21905266 -0.21037642 -0.19771053 -0.19095205 -0.19169238 -0.18695124 -0.17747809 -0.16736763 -0.15620801 -0.13675994 -0.10493252 -0.06076713 -0.0117206 0.03228486 0.06544592 0.09127118 0.10638015 0.10034034 0.07448895 0.04064708 0.00480866 -0.03636271 -0.0704062 -0.0819276 -0.07521314 -0.0704123 -0.07140659 -0.07259443 -0.06517353 -0.05518938 -0.0483255 -0.03671756 -0.01276659 0.01333896 0.02551233 0.01328195 -0.00920192 -0.02644841 -0.0387297 -0.05215666 -0.05734057 -0.04807596 -0.03151384 -0.01742263 -0.00357373 0.00382378 0.00202471 -0.00316851 0.00534132 0.02275157 0.04304114 0.0753689 0.12261457 0.16570641 0.19780009 0.21300344 0.21616041 0.21129991 0.21107274 0.22279201 0.24297974 0.27118568 0.30626764 0.32931736 0.33134639 0.32704439 0.32826922 0.33199645 0.34077176 0.36725327 0.39990774 0.42235573 0.44362863 0.47176327 0.50126276 0.52336387 0.55017207 0.58510615 0.61173863 0.620659 0.62526428 0.63459115 0.64173617 0.64281338 0.64788152 0.66539588 0.69783501 0.7404656 0.78662114 0.83159711 0.87563015 0.91146532 0.94557196 0.97656371 1.00582661

画图,拟合图像如下

matchedCurve

本次实验总体较为简单,做起来比较顺利

参考文献

  • 基于Python的非结构化数据检索系统的设计与实现(南京邮电大学·董海兰)
  • 基于B/S架构的酷跑社区系统的设计与实现(内蒙古大学·张晓乐)
  • 基于SSH架构的个人空间交友网站的设计与实现(北京邮电大学·隋昕航)
  • 基于web的旅游服务平台的设计与实现(内蒙古大学·张凡)
  • 商务网站后台系统的设计与实现(电子科技大学·蒋豪)
  • 基于J2EE的远程网络教育系统研究与实现(电子科技大学·陈南荪)
  • 基于J2EE的手机综合网站的设计与实现(吉林大学·宋微)
  • 基于.NET平台的ETF终端设计与实现(吉林大学·刘健)
  • 基于B/S架构的酷跑社区系统的设计与实现(内蒙古大学·张晓乐)
  • 基于B/S架构的作业管理系统的研究与实现(郑州大学·曹晏祯)
  • 基于web的旅游服务平台的设计与实现(内蒙古大学·张凡)
  • 商务网站后台系统的设计与实现(电子科技大学·蒋豪)
  • 基于J2EE的地区电子政务系统的设计与实现(电子科技大学·薛刚)
  • 丰昌公司电子商务系统的设计与实现(大连理工大学·陈贺)
  • 基于.NET自定义控件的社区网站系统研究与实现(武汉理工大学·刘亚)

本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:毕设向导 ,原文地址:https://m.bishedaima.com/yuanma/36025.html

相关推荐

  • 基于Python建立小型搜索引擎

    建立小型搜索引擎实验报告 1 整体介绍 本项目总工分为六天完成,在本次编程集训中针对以下五个网站: 中国人民大学教务处( ‘http://jiaowu
    2024年05月14日
    2 1 1
  • 基于Python模仿流量攻击的方法对字节编码攻击

    基于Python模仿流量攻击的方法对字节编码攻击 一,总目标 NIDS 配置:FE(bytes encoding)+ ML(textCNN) 二
    2024年05月14日
    2 1 1
  • Python实现基于主动学习的实体关系抽取

    基于主动学习的关系抽取题目方法研究 摘要 当代社会的知识已呈爆炸性增长,其中最常见的知识蕴含在非结构化的自然语言文本当中,信息抽取(Information Extraction)技术通过一组被提及的实体
    2024年05月14日
    2 1 1
  • 基于SSM开发通用权限管理系统

    基于 SSM 框架的 JavaWeb 通用权限管理系统 01 概述 这是一个通用权限管理系统项目,基于 SSM(Spring + Spring-MVC +Mybatis)框架开发
    2024年05月14日
    10 1 2
  • 基于JavaEE的在线考试管理系统源码

    这是一个🔥🔥基于JavaEE的在线考试管理系统源码🔥🔥的项目源码,开发语言Java,开发环境Idea/Eclipse,这个 JavaEE在线考试开发技术栈为SSH项目
    2024年05月23日
    16 1 6
  • 教学资源库

    这是一个🔥🔥基于SpringBoot框架的教学资源库设计与实现🔥🔥的项目源码,开发语言Java,框架使用的SpringBoot+vue技术,开发环境Idea/Eclipse
    2024年05月23日
    2 1 1
  • python数据分析

    python数据分析(9)——挖掘建模(4)时序模式 1, 时间序列算法 2, 时间序列的预处理 2,1平稳性检验 2,1,1 时序图检验 平稳的时序图序列值在一个常数附近随机波动
    2024年05月14日
    1 1 1
  • 基于SpringBoot框架的在线教育系统

    这是一套采用Java编程语言,基于SpringBoot框架构建的在线教育系统源代码,该项目运用了SpringBoot和Vue的技术栈,开发工具为Idea或Eclipse
    2024年05月23日
    11 1 4
  • 基于Android的通讯录app开发与实现

    这是一个🔥🔥基于Android的通讯录app开发与实现🔥🔥的项目源码,开发语言Java,开发环境Idea/Eclipse,这个 通讯录App开发技术栈为安卓项目,可以作为毕业设计课程设计作业该android课程设计是实现一个通讯录APP
    2024年05月23日
    5 1 3
  • python制作海底飞行棋

    python制作海底飞行棋(含源码) 飞行棋玩过吗?玩过python制作的海底飞行棋玩过吗?额,,,,,, 今天就来教制作海底飞行棋 核心玩法 两名玩家通过→和←操控游戏角色
    2024年05月14日
    3 1 2

发表回复

登录后才能评论