My first Data Science project
Helicopter Escapes!
We begin by importing some helper functions
from helper import *
Get the Data
Now, let's get the data from the [List of helicopter prison escapes] https://en.wikipedia.org/wiki/List_of_helicopter_prison_escapes) Wikipedia article.
Let's print the first three rows
url = 'https://en.wikipedia.org/wiki/list_of_helicopter_prison_escapes'
data = data_from_url(url)
for row in data:
print(row[:5])
['August 19, 1971', 'Santa Martha Acatitla', 'Mexico', 'Yes', 'Joel David Kaplan Carlos Antonio Contreras Castro'] ['October 31, 1973', 'Mountjoy Jail', 'Ireland', 'Yes', "JB O'Hagan Seamus TwomeyKevin Mallon"] ['May 24, 1978', 'United States Penitentiary, Marion', 'United States', 'No', 'Garrett Brock TrapnellMartin Joseph McNallyJames Kenneth Johnson'] ['February 27, 1981', 'Fleury-Mérogis, Essonne, Ile de France', 'France', 'Yes', 'Gérard DupréDaniel Beaumont'] ['May 7, 1981', 'Orsainville Prison, Quebec City', 'Canada', 'No', 'Marina Paquet (hijacker)Giles Arseneault (prisoner)'] ['January, 1983', 'Pentridge (HM Prison)', 'Australia', 'No', 'David McMillan'] ['December 19, 1985', 'Perry Correctional Institution, Pelzer, South Carolina', 'United States', 'Yes', 'James Rodney LeonardWilliam Douglas BallewJesse Glenn Smith'] ['December 31, 1985', 'Cândido Mendes penitentiary, Ilha Grande, Rio de Janeiro', 'Brazil', 'Yes', 'José Carlos dos Reis Encina, a.k.a. "Escadinha"'] ['May 26, 1986', 'Prison de la Santé', 'France', 'Yes', 'Michel Vaujour'] ['November 5, 1986', 'Federal Correctional Institution, Dublin', 'United States', 'Yes', 'Samantha Lopez'] ['November 23, 1986', 'Prigione di Rebibbia, Roma', 'Italy', 'Yes', 'André BellaïcheGianluigi EspositoLuciano Cipollari'] ['December 10, 1987', 'Gartree (HM Prison)', 'United Kingdom', 'Yes', 'Sydney DraperJohn Kendall'] ['July 11, 1988', 'Santa Fe prison', 'United States', 'Yes', 'Mahoney Danny Francis MitchellRandy Lackey'] ['April 17, 1989', 'Federal Holding Facility, Miami, FL', 'United States', 'No', 'Ben Kramer'] ['August 19, 1989', 'Arkansas Valley Correctional Facility', 'United States', 'Yes', 'Ralph BrownFreddie Gonzales'] ['June 19, 1990', 'Kent Penitentiary, British Columbia', 'Canada', 'Yes', 'Robert FordDavid Thomas'] ['1991', 'Rio Piedras State Penitentiary, Puerto Rico', 'Puerto Rico', 'Yes', 'William Lane'] ['1992', 'Lyon Prison', 'France', 'Yes', '—'] ['December 1992', 'Touraine Central Prison, Tours', 'France', 'No', '—'] ['June 17, 1993', 'Touraine Central Prison, Tours', 'France', 'No', 'Michel Vaujour'] ['December 30, 1996', 'High Security Prison, Santiago', 'Chile', 'Yes', 'Four members of the Manuel Rodriguez Patriotic Front'] ['September 18, 1997', 'De Geerhorst jail', 'Netherlands', 'No', '—'] ['March 25, 1999', 'Metropolitan Remand and Reception Centre', 'Australia', 'Yes', 'John Killick'] ['June 5, 2000', 'Martin Treatment Center for Sexually Violent Predators, Martin County Florida', 'United States', 'Yes', 'Steven Whitsett'] ['2000', 'Lyon prison', 'France', 'Yes', '—'] ['2001', 'Luynes prison', 'France', 'Yes', 'Pascal Payet'] ['March 24, 2001', 'Draguignan prison', 'France', 'Yes', 'Abdelhamid CarnousEmile Forma-SariJean-Philippe Lecase'] ['May 28, 2001', 'Fresnes prison', 'France', 'No', '—'] ['January 17, 2002', 'Parada Neto Penitentiary', 'Brazil', 'Yes', '—'] ['December 30, 2002', 'Las Cucharas prison, Puerto Rico', 'United States', 'Yes', 'Orlando Cartagena Jose Rodriguez Victor Diaz Hector Diaz Jose Tapia'] ['2003', 'Luynes prison', 'France', 'Yes', 'Eric AlboreoFranck PerlettoMichel Valero'] ['July 2005', 'France', 'France', 'No', '—'] ['December 10, 2005', 'Aiton Prison', 'France', 'Yes', 'Hubert SellesJean-Claude MorettiMohamed Bessame'] ['June 6, 2006', 'Korydallos Prison', 'Greece', 'Yes', 'Vassilis Paleokostas'] ['April 15, 2007', 'Lantin Prison, Liège', 'Belgium', 'Yes', 'Eric Ferdinand'] ['July 15, 2007', 'Grasse prison', 'France', 'Yes', 'Pascal Payet'] ['October 28, 2007', 'Ittre prison', 'Belgium', 'No', 'Nordin Benallal'] ['February 22, 2009', 'Korydallos Prison', 'Greece', 'Yes', 'Vasilis PaleokostasAlket Rizai'] ['April 27, 2009', 'Domenjod Prison, Réunion', 'France', 'Yes', 'Alexin JismyFabrice Michel'] ['July 23, 2009', 'Bruges', 'Belgium', 'Yes', 'Ashraf Sekkaki plus three other criminals'] ['June 25, 2010', 'HM Prison Isle of Wight, Isle of Wight', 'United Kingdom', 'No', 'Brian Lawrence'] ['March 22, 2012', 'Sheksna, Penal colony N17', 'Russia', 'Yes', 'Alexey Shestakov'] ['February 24, 2013', 'Trikala Prison, Trikala', 'Greece', 'No', 'Panagiotis Vlastos'] ['March 17, 2013', 'Saint-Jérôme Detention Facility, Quebec', 'Canada', 'Yes', 'Benjamin Hudon-BarbeauDanny Provençal'] ['June 7, 2014', 'Orsainville Detention Facility, Quebec', 'Canada', 'Yes', 'Yves DenisDenis LefebvreSerge Pomerleau'] ['February 22, 2016', 'Thiva', 'Greece', 'No', 'Pola RoupaNikos Maziotis'] ['July 1, 2018', 'Réau, near Paris', 'France', 'Yes', 'Rédoine Faïd'] ['September 25, 2020', 'Forest prison, Brussels', 'Belgium', 'No', 'Kristel A.']
index = 0
for row in data:
data = row[:-1]
index += 1
print(data[:3])
['September 25, 2020', 'Forest prison, Brussels', 'Belgium']
for row in data:
row[0] = fetch_year(row[0])
print(data[:3])
--------------------------------------------------------------------------- IndexError Traceback (most recent call last) <ipython-input-16-9a5dafceb371> in <module> 1 for row in data: ----> 2 row[0] = fetch_year(row[0]) 3 print(data[:3]) ~/notebook/helper.py in fetch_year(date_string) 10 11 def fetch_year(date_string): ---> 12 return int(re.findall("\d{4}", date_string)[0]) 13 14 def barplot(list_of_2_element_list): IndexError: list index out of range