ore = [ '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24' ] data = pd.read_csv('dataset/incidenti/aci/autostrade/ore_2018.csv') milano = data[data['PROVINCIA'] == 'Milano'] strade = gp.read_file( "dataset/autostrade/autostrade_milano_linee.geojson").to_crs(epsg=3857) strade.index = strade['name'] incidenti = pd.DataFrame() for field in milano['NOME STRADA'].unique(): incidenti = incidenti.append( aci_utils.sum_columns(milano[milano['NOME STRADA'] == field][ore], name=field), ) # Conteggio incidenti per totali, indipendentemente dall'orario inc = 0 for i in ore: inc = incidenti[i] + inc strade = gp.GeoDataFrame(inc, geometry=strade['geometry']) ax = strade.plot(figsize=(11, 9), column=0, cmap='hot_r', legend=True, linewidth=1.8) plt.ylim((5.68 * pow(10, 6), 5.72 * pow(10, 6))) plt.xlim((pow(10, 6), 1.04 * pow(10, 6)))
mesi = [ 'Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre' ] data = pd.read_csv("dataset/incidenti/aci/autostrade/mesi_2018.csv") # Selezione dati per Adriatica (SS1), Aurelia (SS16), # A1 (del Sole), Torino-Trieste (A4) e Raccordo anulare di Roma adriatica = data[data['CODICE'] == 'SS01601'][mesi] a1 = data[data['CODICE'] == 'AA00101'][mesi] aurelia = data[data['CODICE'] == 'SS00101'][mesi] a4 = data[data['CODICE'] == 'AA00401'][mesi] a90 = data[data['CODICE'] == 'AA09001'][mesi] adriatica = aci_utils.sum_columns(adriatica) a1 = aci_utils.sum_columns(a1) aurelia = aci_utils.sum_columns(aurelia) a4 = aci_utils.sum_columns(a4) a90 = aci_utils.sum_columns(a90) df = pd.DataFrame([a1, adriatica, aurelia, a4, a90], [ 'A1 Milano-Roma-Napoli', 'SS16 Adriatica', 'SS1 Aurelia', 'A4 Torino Trieste', 'A90 Raccordo Anulare' ]) fig, ax = plt.subplots() im = H.heatmap(df, df.index, df.columns, ax=ax,
import pandas as pd import sys sys.path.append("src") import aci_utils data = pd.read_csv("dataset/incidenti/aci/autostrade/mesi_2018.csv") mesi = ['Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre'] raccordo = data[data['CODICE'] == 'AA09001'] raccordo = aci_utils.sum_columns(raccordo[mesi]) racc_mean = raccordo.mean() print((raccordo['Agosto'] - racc_mean) / racc_mean) # -0.46
import pandas as pd import matplotlib.pyplot as plt import sys sys.path.append("src") import aci_utils data = pd.read_csv("dataset/incidenti/aci/autostrade/mesi_2018.csv") mesi = [ 'Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre' ] # Selezione dati per raccordo anulare di Roma raccordo = data[data['CODICE'] == 'AA09001'] # Selezione dati per SS16 Adriatica adriatica = data[data['CODICE'] == 'SS01601'] adriatica = aci_utils.sum_columns(adriatica[mesi]) raccordo = aci_utils.sum_columns(raccordo[mesi]) df = pd.DataFrame([adriatica, raccordo], ['Adriatica', 'Raccordo Anulare Roma']).transpose() df.plot.bar(width=0.9, color=['#d8cc6c', '#d8956c']) plt.ylabel("Numero di incidenti al mese (2018)") plt.tight_layout() plt.show()
data = pd.read_csv('dataset/incidenti/aci/autostrade/ore_2018.csv') ore = [ '01', '02', '03', '04', '05', '06', '07', '08', '09', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24' ] # Selezione dataset per raccordo anulare, SS16 a Bari e SS1 a Genova (provincia) raccordo = data[data['CODICE'] == 'AA09001'] ss16 = data[data['CODICE'] == 'SS01601'] ss16 = ss16[ss16['PROVINCIA'] == 'Bari'] ss1 = data[data['CODICE'] == 'SS00101'] ss1 = ss1[ss1['PROVINCIA'] == 'Genova'] raccordo = aci_utils.sum_columns(raccordo[ore]) ss16 = aci_utils.sum_columns(ss16[ore]) ss1 = aci_utils.sum_columns(ss1[ore]) plt.subplot(3, 1, 1) raccordo.plot.bar(color='#96c176', width=0.9) plt.ylabel("Raccordo Anulare\nRoma") plt.xticks(range(0, 25, 2), rotation=0) plt.tight_layout() plt.subplot(3, 1, 2) ss16.plot.bar(color='#7696c1', width=0.9) plt.ylabel("SS16\nprovincia di Bari") plt.xticks(range(0, 25, 2), rotation=0) plt.tight_layout()