In [6]:
import plotly.plotly as py
import plotly.graph_objs as go
import pandas
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.ticker as ticker
from scipy.stats import gaussian_kde

In [12]:
files = ['Cluster-Crime-Janeiro', 'Cluster-Crime-Fevereiro', 'Cluster-Crime-Marco',
        'Cluster-Crime-Abril', 'Cluster-Crime-Maio']

y1 = []
x1 = ['Janeiro', 'Fevereiro', 'Março', 'Abril', 'Maio']

for file in files:
    df = pandas.read_csv("./" + file + ".csv")
    #print (len(df))
    y1.append(len(df))

data = [go.Bar(
            x=x1,
            y=y1
    )]

py.iplot(data, filename='basic-bar')


High five! You successfully sent some data to your account on plotly. View your plot in your browser at https://plot.ly/~netofalso/0 or inside your plot.ly account where it is named 'basic-bar'
Out[12]:

In [3]:
x = np.array([0,1,2,3,4])
y = np.array(y1)
my_xticks = x1
plt.xticks(x, my_xticks)
plt.plot(x, y)
plt.show()



In [3]:
labels = x1
values = y1

trace = go.Pie(labels=labels, values=values)

py.iplot([trace], filename='basic_pie_chart')


Out[3]:

In [2]:
new_df = pandas.read_csv("./Cluster-Crime-Janeiro.csv")

In [9]:
new_df[new_df['CLUSTER'] == 1]


Out[9]:
ID FONTE NATUREZA DA OCORRÊNCIA HISTÓRICO DA OCORRÊNCIA LOCAL: BAIRRO SUSPEITO: VEÍCULO: VÍTIMA: VÍTIMAS: ... ARMA APREENDIDA: MATERIAL APREENDIDO: PLACA: VÍTIMAS LESIONADAS: SUSPEITOS: HORARIO DATA LATITUDE LONGITUDE CLUSTER
6 7 CIOPS VEÍCULO LOCALIZADO LOCAL: AV. FRANCISCO SÁ, ÁLVARO WEYNE. VEÍCULO... AV. FRANCISCO SÁ, ÁLVARO WEYNE ÁLVARO WEYNE nulo ONIX 1 nulo nulo ... nulo nulo nulo nulo nulo 07H13 01/02/17 -3.713664 -38.568259 1
46 47 CIOPS PORTE ILEGAL DE ARMA (FLAGRANTE) LOCAL: RUA FRANCISCO CALAÇA, ÁLVARO WEYNE. SU... RUA FRANCISCO CALAÇA, ÁLVARO WEYNE ÁLVARO WEYNE MARCOS PAULO ALVES CABRAL, 22 ANOS nulo nulo nulo ... REVÓLVER, CAL nulo nulo nulo nulo 08H31 03/02/17 -3.712882 -38.572509 1
195 196 CIOPS VEÍCULOS LOCALIZADOS (ATO INFRACIONAL) LOCAL:AV.FRANCISCOSÁ,BARRADOCEARÁ.SUSPEITO:MEN... AV.FRANCISCOSÁ,BARRADOCEARÁ BARRADOCEARÁ MENORDEIDADE nulo nulo nulo ... nulo nulo nulo nulo nulo 16:12 09/02/17 -3.714249 -38.566566 1
198 199 CIOPS VEÍCULO LOCALIZADO (FLAGRANTE) LOCAL:AV.FRANCISCOSÁ,BARRADOCEARÁ.VEÍCULO:DUST... AV.FRANCISCOSÁ,BARRADOCEARÁ BARRADOCEARÁ FRANCISCOJOSÉRANIELBARBOSADO SANTOS, 19 ANOS DUSTER16D4X2,VERDE,14,ORP5548 nulo nulo ... nulo nulo nulo nulo nulo 21:11 09/02/17 -3.714249 -38.566566 1
212 213 CIOPS VEÍCULO LOCALIZADO LOCAL: AV. FRANCISCO SÁ, ÁLVARO WEYNE. VEÍCUL... AV. FRANCISCO SÁ, ÁLVARO WEYNE ÁLVARO WEYNE nulo YBR125 K, VERMELHA, 2012, OID0656-CE nulo nulo ... nulo nulo nulo nulo nulo 11H11 11/02/17 -3.713664 -38.568259 1
234 235 CIOPS PORTE ILEGAL DE ARMA (FLAGRANTE) LOCAL: AV. FRANCISCO SÁ, BARRA DO CEARÁ. ARMA... AV. FRANCISCO SÁ, BARRA DO CEARÁ BARRA DO CEARÁ FRANCISCO DE ASSIS NASCIMENTO OLIVEIRA, 32 ANOS nulo nulo nulo ... PISTOLA CALIBRE 38 nulo nulo nulo nulo 10H57 12/02/17 -3.714249 -38.566566 1
341 342 CIOPS MORTE A BALA LOCAL: RUA TEODORO CABRAL, ÁLVARO WEYNE. VÍTI... RUA TEODORO CABRAL, ÁLVARO WEYNE ÁLVARO WEYNE nulo nulo GERALDO M nulo ... nulo nulo nulo nulo DOIS HOMENS 01H13 19/02/17 -3.714403 -38.566133 1
410 411 CIOPS CUMPRIMENTO DE MANDADO JUDICIAL LOCAL: RUA TEODORO CABRAL, ÁLVARO WEYNE. SUSP... RUA TEODORO CABRAL, ÁLVARO WEYNE ÁLVARO WEYNE RONEY DA SILVA ROSA, 23 ANOS, FOI CONDUZIDO À ... nulo nulo nulo ... nulo nulo nulo nulo nulo 20H41 23/02/17 -3.714403 -38.566133 1

8 rows × 21 columns


In [3]:
crime_types = new_df[['NATUREZA DA OCORRÊNCIA']]

In [4]:
crime_type_total = crime_types.groupby('NATUREZA DA OCORRÊNCIA').size()

In [5]:
crime_type_counts = new_df[['NATUREZA DA OCORRÊNCIA']].groupby('NATUREZA DA OCORRÊNCIA').sum()

In [6]:
crime_type_counts['TOTAL'] = crime_type_total

In [7]:
all_crime_types = crime_type_counts.sort_values(by='TOTAL', ascending=False)

In [8]:
all_crime_types.plot(kind='barh', figsize=(40,35), color='#cc0000')
plt.title('All Fortaleza Crimes by Type (Jan-Feb 2017)')
plt.xlabel('Number of Crime reports')
plt.ylabel('Crime Type')
plt.tight_layout()
ax = plt.gca()
ax.xaxis.set_major_formatter(ticker.StrMethodFormatter('{x:,.0f}'))
plt.show()



In [9]:
all_crime_types


Out[9]:
TOTAL
NATUREZA DA OCORRÊNCIA
VEÍCULO LOCALIZADO 194
MORTE A BALA 64
PORTE ILEGAL DE ARMA 34
TRÁFICO DE ENTORPECENTES 27
ROUBO A PESSOA 12
TRÁFICO DE ENTORPECENTE 9
TRÁFICO DE ENTORPECENTES (ATO INFRACIONAL) 8
MORTE A OUTROS 7
VEÍCULO LOCALIZADO (ATO INFRACIONAL) 5
ROUBO A PESSOA (ATO INFRACIONAL) 5
PORTE ILEGAL DE ARMA (ATO INFRACIONAL) 4
MORTE A FACA 4
AMEAÇA 4
CUMPRIMENTO DE MANDADO JUDICIAL 4
ROUBO A COLETIVO 4
ROUBO A COLETIVO (ATO INFRACIONAL) 3
TRÁFICO DE ENTORPECENTE (ATO INFRACIONAL) 3
ROUBO DE VEÍCULO 3
MORTES A BALA 3
RECEPTAÇÃO 3
LESÃO CORPORAL A OUTROS 3
ROUBO DE VEÍCULO SEGUIDO DE LOCALIZAÇÃO 2
LESAO CORPORAL 2
ROUBO A PESSOA / PORTE ILEGAL DE ARMA 2
LESÃO CORPORAL A FACA 2
MORTE A BALA 2
MORTE A BALA / ARMA APREENDIDA 2
FURTO A ESTABELECIMENTO 2
ABANDONO DE MATERIAL OU BENS MÓVEIS 2
TENTATIVA DE ROUBO 2
... ...
MORTE A BALA SEGUIDO DE LESÃO A BALA 1
PORTE ILEGAL DE ARMA / TRÁFICO DE ENTORPECENTES (B.O.C.) 1
PORTE ILEGAL DE ARMA / TRÁFICO DE ENTORPECENTES (ATO INFRACIONAL) 1
PORTE ILEGAL DE ARMA / ROUBO DE VEÍCULO 1
PORTE ILEGAL DE ARMA / FORMAÇÃO DE QUADRILHA / RECEPTAÇÃO (AUTO DE APREENSÃO / FLAGRANTE) 1
PORTE ILEGAL DE ARMA (FLAGRANTE / ATO INFRACIONAL) 1
PORTE ILEGAL DE ARMA (BOC) 1
PORTE ILEGAL DE ARMA (ATO INFRACIONAL) 1
ABANDONO DE MATERIAL OU BENS MÓVEIS / ARMA APREENDIDA / B.O. 1
PORTE ILEGAL DE ARMA (ATO INFRACIONAL/FLAGRANTE) 1
PESSOAS EM SITUAÇÃO SUSPEITA 1
PESSOA / SITUAÇÃO SUSPEITA / 03 VEÍCULOS APREENDIDOS / 1
PERTURBAÇÃO AO SOSSEGO ALHEIO - EM CARRO (T.C.O.) 1
MORTE A BALA SEGUIDO DE LESÃO CORPORAL 1
MORTE A BALA SEGUIDA DE LESÃO CORPORAL A BALA 1
FURTO A PESSOA 1
MORTE A BALA LESÃO CORPORAL A BALA 1
MORTE A BALA / VEÍCULO LOCALIZADO 1
MORTE A BALA / TENTATIVA DE ROUBO / ARMA APREENDIDA 1
MORTE A BALA / SEGUIDA DE LESÕES CORPORAIS A BALA 1
MORTE A BALA / LESÃO CORPORAL A BALA / TENTATIVA DE ROUBO / ARMA APREENDIDA 1
MORTE A BALA (ARMA APREENDIDA/VEICULO LOCALIZADO) 1
MORTE A BALA (ARMA APREENDIDA/FLAGRANTE) 1
MORTE A BALA (ARMA APREENDIDA) 1
MORTE A BALA (FLAGRANTE / ARMA APREENDIDA) 1
MORTE A BALA (ARMA APREENDIDA) 1
LESÃO CORPORAL A BALA /PORTE ILEGAL DE ARMAS 1
LESÃO CORPORAL A BALA 1
LESÃO CORPORAL 1
VEÍCULOS LOCALIZADOS 1

145 rows × 1 columns


In [1]:
# Pie chart, where the slices will be ordered and plotted counter-clockwise:
labels = x1
sizes = y1
explode = (0, 0, 0, 0)  # only "explode" the 2nd slice (i.e. 'Hogs')

fig1, ax1 = plt.subplots()
ax1.pie(sizes, explode=explode, labels=labels, autopct='%1.1f%%',
        shadow=True, startangle=90)
ax1.axis('equal')  # Equal aspect ratio ensures that pie is drawn as a circle.

plt.show()


---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-1-589115a6a7f2> in <module>()
      1 # Pie chart, where the slices will be ordered and plotted counter-clockwise:
----> 2 labels = x1
      3 sizes = y1
      4 explode = (0, 0, 0, 0)  # only "explode" the 2nd slice (i.e. 'Hogs')
      5 

NameError: name 'x1' is not defined

In [17]:
novo = pandas.DataFrame(y1, x1)

In [15]:
import calendar

In [19]:
novo.plot(kind='bar', figsize=(6,3))
plt.xticks([0,1,2,3,4], calendar.month_name[1:13], rotation=0)
plt.xlabel('2017 Month')
plt.title('2017 Chicago Crime Monthly Arrests')
plt.show()



In [3]:
df_feb = pandas.read_csv('Cluster-Crime-Fevereiro.csv')

In [7]:
x = df_feb['LATITUDE']
y = df_feb['LONGITUDE']

# Calculate the point density
xy = np.vstack([x,y])
z = gaussian_kde(xy)(xy)

fig, ax = plt.subplots()
ax.scatter(x, y, c=z, s=100, edgecolor='')
plt.show()



In [ ]: