最近在學習用pandas處理數據,pandas的易用性真的讓人很爽,想找點數據玩一下,同事說kaggle上的數據不少,值得玩耍。函數
我處理的數據是從kaggle數據分析競賽網站下載的舊金山的分類犯罪數據-點此下載。
以下圖所示,數據共有九列,X、Y是GPS座標,其它都是字符串,無法用describe直接看概要。學習
排除數值列,對字符串列進行descirbe分析,能夠知道 數據值類型、數量最多類型。網站
PdDistrict Category DayOfWeek Resolution count 878049 878049 878049 878049 unique 10 39 7 17 top SOUTHERN LARCENY/THEFT Friday NONE freq 157182 174900 133734 526790
其後逐列按類型查看類型對應數量。
如按警區查看 print(df['PdDistrict'].value_counts())spa
SOUTHERN 157182 MISSION 119908 NORTHERN 105296 BAYVIEW 89431 CENTRAL 85460 TENDERLOIN 81809 INGLESIDE 78845 TARAVAL 65596 PARK 49313 RICHMOND 45209 Name: PdDistrict, dtype: int64
不少人對數字並不敏感,有圖會提升對數據對理解。pandas自帶的plot函數能夠快速的將dataframe圖形化。
默認是線狀走勢圖,下面是按類型對警情進行分析。code
不夠直觀,而且橫座標有重複,使用直方圖形式,以橫向的方式將類型顯示徹底。在控制座標旋轉的時候,我發現這個plot函數有很多bug,控制起來也很不方便。若是想更精細的控制圖的顯示,建議直接使用matplotlib,固然dataframe的plot函數最終也是直接調用matplotlib。ip
category.plot(figsize=(26, 10), title=u'犯罪類型統計', rot=0, kind='barh', legend=True)
因爲我是用pycharm來玩的,因此若是我不加plt.show,plot顯示不出來。因此我最終仍是得導入matplotlib。ci