猎奇网
猎奇网      设为首页      收藏本站
您的位置:首页 > 人与自然 > 自然奇观 > 正文
深圳天气,天气分析(1)
来源:网络文章    日期:2020-09-05 15:21    小贴士:点击图片可翻页
原标题:深圳天气,天气分析    【】

下文小编带大家看Python 深圳天气分析 读取数据 weather=pd.read_excel(r'C:UsersAdministratorDesktoptianqi.xlsx') print(weather.info()) print(weather.head())

  本篇数据不多,维度有6个,共有2908条数据

#增加年月维度 weather['year']=weather['日期'].dt.year weather['month']=weather['日期'].dt.month weather1=weather.loc[:,['year','month','日期','天气','最低温','最高温']] print(weather1.head()) #每年的描述性统计 weather_year=weather1.groupby('year') print(weather_year['最低温'].describe()) print(weather_year['最高温'].describe()) 从标准差来看,2019年无论是最低温或是最高温,全年的温度波动幅度是这些年来最低的,也就是2019年的气温相对来说,变化不会很大。 从最低温来看,2019年的最低温度是9度,而往年的最低温度均小于7度,甚至在2016年最低温度仅1度,由此可见2019年的冬天比往年都要温暖点 从均值也可以看出,2019年全年的平均温度都比往年高 weather_year_month=weather1.groupby(['year','month']).agg({'最低温':np.mean,'最高温':np.mean}).reset_index() fig,axes=plt.subplots(2,1,sharex=True,figsize=(15,10)) sns.pointplot(x='month',y='最低温',hue='year',data=weather_year_month,ax=axes[0]) sns.pointplot(x='month',y='最高温',hue='year',data=weather_year_month,ax=axes[1]) plt.show()

  会发现,所有年份出现一张图里,由于线条太多,加上颜色区分不大,很难区分2019年和其他年的差距情况,所以我想了另一个方法,这个方法我pandas暂时不会,哈哈哈大家见谅,所以用Excel统计出来,这个方法就是标准化,以2019年的温度为基数,看下其他年份的变化程度。

  这张图就会比较直白点,2019年的温度是一条直线,从图中我们可以看出:

2019年大部分月份的月均温度,都比往年高,特别在11月-2月这三个月里,温差最高达到了10度,而我们也会发现历年中,2016年的温度总体会比较低点。 #再看下每年温度的分布情况 fig,axes=plt.subplots(2,4,figsize=(20,10)) sns.distplot(weather1[weather1.year==2012]['最低温'],kde=False,ax=axes[0,0]) sns.distplot(weather1[weather1.year==2013]['最低温'],kde=False,ax=axes[0,1]) sns.distplot(weather1[weather1.year==2014]['最低温'],kde=False,ax=axes[0,2]) sns.distplot(weather1[weather1.year==2015]['最低温'],kde=False,ax=axes[0,3]) sns.distplot(weather1[weather1.year==2016]['最低温'],kde=False,ax=axes[1,0]) sns.distplot(weather1[weather1.year==2017]['最低温'],kde=False,ax=axes[1,1]) sns.distplot(weather1[weather1.year==2018]['最低温'],kde=False,ax=axes[1,2]) sns.distplot(weather1[weather1.year==2019]['最低温'],kde=False,ax=axes[1,3]) plt.show()

  我们可以发现,往年深圳天气的气温分布,大部分时间是集中在了20-30度这个区间,小部分在0-15度这个区间,且比重随着温度的上升而不断增加。但在2019年,却在18-20度这个区间的天数要不往年多出将近一倍,与此同时,0-10度的区间几乎没有分布。可见,2019年的冬天,原本应该属于寒冷的季节,温度却在18-20度左右。

#再来看下天气的分布情况 #由于天气种类较多,所以先做归类处理,归为晴天、雨天以及阴天 weather1.loc[weather1['天气'].str.contains('晴'),'天气']='晴天' weather1.loc[weather1['天气'].str.contains('雨'),'天气']='雨天' weather1.loc[weather1['天气'].str.contains('云|阴|霾'),'天气']='阴天' #然后可视化 weather2=weather1.groupby(['year','天气'])['日期'].count().reset_index().rename(columns={'日期':'天数'}) sns.barplot(x='天气',y='天数',hue='year',data=weather2) plt.show()

每日热门
图说天下
热门排行
Copyright © 2018 www.5566u.net. All Rights Reserved 苏ICP备14035400号-4