您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Python數據可視化案例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
前言
三個步驟:
確定問題,選擇圖形
轉換數據,應用函數
參數設置,一目了然
第一步
提出問題:租賃總量對應濕度的變化趨勢
適合圖形:因為濕度屬于連續性數值變量,我們可以選擇折線圖反應變化趨勢
第二步
轉換數據:我們需要一個二維數據框,按照溫度變化排序,取對應的三個租賃數的平均值
應用函數:直接應用plt的plot函數即可完成折線圖
workingday_df = Bikedata[Bikedata['workingday']==1]#t workingday_df = workingday_df.groupby(['hour'],as_index=True).agg({'count':'mean','registered':'mean','casual':'mean'}) nworkingday_df = Bikedata[Bikedata['workingday']==0] nworkingday_df = nworkingday_df.groupby(['hour'],as_index=True).agg({'count':'mean','registered':'mean','casual':'mean'}) nworkingday_df.head()
第三步:設置參數
figure,axes = plt.subplots(1,2,sharey=True)#設置一個1*2的畫布,且共享y軸 workingday_df.plot(figsize=(15,5),title='The average number of rentals initiated per hour in the working day',ax=axes[0]) nworkingday_df.plot(figsize=(15,5),title='The average number of rentals initiated per hour in the nworking day',ax=axes[1]) <matplotlib.axes._subplots.AxesSubplot at 0xe452940>
可以看出:
在工作日,會員出行對應兩個很明顯的早晚高峰期,并且在中午會有一個小的高峰,可能對應中午外出就餐需求;
工作日非會員用戶出行高峰大概在下午三點;
工作日會員出行次數遠多于非會員用戶;
在周末,總體出行趨勢一致,大部分用車發生在11-5點這段時間,早上五點為用車之最。
第一步
提出問題:租賃總量對應濕度的變化趨勢
適合圖形:因為濕度屬于連續性數值變量,我們可以選擇折線圖反應變化趨勢
第二步
轉換數據:我們需要一個二維數據框,按照溫度變化排序,取對應的三個租賃數的平均值
應用函數:直接應用plt的plot函數即可完成折線圖
第三步
參數設置:只需要設置折線圖的標題,其他參數默認
temp_df = Bikedata.groupby(['temp'],as_index='True').agg({'count':'mean','registered':'mean','casual':'mean'}) temp_df.plot(title = 'The average number of rentals initiated per hour changes with the temperature') <matplotlib.axes._subplots.AxesSubplot at 0xe57d7f0>
隨著溫度的升高,租賃數量呈上升趨勢;
在溫度達到35度時,因天氣炎熱,總體數量開始下降;
在溫度在4度時,租賃數達到最低點;
第一步
提出問題:租賃總量對應濕度的變化趨勢
適合圖形:因為濕度屬于連續性數值變量,我們可以選擇折線圖反應變化趨勢
第二步
轉換數據:我們需要一個二維數據框,按照溫度變化排序,取對應的三個租賃數的平均值
應用函數:直接應用plt的plot函數即可完成折線圖
第三步
參數設置:只需要設置折線圖的標題,其他參數默認
humidity_df = Bikedata.groupby(['humidity'],as_index=True).agg({'count':'mean','registered':'mean','casual':'mean'}) humidity_df.plot(title='Average number of rentals initiated per hour in different humidity') <matplotlib.axes._subplots.AxesSubplot at 0xe582400>
可以觀察到在濕度20左右租賃數量迅速達到高峰值,此后緩慢遞減。
年份,月份和季節作圖方法類似,都采用折線圖繪制,這里省略。
第一步
提出問題:租賃總量對應濕度的變化趨勢
適合圖形:因為天氣情況屬于數值型分類變量,我們可以選擇柱形圖觀察數量分布
第二步
轉換數據:我們需要一個二維數據框,按照天氣情況對租賃數量取平均值
應用函數:應用plt的plot.bar函數繪制組合柱形圖
第三步
參數設置:只需要設置折線圖的標題,其他參數默認
weather_df = Bikedata.groupby(['weather'],as_index=True).agg({'registered':'mean','casual':'mean'}) weather_df.plot.bar(stacked=True,title='Average number of rentals initiated per hour in different weather') <matplotlib.axes._subplots.AxesSubplot at 0xe7e0a90>
觀察到天氣等級為4時,平均出行人數比天氣等級為2是還要高,這不符合常理
我們查看一下天氣等級為4的詳細情況
count_weather = Bikedata.groupby('weather') count_weather[['casual','registered','count']].count()
時間為工作日的下午六點鐘,屬于晚高峰異常數據,不具有代表性。
第一步
提出問題:查看會員用戶和臨時用戶在整體用戶中的比例
適合圖形:查看占比,適合用餅圖pie
第二步
轉換數據:需要一個二維數據框,按天數取兩種用戶的平均值
應用函數:應用plt的plot.pie函數繪制餅圖
第三步
參數設置:這是數據標簽和類別標簽
#考慮到相同日期是否工作日,星期幾,以及所屬年份等信息是一樣的,把租賃數據按天求和,其它日期類數據取平均值 day_df = Bikedata.groupby(['date'], as_index=False).agg({'casual':'sum','registered':'sum','count':'sum', 'workingday':'mean','weekday':'mean','holiday':'mean','year':'mean'}) day_df.head()
#按天取兩種類型用戶平均值 number_pei=day_df[['casual','registered']].mean() number_pei casual 517.411765 registered 2171.067031 dtype: float64 #繪制餅圖 plt.axes(aspect='equal') plt.pie(number_pei, labels=['casual','registered'], autopct='%1.1f%%', pctdistance=0.6 , labeldistance=1.05 , radius=1 ) plt.title('Casual or registered in the total lease') Text(0.5,1,'Casual or registered in the total lease')
感謝各位的閱讀!關于“Python數據可視化案例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。