實現Pandas自行車行駛資料分析

2021-10-09 18:30:49 字數 3781 閱讀 1795

通過簡單的案例來熟悉pandas和matplotlib的使用

準備工作

目的:使用pandas進行自行車行駛資料分析,並使用matplotlib庫進行繪圖展示

步驟:先開啟資料檔案觀察資料結構,以及型別

準備環境

讀取檔案

選擇需要的資料進行分析繪圖

具體實現

通過直接開啟資料的方式可以看到,我們的資料分隔符為";"且編碼格式不適合utf-8,應使用latin1編碼格式,且日期格式不符合pandas的時間日期格式,需要我們重新定義。

準備環境

# conding = utf-8

import pandas as pd

import matplotlib.pyplot as plt

# 準備畫圖環境

plt.rcparams[

'figure.figsize']=

(15,5

)

讀取檔案

使用encoding屬性定義編碼格式,sep定義分隔符,parse_dates將選定的某一列解析為時間索引,dayfirst說明原資料的首個元素是天,index_col設定date列為索引。

# 讀取csv檔案

path =

'./bikes.csv'

broken_df = pd.read_csv(path, encoding=

'latin1'

, sep=

';', parse_dates=

['date'

], dayfirst=

true

,index_col=

'date'

)

選擇需要資料進行分析

我們列印幾行讀取資料的dataframe可以知道每一列對應一條自行車道的,我們選擇其中的一列』berri 1『進行繪圖檢視

# print(broken_df.head())

# 選擇一條自行車道訪問

同理,我們可以繪製所有的車道,其變化趨勢都類似。假設我們希望了解週末和工作日,那個騎自行車的人比較多,這時我們需要在dataframe裡加一列「工作日」用來區分工作日和週末,我們只考慮』berri 1『街道的資料。我們需要新增乙個名為「工作日」的列,我們先利用時間索引,得到那些天是工作日那些天是週末。

# 選取工作日的索引檢視

得到資料的第一天即』2012-01-01『為週日,即可得到0代表周一,以此類推。這時候我們就可以把普通日設為dataframe的一列,再使用*groupby()方法以及aggregate(sum)*的方法進行分組求和,進行回退就可以得到我們需要的最終結果。

# 查日曆可以知道資料中0代表的是周一,把weekday設為dataframe中的一列

print

(fixed_df.head())

weekday_counts = fixed_df.groupby(

'weekday'

).aggregate(

sum)

# 分組累加

print

(weekday_counts)

weekday_counts.index =

['monday'

,'tuesday'

,'wedbesday'

,'tursday'

,'friday'

,'staturday'

,'sunday'

]# 將索引更改為更直觀的索引

weekday_counts.plot(kind=

'bar'

)plt.show(

)

所有**:
# conding = utf-8

import pandas as pd

import matplotlib.pyplot as plt

# 準備畫圖環境

plt.rcparams[

'figure.figsize']=

(15,5

)# 讀取csv檔案

path =

'./bikes.csv'

broken_df = pd.read_csv(path, encoding=

'latin1'

, sep=

';', parse_dates=

['date'

], dayfirst=

true

,index_col=

'date'

)print

(broken_df.head())

# 選擇一條自行車道訪問

print

(broken_df[

'berri 1'])

broken_df[

'berri 1'

]broken_df[

'berri 1'

].plot(

)plt.show(

)# 選取工作日的索引檢視

fixed_df = broken_df[

['berri 1']]

.copy(

)fixed_df.index

fixed_df.index.day

print

(fixed_df.index.weekday)

fixed_df.loc[:,

'weekday'

]= fixed_df.index.weekday

# 查日曆可以知道資料中0代表的是周一,把weekday設為dataframe中的一列

print

(fixed_df.head())

weekday_counts = fixed_df.groupby(

'weekday'

).aggregate(

sum)

# 分組累加

print

(weekday_counts)

weekday_counts.index =

['monday'

,'tuesday'

,'wedbesday'

,'tursday'

,'friday'

,'staturday'

,'sunday'

]# 將索引更改為更直觀的索引

weekday_counts.plot(kind=

'bar'

)plt.show(

)

卸貨自行車

以下是文章主要內容 我第一次騎yuba supermarche載貨自行車的時候,它比起我那輛輕盈敏捷的汽車感覺就像是只笨拙的怪獸。但在舊金山騎了幾個星期之後,我顯然看到了城市交通的未來。你可以將載貨自行車看作是輕型的多用途運載車,可以用它來說送小孩上學,可以用它來裝載食品雜貨,也可以用它來將在好市多...

遠逝的自行車

在今日越來越流行和時尚的年代,眾多的校園生活不可避免地烙上了新潮的印記,想想我們的中學,除了熱播 紅高梁 時,夥伴之間的互相慫恿,路上心情的慌亂,劇院門口的遲疑與徘徊以及後來因著膽怯怏怏而去,其他能記住的就是一輛自行車。上了初中,因著路途的遙遠,幾乎每個人都擁有了一輛自行車,那時叫一部,分有三種 大...

自行車棚效應

爭論一些瑣碎的事情而逃避那些困難的問題是一種常見的現象,這裡有大量著名的理論描述了這一現象。有乙個最著名的理論就是帕金森瑣碎定律 parkinson s law of triviality 它描述了 乙個組織中的成員往往會把過多的經歷,花費在一些瑣碎的事情上。帕金森用了乙個虛構例子來解釋了這個定律 ...