最近在学习用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