We begin by importing some helper functions.
from helper import *
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.
url = 'https://en.wikipedia.org/wiki/List_of_helicopter_prison_escapes'
data = data_from_url(url)
Let's print the first three rows
for row in data[:3]:
print(row)
['August 19, 1971', 'Santa Martha Acatitla', 'Mexico', 'Yes', 'Joel David Kaplan Carlos Antonio Contreras Castro', "Joel David Kaplan was a New York businessman who had been arrested for murder in 1962 in Mexico City and was incarcerated at the Santa Martha Acatitla prison in the Iztapalapa borough of Mexico City. Joel's sister, Judy Kaplan, arranged the means to help Kaplan escape, and on August 19, 1971, a helicopter landed in the prison yard. The guards mistakenly thought this was an official visit. In two minutes, Kaplan and his cellmate Carlos Antonio Contreras, a Venezuelan counterfeiter, were able to board the craft and were piloted away, before any shots were fired.[9] Both men were flown to Texas and then different planes flew Kaplan to California and Contreras to Guatemala.[3] The Mexican government never initiated extradition proceedings against Kaplan.[9] The escape is told in a book, The 10-Second Jailbreak: The Helicopter Escape of Joel David Kaplan.[4] It also inspired the 1975 action movie Breakout, which starred Charles Bronson and Robert Duvall.[9]"] ['October 31, 1973', 'Mountjoy Jail', 'Ireland', 'Yes', "JB O'Hagan Seamus TwomeyKevin Mallon", 'On October 31, 1973, an IRA member hijacked a helicopter and forced the pilot to land in the exercise yard of Dublin\'s Mountjoy Jail\'s D Wing at 3:40\xa0p.m., October 31, 1973. Three members of the IRA were able to escape: JB O\'Hagan, Seamus Twomey and Kevin Mallon. Another prisoner who also was in the prison was quoted as saying, "One shamefaced screw apologised to the governor and said he thought it was the new Minister for Defence (Paddy Donegan) arriving. I told him it was our Minister of Defence leaving." The Mountjoy helicopter escape became Republican lore and was immortalized by "The Helicopter Song", which contains the lines "It\'s up like a bird and over the city. There\'s three men a\'missing I heard the warder say".[1]'] ['May 24, 1978', 'United States Penitentiary, Marion', 'United States', 'No', 'Garrett Brock TrapnellMartin Joseph McNallyJames Kenneth Johnson', "43-year-old Barbara Ann Oswald hijacked a Saint Louis-based charter helicopter and forced the pilot to land in the yard at USP Marion. While landing the aircraft, the pilot, Allen Barklage, who was a Vietnam War veteran, struggled with Oswald and managed to wrestle the gun away from her. Barklage then shot and killed Oswald, thwarting the escape.[10] A few months later Oswald's daughter hijacked TWA Flight 541 in an effort to free Trapnell."]
Let's featch only year from date and update dataset
for row in data:
row[0] = fetch_year(row[0])
min_year = min(data, key=lambda x: x[0])[0]
max_year = max(data, key=lambda x: x[0])[0]
years = []
for y in range(min_year, max_year + 1):
years.append(y)
Build new dataset with distinct year to populate yearly prison breaks.
attempts_per_year = []
for year in years:
attempts_per_year.append([year, 0])
print(attempts_per_year)
[[1971, 0], [1972, 0], [1973, 0], [1974, 0], [1975, 0], [1976, 0], [1977, 0], [1978, 0], [1979, 0], [1980, 0], [1981, 0], [1982, 0], [1983, 0], [1984, 0], [1985, 0], [1986, 0], [1987, 0], [1988, 0], [1989, 0], [1990, 0], [1991, 0], [1992, 0], [1993, 0], [1994, 0], [1995, 0], [1996, 0], [1997, 0], [1998, 0], [1999, 0], [2000, 0], [2001, 0], [2002, 0], [2003, 0], [2004, 0], [2005, 0], [2006, 0], [2007, 0], [2008, 0], [2009, 0], [2010, 0], [2011, 0], [2012, 0], [2013, 0], [2014, 0], [2015, 0], [2016, 0], [2017, 0], [2018, 0], [2019, 0], [2020, 0]]
Update dataset with yearly prison breaks.
for row in data:
for ya in attempts_per_year:
if row[0] == ya[0]:
ya[1] += 1
print(attempts_per_year)
[[1971, 1], [1972, 0], [1973, 1], [1974, 0], [1975, 0], [1976, 0], [1977, 0], [1978, 1], [1979, 0], [1980, 0], [1981, 2], [1982, 0], [1983, 1], [1984, 0], [1985, 2], [1986, 3], [1987, 1], [1988, 1], [1989, 2], [1990, 1], [1991, 1], [1992, 2], [1993, 1], [1994, 0], [1995, 0], [1996, 1], [1997, 1], [1998, 0], [1999, 1], [2000, 2], [2001, 3], [2002, 2], [2003, 1], [2004, 0], [2005, 2], [2006, 1], [2007, 3], [2008, 0], [2009, 3], [2010, 1], [2011, 0], [2012, 1], [2013, 2], [2014, 1], [2015, 0], [2016, 1], [2017, 0], [2018, 1], [2019, 0], [2020, 1]]
Create a markdown cell answering the question: in which year did the most attempts at breaking out of prison with a helicopter occur? 1986, 2001, 2007, 2009
%matplotlib inline
barplot(attempts_per_year)
Countries are having hire occurrences of prison breaks.
countries_frequency = df["Country"].value_counts()
print_pretty_table(countries_frequency.sort_values(ascending=False, inplace=True))
Country | Number of Occurrences |
---|---|
France | 15 |
United States | 8 |
Greece | 4 |
Belgium | 4 |
Canada | 4 |
Australia | 2 |
United Kingdom | 2 |
Brazil | 2 |
Ireland | 1 |
Russia | 1 |
Puerto Rico | 1 |
Chile | 1 |
Netherlands | 1 |
Mexico | 1 |
Italy | 1 |
Countries do helicopter prison breaks have a higher chance of success.
df['IsSuccess'] = df.apply(lambda row: 1 if row['Succeeded'] == 'Yes' else 0, axis=1)
#success rate by country
countries_success_frequency = df.groupby('Country')['IsSuccess'].mean()
#countries_success_frequency = df.groupby(["Country", "Succeeded"]).size()
countries_success_frequency.sort_values(ascending=False)
Country Russia 1.000000 Puerto Rico 1.000000 Mexico 1.000000 Italy 1.000000 Ireland 1.000000 Chile 1.000000 Brazil 1.000000 United States 0.750000 Canada 0.750000 France 0.733333 United Kingdom 0.500000 Greece 0.500000 Belgium 0.500000 Australia 0.500000 Netherlands 0.000000 Name: IsSuccess, dtype: float64
Escapees have done it more than once.
print(df["Escapee(s)"].value_counts().sort_values(ascending=False))
— 7 Michel Vaujour 2 Pascal Payet 2 Samantha Lopez 1 Garrett Brock TrapnellMartin Joseph McNallyJames Kenneth Johnson 1 Ashraf Sekkaki plus three other criminals 1 Orlando Cartagena Jose Rodriguez Victor Diaz Hector Diaz Jose Tapia 1 John Killick 1 Abdelhamid CarnousEmile Forma-SariJean-Philippe Lecase 1 Nordin Benallal 1 Hubert SellesJean-Claude MorettiMohamed Bessame 1 Kristel A. 1 Marina Paquet (hijacker)Giles Arseneault (prisoner) 1 Steven Whitsett 1 Alexey Shestakov 1 Alexin JismyFabrice Michel 1 Eric AlboreoFranck PerlettoMichel Valero 1 Yves DenisDenis LefebvreSerge Pomerleau 1 Eric Ferdinand 1 Vassilis Paleokostas 1 Vasilis PaleokostasAlket Rizai 1 David McMillan 1 Ben Kramer 1 Mahoney Danny Francis MitchellRandy Lackey 1 JB O'Hagan Seamus TwomeyKevin Mallon 1 André BellaïcheGianluigi EspositoLuciano Cipollari 1 Robert FordDavid Thomas 1 Brian Lawrence 1 William Lane 1 José Carlos dos Reis Encina, a.k.a. "Escadinha" 1 Panagiotis Vlastos 1 Gérard DupréDaniel Beaumont 1 Sydney DraperJohn Kendall 1 James Rodney LeonardWilliam Douglas BallewJesse Glenn Smith 1 Rédoine Faïd 1 Joel David Kaplan Carlos Antonio Contreras Castro 1 Four members of the Manuel Rodriguez Patriotic Front 1 Benjamin Hudon-BarbeauDanny Provençal 1 Ralph BrownFreddie Gonzales 1 Pola RoupaNikos Maziotis 1 Name: Escapee(s), dtype: int64