
使用Python分析紐約出租車搭乘數(shù)據(jù)
在紐約,出租車分為兩類:黃色和綠色。黃色出租(Yellow TAXI)車可以在紐約五大區(qū)(布朗克斯區(qū)、布魯克林區(qū)、曼哈頓、皇后區(qū)、斯塔滕島)內(nèi)任何地點(diǎn)搭載乘客。綠色出租車(Green TAXI)則被規(guī)定只允許在上曼哈頓、布朗克斯區(qū)、皇后區(qū)和斯塔滕島接客,這兩類出租車均由私人公司經(jīng)營(yíng)并受到紐約市出租車和轎車委員會(huì)(NYC Taxi and Limousine Commission)的監(jiān)管。本篇文章使用python對(duì)綠色出租車2016年1月——6月的數(shù)據(jù)進(jìn)行分析,探究綠色出租車的是使用趨勢(shì),用戶使用習(xí)慣以及天氣因素對(duì)出租車使用量的影響。
開(kāi)始前的準(zhǔn)備工作
開(kāi)始分析之前先進(jìn)行導(dǎo)入庫(kù)文件和數(shù)據(jù)的準(zhǔn)備工作,首先導(dǎo)入分析過(guò)程中需要使用的庫(kù)文件,用于對(duì)數(shù)據(jù)進(jìn)行計(jì)算和格式轉(zhuǎn)換,這里不再贅述,請(qǐng)見(jiàn)下面的代碼。
#導(dǎo)入所需的庫(kù)文件
import numpy as np
import pandas as pd
import time,datetime
import matplotlib.pyplot as plt
然后分別導(dǎo)入green_taxi 2016年1月至6月的數(shù)據(jù)表,并對(duì)數(shù)據(jù)表進(jìn)行進(jìn)行拼接。組成用于分析的完整數(shù)據(jù)大表。
#導(dǎo)入green_taxi2016年1-6月數(shù)據(jù)
green_taxi1=pd.DataFrame(pd.read_csv(‘green_tripdata_2016-01.csv’))
green_taxi2=pd.DataFrame(pd.read_csv(‘green_tripdata_2016-02.csv’))
green_taxi3=pd.DataFrame(pd.read_csv(‘green_tripdata_2016-03.csv’))
green_taxi4=pd.DataFrame(pd.read_csv(‘green_tripdata_2016-04.csv’))
green_taxi5=pd.DataFrame(pd.read_csv(‘green_tripdata_2016-05.csv’))
green_taxi6=pd.DataFrame(pd.read_csv(‘green_tripdata_2016-06.csv’))
#合并綠色出租車2016年1-6月數(shù)據(jù)
green_taxi=green_taxi1.append(green_taxi2,ignore_index=False)
green_taxi=green_taxi.append(green_taxi3,ignore_index=False)
green_taxi=green_taxi.append(green_taxi4,ignore_index=False)
green_taxi=green_taxi.append(green_taxi5,ignore_index=False)
green_taxi=green_taxi.append(green_taxi6,ignore_index=False)
通過(guò)查看維度,拼接完的數(shù)據(jù)大表共有901萬(wàn)條數(shù)據(jù),20個(gè)字段。
#查看數(shù)據(jù)表維度
green_taxi.shape
(9018030, 20)
使用columns函數(shù)查看數(shù)據(jù)表中20個(gè)字段的列名稱。通過(guò)字段名稱可以發(fā)現(xiàn),這張數(shù)據(jù)表中包括很多信息,包括乘客上下車時(shí)間,和經(jīng)緯度信息,乘客數(shù)量,付款方式以及行駛距離和費(fèi)率等等。
#查看數(shù)據(jù)表列名稱
green_taxi.columns
Index([‘VendorID’, ‘Lpep_dropoff_datetime’, ‘Store_and_fwd_flag’, ‘RateCodeID’,
‘Pickup_longitude’, ‘Pickup_latitude’, ‘Dropoff_longitude’,
‘Dropoff_latitude’, ‘Passenger_count’, ‘Trip_distance’, ‘Fare_amount’,
‘Extra’, ‘MTA_tax’, ‘Tip_amount’, ‘Tolls_amount’, ‘Ehail_fee’,
‘improvement_surcharge’, ‘Total_amount’, ‘Payment_type’, ‘Trip_type ‘],
dtype=’object’)
再查看一下數(shù)據(jù)表中的內(nèi)容,使用head函數(shù)查看數(shù)據(jù)表前5行的具體內(nèi)容??梢园l(fā)現(xiàn)上下車時(shí)間既包括了日期信息也包括了具體的小時(shí)信息。付款方式則是以類別編碼進(jìn)行的標(biāo)識(shí)。
#查看數(shù)據(jù)表前5行
green_taxi.head()
這里需要從NYC Taxi & Limousine Commission網(wǎng)站上下載一個(gè)對(duì)照文檔將字符標(biāo)識(shí)還原為類別名稱。這個(gè)在后面會(huì)用到,下面是文檔中的截圖。
準(zhǔn)備工作完成后,開(kāi)始對(duì)Green TAXI的數(shù)據(jù)開(kāi)始進(jìn)行分析。
2016年1-6月使用趨勢(shì)
這是一張實(shí)時(shí)Green TAXI的位置分布圖。Green TAXI可以從曼哈頓北部(西110街和東96街的北部),布朗克斯,皇后區(qū)(不包括機(jī)場(chǎng)),布魯克林和史坦頓島的街道上接載乘客,并且可以在任何地方落客。每輛Green TAXI出租車也都可以在曼哈頓北部,布朗克斯,皇后區(qū),布魯克林和史坦頓島和機(jī)場(chǎng)進(jìn)行預(yù)約載客。我們先來(lái)看下2016年1-6月的整體使用趨勢(shì)。
我們對(duì)Green TAXI中的數(shù)據(jù)進(jìn)行處理,獲得按月的使用量變化趨勢(shì)。首先將數(shù)據(jù)表中的載客時(shí)間字段轉(zhuǎn)化為日期格式,然后把這個(gè)字段設(shè)置為數(shù)據(jù)表的索引字段。并按月的維度對(duì)數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行匯總計(jì)數(shù)。并提取VendorID列作為每月Green TAXI的載客數(shù)量。
#將載客時(shí)間字段更改為時(shí)間格式
green_taxi[‘lpep_pickup_datetime’]=pd.to_datetime(green_taxi[‘lpep_pickup_datetime’])
#將載客時(shí)間字段設(shè)置為數(shù)據(jù)表的索引字段
green_taxi = green_taxi.set_index(‘lpep_pickup_datetime’)
#按月對(duì)數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行匯總計(jì)數(shù)
monthly=green_taxi.resample(‘M’,how=len)[‘VendorID’]
將按月的Green TAXI數(shù)據(jù)繪制為柱狀圖,來(lái)查看整體的變化趨勢(shì)情況,下面是繪制趨勢(shì)圖的代碼和結(jié)果。
#繪制分月載客數(shù)量變化趨勢(shì)圖
plt.rc(‘font’, family=’STXihei’, size=15)
a=np.array([1,2,3,4,5,6])
plt.bar([1,2,3,4,5,6],monthly,color=’#99CC01′,alpha=0.8,align=’center’,edgecolor=’white’)
plt.xlabel(‘月份’)
plt.ylabel(‘搭乘次數(shù)’)
plt.title(‘2016年1-6月Green TAXI搭乘次數(shù)’)
plt.legend([‘搭乘次數(shù)’], loc=’upper right’)
plt.grid(color=’#95a5a6′,linestyle=’–‘, linewidth=1,axis=’y’,alpha=0.6)
plt.xticks(a,(‘1月’,’2月’,’3月’,’4月’,’5月’,’6月’))
plt.ylim(0,1800000)
plt.show()
從圖表來(lái)看,1月2月和6月的使用量相對(duì)較低,3月到5月使用量相對(duì)較高。這樣的趨勢(shì)與季節(jié)和溫度有關(guān)系嗎?紐約冬天一般從11月到次年3月,冷且風(fēng)大。出租車的使用量是否和氣溫有關(guān)呢?我們這里先做一個(gè)假設(shè),在文章的最后再來(lái)分析。
乘客數(shù)量分布
Green TAXI 的車型分為四種,根據(jù)用途和載客數(shù)量不同從小到大分布為Sedan,Town car,Minivan和SUV。下面我們來(lái)看下搭乘Green TAXI的乘客數(shù)量分布。換句話說(shuō)就是每次搭乘時(shí)出租車內(nèi)的人數(shù)。這里需要說(shuō)明的是這個(gè)數(shù)字的采集方式是由出租車駕駛員手動(dòng)輸入的。因此可能會(huì)有一些不準(zhǔn)確性。
要獲得每次搭乘出租車乘客的分布情況,需要對(duì)數(shù)據(jù)表進(jìn)行處理。我們首先查看下搭乘人數(shù)的范圍,查看Passenger_count的最大值和最小值,范圍是0-9個(gè)人。這里就可以看出問(wèn)題。首先0人搭乘這個(gè)明顯是有問(wèn)題的。莫非是約車的時(shí)候打表來(lái)接的,然后又取消了訂單?其次9個(gè)人乘坐出租車這個(gè)應(yīng)該是SUV車型,應(yīng)該是包含兒童或未成年人。否則即使是7座的SUV也很難坐下9個(gè)成年人。
#查看每次載客的乘客數(shù)量范圍
green_taxi[‘Passenger_count’].min(),green_taxi[‘Passenger_count’].max()
(0, 9)
得到乘客數(shù)量范圍后,我們對(duì)數(shù)據(jù)表按Passenger_count字段進(jìn)行匯總計(jì)數(shù),并繪制乘客人數(shù)分布圖。
#按乘客數(shù)量對(duì)數(shù)據(jù)進(jìn)行計(jì)數(shù)匯總
Passenger=green_taxi.groupby(‘Passenger_count’)[‘Passenger_count’].agg(len)
下面是繪制乘客人數(shù)分布圖的代碼。
#繪制每次搭載乘客人數(shù)分布圖
plt.rc(‘font’, family=’STXihei’, size=15)
a=np.array([0,1,2,3,4,5,6,7,8,9])
plt.bar([0,1,2,3,4,5,6,7,8,9],Passenger,color=’#99CC01′,alpha=0.8,align=’center’,edgecolor=’white’)
plt.xlabel(‘乘客數(shù)量’)
plt.ylabel(‘搭乘次數(shù)’)
plt.title(‘每次搭乘Green TAXI的乘客人數(shù)分布’)
plt.legend([‘人數(shù)’], loc=’upper right’)
plt.grid(color=’#95a5a6′,linestyle=’–‘, linewidth=1,axis=’y’,alpha=0.4)
plt.xticks(a,(‘0人’,’1人’,’2人’,’3人’,’4人’, ‘5人’,’6人’,’7人’,’8人’,’9人’))
plt.ylim(0,9000000)
plt.show()
從乘客數(shù)量的分布情況來(lái)看,獨(dú)自1人搭乘出租車的數(shù)量最多,其次為2人,5人,3人和6人。這里也有可能是出租車司機(jī)輸入時(shí)的固定選擇造成的?,F(xiàn)有的數(shù)據(jù)中沒(méi)有可以進(jìn)行交叉驗(yàn)證的數(shù)據(jù),因此這個(gè)乘客人數(shù)分布數(shù)據(jù)僅供參考。
支付方式分布
Green TAXI數(shù)據(jù)表中對(duì)乘客支付車費(fèi)的方式分為了6類,通過(guò)對(duì)應(yīng)文檔分別為Credit card,
Cash,No charge,Dispute,Unknown,Voided trip。但仔細(xì)看會(huì)發(fā)現(xiàn),這并不是6種不同的支付方式。如后面的免費(fèi),爭(zhēng)議和空駛。甚至還出現(xiàn)了Unknown的情況。不過(guò)我們還是按
Payment_type字段對(duì)數(shù)據(jù)進(jìn)行了匯總統(tǒng)計(jì)。下面是支付方式的統(tǒng)計(jì)代碼和結(jié)果。
首先將支付方式的編號(hào)還原為具體的類別名稱。下面是具體的代碼。
#對(duì)數(shù)據(jù)表中的支付方式進(jìn)行標(biāo)注
bins = [0, 1, 2, 3, 4, 5, 6]
group_payment = [‘Credit card’, ‘ Cash’, ‘ No charge’, ‘Dispute’, ‘Unknown’, ‘ Voided trip’]
green_taxi[‘group_payment’] = pd.cut(green_taxi[‘Payment_type’], bins, labels=group_payment)
然后按支付方式的名稱字段對(duì)數(shù)據(jù)表進(jìn)行計(jì)數(shù)匯總。
#按支付方式對(duì)數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行匯總計(jì)數(shù)
payment_type=green_taxi.groupby(‘group_payment’)[‘group_payment’].agg(len)
對(duì)匯總后的支付方式數(shù)據(jù)匯總圖表進(jìn)行分析。
#繪制乘客支付方式分布圖
plt.rc(‘font’, family=’STXihei’, size=15)
a=np.array([1,2,3,4,5,6])
plt.bar([1,2,3,4,5,6],payment_type,color=’#99CC01′,alpha=0.8,align=’center’,edgecolor=’white’)
plt.xlabel(‘支付方式’)
plt.ylabel(‘搭乘次數(shù)’)
plt.title(‘搭乘Green TAXI的支付方式’)
plt.legend([‘搭乘次數(shù)’], loc=’upper right’)
plt.grid(color=’#95a5a6′,linestyle=’–‘, linewidth=1,axis=’y’,alpha=0.4)
plt.xticks(a,(‘Credit card’,’Cash’,’No charge’,’Dispute’, ‘Unknown’,’Voided trip’))
plt.show()
在所有的支付方式中,現(xiàn)金和信用卡是乘客使用最多的支付方式。其他的情況都很少見(jiàn)。其實(shí)本來(lái)幾個(gè)類別就不是支付方式的分類。
平均距離及里程分布
Green TAXI起步價(jià)2.5美元(0.2英里以內(nèi)),之后每0.2英里(約320米)或者等候2分鐘加收40美分。從晚間8點(diǎn)到早上6點(diǎn)期間,加收夜行附加費(fèi)0.50美元。高峰時(shí)刻(周一到周五下午4點(diǎn)到8點(diǎn))附加費(fèi)1美元。此外,乘客還需承擔(dān)乘車期間產(chǎn)生的任何費(fèi)用并另付小費(fèi)(15%以上)。這里搭乘距離是影響金額的主要因素,我們來(lái)看下乘客在搭乘出租車時(shí)的距離分布情況。
首先來(lái)看下乘客搭乘出租車的距離范圍,查看Trip_distance的最大值和最小值。最短距離為0,最大距離為832.2英里。這里的0英里不知道是什么情況。
#查看乘客搭載距離范圍
green_taxi[‘Trip_distance’].min(),green_taxi[‘Trip_distance’].max()
(0.0, 832.2)
用總的搭乘里程除以乘客搭乘次數(shù)計(jì)算出每次搭乘的平均行駛距離為2.81英里。
#計(jì)算每位乘客平均搭載的距離
green_taxi[‘Trip_distance’].sum()/green_taxi[‘Trip_distance’].count()
2.8170580049080391
對(duì)乘客搭乘距離進(jìn)行分組,以5公里為一組進(jìn)行劃分。
#對(duì)乘客搭載距離進(jìn)行分組
bins = [0, 5, 10, 50, 100, 200, 840]
group_distance = [‘0-5公里’, ‘5-10公里’, ’10-50公里’, ’50-100公里’, ‘100-200公里’, ‘200公里以上’]
green_taxi[‘group_distance’] = pd.cut(green_taxi[‘Trip_distance’], bins, labels=group_distance)
按劃分后的距離分組字段對(duì)數(shù)據(jù)表進(jìn)行計(jì)數(shù)匯總,查看乘客搭乘的距離分布情況。
#按分組距離對(duì)數(shù)據(jù)表進(jìn)行計(jì)數(shù)匯總
group_trip_distance=green_taxi.groupby(‘group_distance’)[‘Trip_distance’].agg(len)
將乘客搭乘的距離分布數(shù)據(jù)繪制成圖表。
#繪制乘客搭乘距離分布圖
plt.rc(‘font’, family=’STXihei’, size=15)
a=np.array([1,2,3,4,5,6])
plt.bar([1,2,3,4,5,6],group_trip_distance,color=’#99CC01′,alpha=0.8,align=’center’,edgecolor=’white’)
plt.xlabel(‘搭乘距離’)
plt.ylabel(‘搭乘次數(shù)’)
plt.title(‘乘客搭乘Green TAXI的距離分布’)
plt.legend([‘搭乘次數(shù)’], loc=’upper right’)
plt.grid(color=’#95a5a6′,linestyle=’–‘, linewidth=1,axis=’y’,alpha=0.4)
plt.xticks(a,(‘0-5公里’, ‘5-10公里’, ’10-50公里’, ’50-100公里’, ‘100-200公里’, ‘200公里以上’))
plt.show()
從乘客搭乘距離分布圖上來(lái)看,0-5公里短途的數(shù)量最多,隨著距離的增加搭乘次數(shù)明顯減少。很明顯長(zhǎng)途出行搭乘出租車不是一個(gè)經(jīng)濟(jì)的選擇。
乘客叫車方式偏好
Green TAXI的定位是Yellow TAXI的補(bǔ)充,因此對(duì)于Green TAXI的運(yùn)營(yíng)區(qū)域也有嚴(yán)格的限制,再來(lái)看下Green TAXI的載客區(qū)域。Green TAXI可以從曼哈頓北部(西110街和東96街的北部),布朗克斯,皇后區(qū)(不包括機(jī)場(chǎng)),布魯克林和史坦頓島的街道上接載乘客,并且可以在任何地方落客。但在曼哈頓北部,布朗克斯,皇后區(qū),布魯克林和史坦頓島和機(jī)場(chǎng)這些區(qū)域,Green TAXI只能進(jìn)行預(yù)約載客。也就是說(shuō),如果乘客沒(méi)有預(yù)約,Green TAXI就不能去這些區(qū)域載客。下面我們來(lái)看下Green TAXI的數(shù)據(jù)中乘客叫車的方式。
數(shù)據(jù)表中的Trip_type字段代表了乘客召喚出租車的方式,1= Street-hail,2= Dispatch。我們按Trip_type字段對(duì)數(shù)據(jù)進(jìn)行匯總。
#按乘客叫車方式對(duì)數(shù)據(jù)表進(jìn)行計(jì)數(shù)匯總
Trip_type=green_taxi.groupby(‘Trip_type ‘)[‘Trip_type ‘].agg(len)
然后匯總乘客叫車方式的分布圖。以下為代碼和結(jié)果。
#繪制乘客叫車方式分布圖
plt.rc(‘font’, family=’STXihei’, size=15)
a=np.array([1,2])
plt.bar([1,2],Trip_type,color=’#99CC01′,alpha=0.8,align=’center’,edgecolor=’white’)
plt.xlabel(‘叫車方式’)
plt.ylabel(‘搭乘次數(shù)’)
plt.title(‘乘客搭乘Green TAXI的方式’)
plt.legend([‘次數(shù)’], loc=’upper right’)
plt.grid(color=’#95a5a6′,linestyle=’–‘, linewidth=1,axis=’y’,alpha=0.4)
plt.xticks(a,(‘Street-hail’,’Dispatch’))
plt.show()
從圖表中看到,Street-hail即乘客在路邊召喚出租車的方式是最主要的叫車方式。Dispatch這類通過(guò)調(diào)度方式叫車的數(shù)量非常少。這里有一點(diǎn)需要說(shuō)明,2016年1月-6月除了Green TAXI和Yellow TAXI外,還有Uber存在。因此乘客在預(yù)約時(shí)可能更多的選擇了Uber,而非傳統(tǒng)的出租車。這里沒(méi)有Uber同期的數(shù)據(jù),僅僅是猜測(cè)。
24小時(shí)使用趨勢(shì)(1月數(shù)據(jù))
我們?cè)賮?lái)看下乘客在一天24小時(shí)中使用Green TAXI的情況。這里我們只使用了2016年1月的單月數(shù)據(jù)進(jìn)行分析。
重新導(dǎo)入2016年1月的數(shù)據(jù),并提取出每次搭乘的小時(shí)數(shù)據(jù),將數(shù)據(jù)表按小時(shí)數(shù)據(jù)進(jìn)行匯總。繪制24小時(shí)Green TAXI的使用變化趨勢(shì)圖。
#重新導(dǎo)入2016年1月的數(shù)據(jù)
green_taxi1=pd.DataFrame(pd.read_csv(‘green_tripdata_2016-01.csv’))
#對(duì)載客時(shí)間進(jìn)行分列,提取載客的小時(shí)數(shù)據(jù)
time_split = pd.DataFrame((x.split(‘ ‘) for x in green_taxi1.lpep_pickup_datetime),index=green_taxi1.index,columns=[‘pickup_date’,’pickup_time’])
#將分列后的時(shí)間字段與原始數(shù)據(jù)表合并
green_taxi1=pd.merge(green_taxi1,time_split,right_index=True, left_index=True)
#對(duì)合并后的數(shù)據(jù)表中的時(shí)間字段更改為時(shí)間格式
green_taxi1[‘pickup_time’]=pd.to_datetime(green_taxi1[‘pickup_time’])
#將時(shí)間字段設(shè)置為數(shù)據(jù)表的索引字段
green_taxi1 = green_taxi1.set_index(‘pickup_time’)
#按小時(shí)對(duì)數(shù)據(jù)表進(jìn)行計(jì)算匯總
pickup_time=green_taxi1.resample(‘H’,how=len)
#提取按小時(shí)匯總后的VendorID字段
group_pickup_time=pickup_time[‘VendorID’]
前面完成了24小時(shí)數(shù)據(jù)搭乘數(shù)據(jù)的匯總,下面的代碼繪制24小時(shí)搭乘趨勢(shì)圖。
#繪制24小時(shí)載客趨勢(shì)圖
plt.rc(‘font’, family=’STXihei’, size=9)
plt.plot(group_pickup_time,’g8′,group_pickup_time,’g-‘,color=’#99CC01′,linewidth=3,markeredgewidth=3,markeredgecolor=’#99CC01′,alpha=0.8)
plt.xlabel(’24小時(shí)’)
plt.ylabel(‘搭乘次數(shù)’)
plt.title(‘Green TAXI 24小時(shí)搭乘次數(shù)’)
plt.ylim(0,100000)
plt.grid( color=’#95a5a6′,linestyle=’–‘, linewidth=1 ,axis=’y’,alpha=0.4)
plt.show()
從24小時(shí)搭乘趨勢(shì)圖來(lái)看,每日晚間是Green TAXI的使用高峰。晚間的出租車使用量明顯高于早間,并且延續(xù)時(shí)間較長(zhǎng),從晚間19點(diǎn)的用車高峰一直持續(xù)到凌晨。
氣溫與出租車使用情況的關(guān)系
本文開(kāi)始時(shí),我們?cè)诜治?-6月Green TAXI使用趨勢(shì)時(shí)曾假設(shè)出租車的使用與氣溫有關(guān),冬季由于氣溫較低造成出租車的使用量也較低。下面我們使用2016年1月-6月的天氣數(shù)據(jù)與出租車的搭乘數(shù)據(jù)進(jìn)行相關(guān)分析,來(lái)看下這兩者間是否有關(guān)聯(lián)。
首先對(duì)出租車搭乘數(shù)據(jù)進(jìn)行預(yù)處理,包括更改字段格式以及對(duì)數(shù)據(jù)進(jìn)行按天匯總和提取工資。下面是每個(gè)步驟的代碼及說(shuō)明。
#將2016年1-6月數(shù)據(jù)表中載客時(shí)間字段更改為時(shí)間格式
green_taxi[‘lpep_pickup_datetime’]=pd.to_datetime(green_taxi[‘lpep_pickup_datetime’])
#將載客時(shí)間字段設(shè)置為數(shù)據(jù)表索引列
green_taxi = green_taxi.set_index(‘lpep_pickup_datetime’)
#數(shù)據(jù)表按天匯總計(jì)數(shù)
taxi_day=green_taxi.resample(‘D’,how=len)
#提取按天匯總后的VendorID字段值
group_taxi_day=taxi_day[‘VendorID’]
導(dǎo)入2016年1-6月的天氣數(shù)據(jù),然后從中提取最低氣溫?cái)?shù)據(jù),也就是TMIN字段中的值。用于和出租車搭乘數(shù)據(jù)進(jìn)行相關(guān)分析。
#導(dǎo)入天氣數(shù)據(jù)
weather_data=pd.DataFrame(pd.read_csv(‘822632.csv’))
#提取天氣數(shù)據(jù)表中最低低溫列數(shù)據(jù)
group_weather_day=weather_data[‘TMIN’]
準(zhǔn)備好兩組數(shù)據(jù)后,對(duì)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化預(yù)處理。
#導(dǎo)入數(shù)據(jù)預(yù)處理庫(kù)
from sklearn import preprocessing
#對(duì)天氣數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理
scaler = preprocessing.StandardScaler().fit(group_weather_day)
X_Standard=scaler.transform(group_weather_day)
#對(duì)出租車載客數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理
scaler = preprocessing.StandardScaler().fit(group_taxi_day)
Y_Standard=scaler.transform(group_taxi_day)
將預(yù)處理后的數(shù)據(jù)繪制散點(diǎn)圖,下面是具體的代碼和圖表。
#繪制出租車載客量與最低氣溫散點(diǎn)圖
plt.rc(‘font’, family=’STXihei’, size=15)
plt.scatter(X_Standard,Y_Standard,80,color=’white’,marker=’+’,edgecolors=’#052B6C’,linewidth=2,alpha=0.8)
plt.xlabel(‘最低氣溫’)
plt.ylabel(‘搭乘數(shù)量’)
plt.title(‘最低氣溫與Green TAXI搭乘數(shù)量’)
plt.grid(color=’#95a5a6′,linestyle=’–‘, linewidth=1,axis=’both’,alpha=0.4)
plt.show()
從散點(diǎn)圖中來(lái)看,最低氣溫與出租車的搭乘數(shù)量間并沒(méi)有明顯的聯(lián)系。出租車的搭乘數(shù)量一致維持固定的區(qū)間內(nèi),并沒(méi)有因?yàn)樽畹蜌鉁氐淖兓酗@著的變化。下面我們使用回歸分析計(jì)算兩者的相關(guān)性。
將每日的最低氣溫設(shè)置為自變量X,每日出租車的載客量設(shè)置為因變量Y。然后使用線性回歸模型來(lái)計(jì)算判定系數(shù)R方。
#將每日最低氣溫設(shè)置為自變量X
X = np.array(weather_data[[‘TMIN’]])
#將每日出租車載客量設(shè)置為因變量Y
Y = np.array(taxi_day[[‘VendorID’]])
#導(dǎo)入線性回歸模型
from sklearn import linear_model
clf = linear_model.LinearRegression()
clf.fit (X,Y)
#計(jì)算判斷系數(shù)R方
clf.score(X,Y)
0.0093570505543095761
判斷系數(shù)為0.0009,說(shuō)明自變量對(duì)因變量的解釋度較低,換句話說(shuō)最低氣溫的變化與出租車載客量間沒(méi)有聯(lián)系。
數(shù)據(jù)分析咨詢請(qǐng)掃描二維碼
若不方便掃碼,搜微信號(hào):CDAshujufenxi
LSTM 模型輸入長(zhǎng)度選擇技巧:提升序列建模效能的關(guān)鍵? 在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)家族中,長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)憑借其解決長(zhǎng)序列 ...
2025-07-11CDA 數(shù)據(jù)分析師報(bào)考條件詳解與準(zhǔn)備指南? ? 在數(shù)據(jù)驅(qū)動(dòng)決策的時(shí)代浪潮下,CDA 數(shù)據(jù)分析師認(rèn)證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據(jù)透視表中兩列相乘合計(jì)的實(shí)用指南? 在數(shù)據(jù)分析的日常工作中,數(shù)據(jù)透視表憑借其強(qiáng)大的數(shù)據(jù)匯總和分析功能,成為了 Excel 用戶 ...
2025-07-11尊敬的考生: 您好! 我們誠(chéng)摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實(shí)施重大更新。 此次更新旨在確保認(rèn) ...
2025-07-10BI 大數(shù)據(jù)分析師:連接數(shù)據(jù)與業(yè)務(wù)的價(jià)值轉(zhuǎn)化者? ? 在大數(shù)據(jù)與商業(yè)智能(Business Intelligence,簡(jiǎn)稱 BI)深度融合的時(shí)代,BI ...
2025-07-10SQL 在預(yù)測(cè)分析中的應(yīng)用:從數(shù)據(jù)查詢到趨勢(shì)預(yù)判? ? 在數(shù)據(jù)驅(qū)動(dòng)決策的時(shí)代,預(yù)測(cè)分析作為挖掘數(shù)據(jù)潛在價(jià)值的核心手段,正被廣泛 ...
2025-07-10數(shù)據(jù)查詢結(jié)束后:分析師的收尾工作與價(jià)值深化? ? 在數(shù)據(jù)分析的全流程中,“query end”(查詢結(jié)束)并非工作的終點(diǎn),而是將數(shù) ...
2025-07-10CDA 數(shù)據(jù)分析師考試:從報(bào)考到取證的全攻略? 在數(shù)字經(jīng)濟(jì)蓬勃發(fā)展的今天,數(shù)據(jù)分析師已成為各行業(yè)爭(zhēng)搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢(shì)性檢驗(yàn):捕捉數(shù)據(jù)背后的時(shí)間軌跡? 在數(shù)據(jù)分析的版圖中,單樣本趨勢(shì)性檢驗(yàn)如同一位耐心的偵探,專注于從單 ...
2025-07-09year_month數(shù)據(jù)類型:時(shí)間維度的精準(zhǔn)切片? ? 在數(shù)據(jù)的世界里,時(shí)間是最不可或缺的維度之一,而year_month數(shù)據(jù)類型就像一把精準(zhǔn) ...
2025-07-09CDA 備考干貨:Python 在數(shù)據(jù)分析中的核心應(yīng)用與實(shí)戰(zhàn)技巧? ? 在 CDA 數(shù)據(jù)分析師認(rèn)證考試中,Python 作為數(shù)據(jù)處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗(yàn):數(shù)據(jù)趨勢(shì)與突變分析的有力工具? ? ? 在數(shù)據(jù)分析的廣袤領(lǐng)域中,準(zhǔn)確捕捉數(shù)據(jù)的趨勢(shì)變化以及識(shí)別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據(jù)分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據(jù)分析師認(rèn)證作為國(guó)內(nèi)權(quán)威的數(shù)據(jù)分析能力認(rèn)證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應(yīng)對(duì)策略? 長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種變體,憑借獨(dú)特的門控機(jī)制,在 ...
2025-07-07統(tǒng)計(jì)學(xué)方法在市場(chǎng)調(diào)研數(shù)據(jù)中的深度應(yīng)用? 市場(chǎng)調(diào)研是企業(yè)洞察市場(chǎng)動(dòng)態(tài)、了解消費(fèi)者需求的重要途徑,而統(tǒng)計(jì)學(xué)方法則是市場(chǎng)調(diào)研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書考試全攻略? 在數(shù)字化浪潮席卷全球的當(dāng)下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅(qū)動(dòng)力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據(jù)分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據(jù)分析師考試作為衡量數(shù)據(jù)專業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉(zhuǎn)日期:解鎖數(shù)據(jù)處理的關(guān)鍵技能? 在數(shù)據(jù)處理與分析工作中,數(shù)據(jù)格式的規(guī)范性是保證后續(xù)分析準(zhǔn)確性的基礎(chǔ) ...
2025-07-04CDA 數(shù)據(jù)分析師視角:從數(shù)據(jù)迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據(jù)已成為企業(yè)決策的核心驅(qū)動(dòng)力,CDA(Certifie ...
2025-07-04CDA 數(shù)據(jù)分析師:開(kāi)啟數(shù)據(jù)職業(yè)發(fā)展新征程? ? 在數(shù)據(jù)成為核心生產(chǎn)要素的今天,數(shù)據(jù)分析師的職業(yè)價(jià)值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03