最近天气变化无常,便选择了扬州当地未来一周的温度作为数据,将最高温、最低温进行可视化,观察温度变化趋势和温差。
先在天气预报的正规网站上爬取数据,结合上次网络爬虫的知识,相对来说轻松一些。
引入matplotlib库进行绘图,结果出现了较大问题:
这时我的x、y的数据来源是直接爬取后处理得到的数据列表,但是图表绘画出来是这样的:
发现纵坐标完全不对,并没有按照大小排列。经过一番查找,发现了问题所在:
原来是爬取的数据存在两个问题:一,不是数字类型,而是字符串类型。二,由于网页bug问题,当日5.9的最低温度并没有写在其中,导致了错误。
解决第二个问题比较容易,利用列表的操作,我认为查得今日的最低温度,在设置temlow的初始值时将其填入,并且在数据全部进入temlow列表时利用remove(”“)将空白删除,数据便相对完整,并且都是字符串类型。但第一个问题尝试了颇多办法,始终没能解决,最终只能先print出temlow、temhigh,人为赋给y1,y2,才绘制出正确的折线。
分析可知,这一周扬州的温度将继续上升,但同日内温差较大。
个人总结:
一开始看到数据分析的大作业非常害怕,觉得很难,但是经过一番摸索和研究,慢慢也发现了窍门。解决问题的过程比较曲折,但好在努力并不会白费。水平有限,这次的大作业也只是选择了比较简单的折线图,希望以后能更多运用,掌握的更好。