99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線電話:13121318867

登錄
首頁(yè)精彩閱讀使用Python分析紐約出租車搭乘數(shù)據(jù)
使用Python分析紐約出租車搭乘數(shù)據(jù)
2017-03-27
收藏

使用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

數(shù)據(jù)分析師資訊
更多

OK
客服在線
立即咨詢
客服在線
立即咨詢
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說(shuō)明請(qǐng)參見(jiàn):http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }