In [1]:
# 首先先將之前已經整理過的資料(df_time1.csv檔)讀入
#
import pandas as pd
df = pd.read_csv("台北市10401-10602住宅竊盜點位資訊.csv", encoding='big5')
print('筆數', df['編號'].count())
df.head()
Out[1]:
In [2]:
# 資料預處理
#
del df['案類']
df.head()
Out[2]:
In [3]:
# 我們可以利用'發生地點'產生'發生地點行政區',藉此以行政區為基準做出統計資料。
# 以 df['發生地點']中字串之第4~6個字,作為 df['發生地點行政區']之內容。
#
for i in range(len(df)):
df.loc[i,'發生地點行政區'] = df['發生地點'][i][3:6]
del df['發生地點'] # 去除 '發生地點', 欄位
df.head()
Out[3]:
A.各行政區住宅竊盜件數總和及統計¶
In [4]:
# A.各行政區住宅竊盜件數總和及統計
#
df3 = df.groupby('發生地點行政區').count()
del df3['發生日期'],df3['發生時段']
df3 = df3.rename(columns = {'編號':'件數'})
df3 = df3.sort_values('件數', ascending=False)
df3['比率'] = round(df3['件數']/df3['件數'].sum()*100, 2)
df3
Out[4]:
In [5]:
# 平均、最大、最小
#
print('最多件數', df3['件數'].max())
print('最少件數', df3['件數'].min())
print('平均件數', df3['件數'].mean())
In [6]:
import matplotlib.pyplot as plt
%matplotlib inline
plt.style.use('ggplot')
plt.rcParams['font.family'] = 'SimHei'
df3.plot(kind='bar', title='台北市住宅竊盜件數長條圖 (97年06月09日 ~ 106年2月27日)', fontsize=15, figsize=(15,5))
Out[6]:
In [7]:
df3['件數'].plot(kind='pie', title='台北市住宅竊盜件數圓餅圖 (97年06月09日 ~ 106年2月27日)', autopct='%1.1f%%', startangle=270, fontsize=14, figsize=(10,10))
Out[7]:
B.不同時段發生的住宅竊盜件數¶
In [8]:
# B. 得出在 97年06月09日 ~ 106年2月27日之間,不同時段發生的住宅竊盜件數
# df_ti (time inmterval)
#
df_ti = df.groupby('發生時段').count()
del df_ti['發生日期'],df_ti['發生地點行政區']
df_ti = df_ti.rename(columns = {'編號':'件數'})
df_ti['比率'] = round(df_ti['件數']/df_ti['件數'].sum()*100, 2)
df_ti
Out[8]:
In [9]:
# 長條圖
import matplotlib.pyplot as plt
%matplotlib inline
plt.style.use('ggplot')
plt.rcParams['font.family'] = 'SimHei'
df_ti.sort_values(by='件數', ascending=False).plot(kind='bar', title='台北市 97年06月09日 ~ 106年2月27日之間,不同時段發生的住宅竊盜件數', figsize=(10,5), fontsize=19)
Out[9]:
In [10]:
# 樞紐分析表( '發生時段' vs '發生地點行政區')
#
df_pt2 = df.pivot_table(values='編號',index='發生時段', columns='發生地點行政區', aggfunc='count',fill_value='0')
print('台北市 97年06月09日 ~ 106年2月27日之間,各行政區相對於發生時段的住宅竊盜件數')
df_pt2
Out[10]:
In [11]:
df_pt2.plot(kind='area', title='台北市 97年06月09日 ~ 106年2月27日之間,各行政區相對於發生時段的住宅竊盜件數 (堆疊面積圖)', figsize=(15,8), fontsize=17)
Out[11]:
分析洞察結果¶
A. 各行政區住宅竊盜件數總和及統計¶
在這段期間,最多住宅竊盜件數的行政區是中山區,共177件,佔總件數的13.7%。最少件數住宅竊盜件數的行政區是南港區,只有55件,佔總件數的4.25%。每個行政區平均件數為107.75件。最多件數的行政區比最少件數的行政區,件數為 3.22倍 (177/55),或許是中山區有比較多的特種行業有關,不過這個推論還需要相關數據以資佐證。最少件數的行政區為南港區,共55件,佔總件數的4.25%,與59件(4.56%)的大同區同樣都是住宅比例較多,較為單純的行政區。同樣的,也是需要相關數據來證實。
B. 不同時段發生的住宅竊盜件數¶
在這段期間,10~12這段期間,共發生222件為最多,佔總件數的17.17%。而最少發生件數的時段是04~06這段時間,只有98件,佔總件數的7.58%。這讓我們知道,住宅最容易被竊的時段是早上上班上學以後10~12時的時段,與我們一般的瞭解,凌晨時分才是宵小猖獗時間的認知恰好相反。凌晨時分(01~03, 04~06)的兩個時段,件數比率都低於總件數的10%。另外,由樞紐分析表及堆疊面積圖得知,各行政區的趨勢大致上相同。
結論就是:畢竟宵小可能還是覺得早上大家都上班上學後,家中空無一人的時候才是最好下手的時段。而小偷也是人,凌晨時分也是需要休息的。
In [ ]: