通過簡單的案例來熟悉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 它描述了 乙個組織中的成員往往會把過多的經歷,花費在一些瑣碎的事情上。帕金森用了乙個虛構例子來解釋了這個定律 ...