纠纷奇闻社交美文家庭
投稿投诉
家庭城市
爱好生活
创业男女
能力餐饮
美文职业
心理周易
母婴奇趣
两性技能
社交传统
新闻范文
工作个人
思考社会
作文职场
家居中考
兴趣安全
解密魅力
奇闻笑话
写作笔记
阅读企业
饮食时事
纠纷案例
初中历史
说说童话
乐趣治疗

PythonPandasMatplotlib初探数据分析

9月17日 顾昀汐投稿
  大数据测试,说来进入这块领域也快2年半了。每天工作的内容是验证数据表的逻辑正确性。
  最近偶有所思,数据测试能否更进一步?如何利用已有技能对海量数据进行全面分析,找出数据质量问题或协助数据分析师发现逻辑漏洞?
  再或者,能否向数据分析师转型呢?想得很多,思绪有些杂乱。于是我冷静了下,不再空想。我先做点东西出来看看,再评估下自己是否有这个能力和资质。
  花了1个星期的时间,学习了Python的Pandas模块,按照学习示例一边学习一边实操,慢慢地感觉就来了。对Pandas有了基本的认知后,我在寻找一个突破点,我想我不能一直只是这样按照示例代码敲下去,毫无意义。
  我得将所学的Pandas知识结合公司现有的业务进行运用。刚开始至少能简单地开始对某张数据表的某个指标进行数据分析。于是我按照这样的想法对test。testresv001roomdailydf表的numberofroomnights指标开始了数据分析的探索。
  1、hivesql数据准备testsqlselecthotelcodenew,substr(staydate,1,7)asstaydate,sum(numberofroomnights)asroomntsfromtest。testresv001roomdailydfwheredt20210831andhotelcodenewin(CNSZV002,CWH,CWSW,ESL,FIJ)andresvstatusin(CHECKEDIN,CHECKEDOUT)andsubstr(staydate,1,7)in(201901,201902,201903,201904,201905,201906,201907,201908,201909,201910,201911,201912)groupbyhotelcodenew,substr(staydate,1,7)orderbyhotelcodenew,substr(staydate,1,7)
  hivesql内容说明:
  从上面的hivesql语句可以看出,这条sql的目的是查询出hotelcodenew为CNSZV002,CWH,CWSW,ESL,FIJ在2019年各个月份的numberofroomnights指标总和,按照hotelcodenew和月份作分组和排序。
  2、代码实现fromimpala。dbapiimportconnectimportwarningsimportpandasaspdimportmatplotlib。pyplotasplthivesqltestsql1中数据准备的hivesql语句defhiveconnect(sql):warnings。filterwarnings(ignore)confighivebeta{host:10。7。89。01,hive的host地址port:10000,hive的端口号user:hive001,hive的usernamepassword:hive001,hive的passworddatabase:tmp,hive中需要查询的数据库名authmechanism:PLAINhive的hivesite。xml配置文件中获取}connconnect(confighivebeta)cursorconn。cursor()cursor。execute(sql)hivealldatacursor。fetchall()returnhivealldataalldatahiveconnect(testsql)CNSZV002dt〔〕CWHdt〔〕CWSWdt〔〕ESLdt〔〕FIJdt〔〕CNSZV002data〔〕CWHdata〔〕CWSWdata〔〕ESLdata〔〕FIJdata〔〕foriinrange(len(alldata)):ifalldata〔i〕〔0〕CNSZV002:CNSZV002data。append(alldata〔i〕〔2〕)CNSZV002dt。append(alldata〔i〕〔1〕)elifalldata〔i〕〔0〕CWH:CWHdata。append(alldata〔i〕〔2〕)CWHdt。append(alldata〔i〕〔1〕)elifalldata〔i〕〔0〕CWSW:CWSWdata。append(alldata〔i〕〔2〕)CWSWdt。append(alldata〔i〕〔1〕)elifalldata〔i〕〔0〕ESL:ESLdata。append(alldata〔i〕〔2〕)ESLdt。append(alldata〔i〕〔1〕)elifalldata〔i〕〔0〕FIJ:FIJdata。append(alldata〔i〕〔2〕)FIJdt。append(alldata〔i〕〔1〕)i0apd。MultiIndex。fromtuples(〔(CNSZV002,x)forxinCNSZV002dt〕,names〔dt,〕)i0bpd。MultiIndex。fromtuples(〔(CWH,x)forxinCWHdt〕,names〔dt,〕)i0cpd。MultiIndex。fromtuples(〔(CWSW,x)forxinCWSWdt〕,names〔dt,〕)i0dpd。MultiIndex。fromtuples(〔(ESL,x)forxinESLdt〕,names〔dt,〕)i0epd。MultiIndex。fromtuples(〔(FIJ,x)forxinFIJdt〕,names〔dt,〕)df0apd。DataFrame(CNSZV002data,indexi0a)df0bpd。DataFrame(CWHdata,indexi0b)df0cpd。DataFrame(CWSWdata,indexi0c)df0dpd。DataFrame(ESLdata,indexi0d)df0epd。DataFrame(FIJdata,indexi0e)dfpd。concat(〔df0a,df0b,df0c,df0d,df0e〕)dfdf。unstack(dt)。fillna(0)df。columnsdf。columns。droplevel()print(df)
  3、hive数据库alldata的数据结构查询结果alldata〔(CNSZV002,201906,2353),(CNSZV002,201907,2939),(CNSZV002,201908,5148),(CNSZV002,201909,3850),(CNSZV002,201910,4973),(CNSZV002,201911,5467),(CNSZV002,201912,4742),(CWH,201901,11023),(CWH,201902,9824),(CWH,201903,13737),(CWH,201904,14603),(CWH,201905,14061),(CWH,201906,12839),(CWH,201907,14638),(CWH,201908,14457),(CWH,201909,11648),(CWH,201910,14387),(CWH,201911,13758),(CWH,201912,11461),(CWSW,201901,5914),(CWSW,201902,4434),(CWSW,201903,6003),(CWSW,201904,6611),(CWSW,201905,6586),(CWSW,201906,5840),(CWSW,201907,6624),(CWSW,201908,7001),(CWSW,201909,5792),(CWSW,201910,6898),(CWSW,201911,6944),(CWSW,201912,5404),(ESL,201901,11008),(ESL,201902,11605),(ESL,201903,14493),(ESL,201904,12231),(ESL,201905,13571),(ESL,201906,12307),(ESL,201907,13777),(ESL,201908,12866),(ESL,201909,13276),(ESL,201910,13223),(ESL,201911,14580),(ESL,201912,13050),(FIJ,201901,5855),(FIJ,201902,2660),(FIJ,201903,3511),(FIJ,201904,7763),(FIJ,201905,7254),(FIJ,201906,10641),(FIJ,201907,11297),(FIJ,201908,11672),(FIJ,201909,10737),(FIJ,201910,11867),(FIJ,201911,10042),(FIJ,201912,8412)〕
  4、代码实现2中的print(df)输出结果dtCNSZV002CWHCWSWESLFIJ2019010。011023。05914。011008。05855。02019020。09824。04434。011605。02660。02019030。013737。06003。014493。03511。02019040。014603。06611。012231。07763。02019050。014061。06586。013571。07254。02019062353。012839。05840。012307。010641。02019072939。014638。06624。013777。011297。02019085148。014457。07001。012866。011672。02019093850。011648。05792。013276。010737。02019104973。014387。06898。013223。011867。02019115467。013758。06944。014580。010042。02019124742。011461。05404。013050。08412。0
  手工校对通过,与hivesql输出结果一致。
  5、将dataframe数据结构的df数据使用plot生成趋势图dfdf。cumsum()plt。figure()df。plot()df。plot(kindbar)plt。legend(locbest)plt。show()
  调用df。plot()不带任何参数的趋势图如下:
  上述折线图表示:当前月份值及历史月份值的累加和。
  调用df。plot(kindbar)时加上参数kindbar的趋势图如下:
  上述柱状图表示:当前月份值及历史月份值的累加和。
  两个图只是展示形式上的区别,都能在一定程度上体现2019年12个月份每个不同hotelcodenew当前月份与历史月份numberofroomnights值的累加和的数据分布情况,可以说是一个简单的数据分析。
  6、将dataframe数据写入csv文件print(df)输出结果为dataframe数据类型df。tocsv(roomnts。csv)
  roomnts。csv内容如下:
  7、读取csv文件中dataframe数据roomntspd。readcsv(roomnts。csv)print(roomnts)Unnamed:0CNSZV002CWHCWSWESLFIJ02019010。011023。05914。011008。05855。012019020。09824。04434。011605。02660。022019030。013737。06003。014493。03511。032019040。014603。06611。012231。07763。042019050。014061。06586。013571。07254。052019062353。012839。05840。012307。010641。062019072939。014638。06624。013777。011297。072019085148。014457。07001。012866。011672。082019093850。011648。05792。013276。010737。092019104973。014387。06898。013223。011867。0102019115467。013758。06944。014580。010042。0112019124742。011461。05404。013050。08412。0
  8、将dataframe多维数据存储到excel中df。toexcel(roomnts。xlsx,sheetnameroomnts)
  roomnts。xlsx文件中sheetname为roomnts的内容如下:
  9、从excel中读取dataframe多维数据excelreadresultpd。readexcel(roomnts。xlsx,sheetnameroomnts,indexcolNone,navalues〔NA〕)print(excelreadresult)Unnamed:0CNSZV002CWHCWSWESLFIJ0201901011023591411008585512019020982444341160526602201903013737600314493351132019040146036611122317763420190501406165861357172545201906235312839584012307106416201907293914638662413777112977201908514814457700112866116728201909385011648579213276107379201910497314387689813223118671020191154671375869441458010042112019124742114615404130508412
  小结
  今天分享的数据分析内容比较基础,主要是将学到的技能与业务相结合的初步探索,后续还需要不断探索与学习,将学习到的技能加以思考并运用到实际项目业务中,如此方能走得更远。
投诉 评论 转载

在这张毅力号火星车发回的图片中也许你能发现NASAIngen美国宇航局的毅力号探测器在火星上的JezeroCrater并不孤单。它的超强同伴Ingenuity直升机仍有飞行能力。毅力号是一个狂热的摄影师,但它并没有为轨迹难以捉摸的Ing……波尔波尔文班亚马别人怎么玩?魔术再拿一状元签即可剑指总冠军这几年NBA对于小球可以说是相当执着,一些传统的站桩型内线已经不再那么吃香,不过对于那些具备投射能力的长臂猿,还是很受欢迎的,本赛季魔术阵中便云集了多名长臂选手,除了之前就在球……华为新机入网,HMS2。066W快充双曲面,或1月26日发布华为手机就成为了全球消费者公认的高端品牌,过去的两年时间里,华为备受多家巨头厂商的打压,其最主要的原因是华为核心技术的积累,还有产品的强悍竞争力,直接威胁到了同类友商的市场利益……7次化疗5小时手术,2岁男孩京沪两地打败超大肿瘤本文内容及图片,已征得主人公同意,首发于向日葵儿童,转载需授权大家好,我是花生妈妈,一个肝母细胞瘤结疗孩子的家长。我是个幸运的人,拥有一个平凡但幸福的家。直到孩子生……PythonPandasMatplotlib初探数据分析大数据测试,说来进入这块领域也快2年半了。每天工作的内容是验证数据表的逻辑正确性。最近偶有所思,数据测试能否更进一步?如何利用已有技能对海量数据进行全面分析,找出数据质量……中国女篮王丽丽只有脚踏实地打球,才能不辜负信任支持和赞美人生的成长过程中,老一辈的梦想,会让年轻一辈去实现,会鼓励他们,帮助他们,让他们出去闯荡和眺望世界。一个走向更大舞台的人,他也一定会变得更强,人生就是一直挑战,一直追求更大舞台……折叠屏真的不靠谱吗?为了探究真相,我入手了三星官翻机Flip下半年折叠屏手机掀起了一波热潮,甚至引发了一系列折叠屏手机该不该买的讨论,有人说折叠屏手机贵且不实用,但有些人用上折叠屏之后就回不去了,到底折叠屏手机靠不靠谱?能不能当主力机使……3000元手机大推荐(二)iQOO9篇对于手游玩家来说,电竞手机是必不可少的刚需。英雄可以没有家,但不能没有战马。拥有一款极致游戏体验的手机就是我们驰骋沙场的绝世战马。这是一款主打游戏娱乐的旗舰级手机。之所以……广东两名核心被禁赛,姚明出手毫不妥协,杜锋新赛季难以夺冠了?姚明终于出手作出了惩罚,对于广东宏远队,连续有两名核心主力的犯规伤人,直接被连续禁赛了。那么两名球员在球场上叠加禁赛了,对广东队来说是一个重磅打击。广东队方面为什么在近段时间连……2022年最佳台式机的推荐(下)今天我们来谈谈关于预算合理的游戏电脑,首先为大家推荐的是来自惠普的一款电脑,相信当我介绍完之后很多游戏玩家和学生党会对这款惠普Pavilion游戏台式机感兴趣。HPPavili……元宇宙催动下的手势识别,究竟是个啥?1992年,美国科幻小说家尼尔史蒂芬森在他的小说《雪崩》中第一次提到了元宇宙的概念,在小说中,斯蒂芬森创造了一个和社会紧密联系的三维数字空间,与现实世界平行,在这个数字空间中,……盘点五款当下热门的抗老精华,紧致又维稳,值得尝试护肤品发展势头迅猛,在各种护肤方式风波刮过之后,抗老依然是大家日常护肤看重的功效护肤方法。各大品牌也都在这方面齐齐发力,想要推出有看点、效果好的抗老精华。今天考拉就和大家……
泪目,那个4岁脑炎男孩终于重新学会走路发不发,就看八月八,今日八月初八,顺应老传统,别忘吃5样一孩难求的幼儿园将何去何从?委员建议放开生育限制,迟了年初首款骁龙8Gen2旗舰发布,超高人气预售创新高,快闪店也没有对比,就没有伤害,看完65岁大叔的图片,我照自己肚子就一大茅山记(11)登上央视纪录片的风景这边独好原来在这里安徽省的区划变动,16个地级市之一,滁州市为何有8个区县?努比亚Z40SPro官方海报预热,外形曝光西部不乱了!湖人3连胜,稳居前6位,火箭35分惨败,开拓者7没有少女的精气神就别硬凹,杨幂们给新人留点机会吧男性每晚睡前,在肚脐上滴几滴风油精,坚持一段时间会怎样呢?养肝就是养命,教你一个中成药,疏肝解郁,清火养肝,做好指挥员
天后也有颗粉嫩少女心时尚宠儿rihanna最新街拍风尚诚信是金小学六年级优秀作文浅谈宗教在俄罗斯语言文化发展中的影响人民法院判决探望权一般多久一次感谢那次失败的生日会初中数学教师教学反思鼠年女孩好听吉利的名字叠字精英不是招来的而是吸引来的你的吸引力在哪里家庭训练日记全情投入的陪伴孩子曹操死后他抢的别人的几个老婆是什么结局马化腾身价竟然全部都靠持有腾讯的股份来的万亿港元四年级书信给周老师的一封信

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找美丽时装彩妆资讯历史明星乐活安卓数码常识驾车健康苹果问答网络发型电视车载室内电影游戏科学音乐整形