from IPython.display import HTML
HTML('''<script>
code_show=true;
function code_toggle() {
if (code_show){
$('div.input').hide();
} else {
$('div.input').show();
}
code_show = !code_show
}
$( document ).ready(code_toggle);
</script>
<form action="javascript:code_toggle()"><input type="submit" value="Click here to toggle on/off the raw code."></form>''')
import pandas as pd
import matplotlib.pyplot as plt
from IPython.display import Image
from IPython.core.display import HTML
import seaborn as sns
%matplotlib inline
df=pd.read_csv('Police_-_Selected_Criminal_Incidents_tracts.csv',parse_dates=['dtreported'])
df.shape
df.head()
df['count']=1
df['year']=df.dtreported.dt.year
df[['year','count']].groupby('year').count().plot(kind='bar')
df=df[df['year']==2017]
df['month']=df.dtreported.dt.month
df[['month','count']].groupby('month').count().plot(kind='bar')
df=df[df.month>2]
df.shape[0]
df['week']=df.dtreported.dt.week
dg=df[['week','TRACTCE','offense','count']].groupby(['week','TRACTCE','offense']).count()
dg=dg.unstack().reset_index()
dg.columns=['Week Number','Tract Number']+list(dg.columns.get_level_values(1)[2:])
dg=dg.fillna(0)
dg['Tract Number']=dg['Tract Number'].astype(int)
dg.shape[0]
dg.head()
dg_311=pd.read_csv('311_tract_groups.csv')
dg_merged=pd.merge(dg,dg_311 , how='left')
dg_merged.head()
corr=dg_merged[dg_merged.columns[2:]].corr()
corr=corr[corr.columns[0:4]]
corr[4:]
sns.heatmap(corr[4:],
xticklabels=corr.columns.values,
yticklabels=corr[4:].index,annot=True)