{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Mexico\n", "\n", "Elements of Data Science\n", "\n", "by [Allen Downey](https://allendowney.com)\n", "\n", "[MIT License](https://opensource.org/licenses/MIT)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import os\n", "\n", "if not os.path.exists('deaths2008.csv'):\n", " !wget 'https://raw.githubusercontent.com/AllenDowney/ElementsOfDataScience/master/data/deaths2008.csv'" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import pandas as pd" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
DateCityCause of Death
008/13/2008Logar - AfghanistanTerrorist Action
106/21/2008Sanmartin And Catamarca - Salta - ArgentinaVeh. Accident-Auto
207/16/2008Rodriguez - ArgentinaDrowning
301/07/200823klm Minnie Bridge - Great Northern Highway ...Veh. Accid-Auto
402/11/2008Bendigo - Victoria - AustraliaOther Accident
\n", "
" ], "text/plain": [ " Date City \\\n", "0 08/13/2008 Logar - Afghanistan \n", "1 06/21/2008 Sanmartin And Catamarca - Salta - Argentina \n", "2 07/16/2008 Rodriguez - Argentina \n", "3 01/07/2008 23klm Minnie Bridge - Great Northern Highway ... \n", "4 02/11/2008 Bendigo - Victoria - Australia \n", "\n", " Cause of Death \n", "0 Terrorist Action \n", "1 Veh. Accident-Auto \n", "2 Drowning \n", "3 Veh. Accid-Auto \n", "4 Other Accident " ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.read_csv('deaths2008.csv')\n", "df.head()" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
DateCityCause of Death
008/13/2008Logar - AfghanistanTerrorist Action
106/21/2008Sanmartin And Catamarca - Salta - ArgentinaVeh. Accident-Auto
207/16/2008Rodriguez - ArgentinaDrowning
301/07/200823klm Minnie Bridge - Great Northern Highway ...Veh. Accid-Auto
402/11/2008Bendigo - Victoria - AustraliaOther Accident
\n", "
" ], "text/plain": [ " Date City \\\n", "0 08/13/2008 Logar - Afghanistan \n", "1 06/21/2008 Sanmartin And Catamarca - Salta - Argentina \n", "2 07/16/2008 Rodriguez - Argentina \n", "3 01/07/2008 23klm Minnie Bridge - Great Northern Highway ... \n", "4 02/11/2008 Bendigo - Victoria - Australia \n", "\n", " Cause of Death \n", "0 Terrorist Action \n", "1 Veh. Accident-Auto \n", "2 Drowning \n", "3 Veh. Accid-Auto \n", "4 Other Accident " ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sheet_id = '1knrtYbzETmcK91jO9TBgejPNOcQN8gbocoDGkdnXwXQ'\n", "url = f'https://docs.google.com/spreadsheets/d/{sheet_id}/export?format=csv'\n", "df = pd.read_csv(url)\n", "df.head()" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "city_country = df['City'].str.split(expand=True)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
DateCityCause of DeathCountry
008/13/2008LogarTerrorist ActionAfghanistan
106/21/2008SanmartinVeh. Accident-AutoCatamarca
207/16/2008RodriguezDrowningArgentina
301/07/200823klmVeh. Accid-AutoBridge
402/11/2008BendigoOther AccidentVictoria
\n", "
" ], "text/plain": [ " Date City Cause of Death Country\n", "0 08/13/2008 Logar Terrorist Action Afghanistan\n", "1 06/21/2008 Sanmartin Veh. Accident-Auto Catamarca\n", "2 07/16/2008 Rodriguez Drowning Argentina\n", "3 01/07/2008 23klm Veh. Accid-Auto Bridge\n", "4 02/11/2008 Bendigo Other Accident Victoria" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df['City'] = city_country[0]\n", "df['Country'] = city_country[2]\n", "df.head()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
01
0Terrorist ActionNone
1Veh. AccidentAuto
2DrowningNone
3Veh. AccidAuto
4Other AccidentNone
\n", "
" ], "text/plain": [ " 0 1\n", "0 Terrorist Action None\n", "1 Veh. Accident Auto\n", "2 Drowning None\n", "3 Veh. Accid Auto\n", "4 Other Accident None" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cause_subcause = df['Cause of Death'].str.split('-', expand=True)\n", "cause_subcause.head()" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
DateCityCause of DeathCountryCauseSubcause
008/13/2008LogarTerrorist ActionAfghanistanTerrorist ActionNone
106/21/2008SanmartinVeh. Accident-AutoCatamarcaVeh. AccidentAuto
207/16/2008RodriguezDrowningArgentinaDrowningNone
301/07/200823klmVeh. Accid-AutoBridgeVeh. AccidAuto
402/11/2008BendigoOther AccidentVictoriaOther AccidentNone
\n", "
" ], "text/plain": [ " Date City Cause of Death Country Cause \\\n", "0 08/13/2008 Logar Terrorist Action Afghanistan Terrorist Action \n", "1 06/21/2008 Sanmartin Veh. Accident-Auto Catamarca Veh. Accident \n", "2 07/16/2008 Rodriguez Drowning Argentina Drowning \n", "3 01/07/2008 23klm Veh. Accid-Auto Bridge Veh. Accid \n", "4 02/11/2008 Bendigo Other Accident Victoria Other Accident \n", "\n", " Subcause \n", "0 None \n", "1 Auto \n", "2 None \n", "3 Auto \n", "4 None " ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df['Cause'] = cause_subcause[0]\n", "df['Subcause'] = cause_subcause[1]\n", "df.head()" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "mexico = df['Country'] == 'Mexico'" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "23" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mexico.sum()" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
DateCityCause of DeathCountryCauseSubcause
34401/06/2008JaliscoHomicideMexicoHomicideNone
34901/26/2008MoreliaVeh. Accid-AutoMexicoVeh. AccidAuto
35502/04/2008JaliscoSuicideMexicoSuicideNone
36102/16/2008CuernavacaOther AccidentMexicoOther AccidentNone
36402/23/2008JaliscoVeh. Accid-AutoMexicoVeh. AccidAuto
37703/22/2008PueblaSuicideMexicoSuicideNone
38003/25/2008TlalnepantlaOther AccidentMexicoOther AccidentNone
38604/05/2008OaxacaDrowningMexicoDrowningNone
40005/11/2008TamaulipasHomicideMexicoHomicideNone
41305/31/2008YucatanSuicideMexicoSuicideNone
42206/19/2008TamaulipasSuicideMexicoSuicideNone
42806/24/2008MeridaVeh. Accid-AutoMexicoVeh. AccidAuto
43307/02/2008YucatanVeh. Accid-AutoMexicoVeh. AccidAuto
43507/06/2008CoahuilaAir AccidentMexicoAir AccidentNone
44107/17/2008JaliscoDrowningMexicoDrowningNone
44407/21/2008ChihuahuaVeh. Accid-AutoMexicoVeh. AccidAuto
50109/27/2008JaliscoVeh. Accid-AutoMexicoVeh. AccidAuto
52611/05/2008SonoraVeh. Accid-OtherMexicoVeh. AccidOther
53211/10/2008SonoraVeh. Accid-Motorcy.MexicoVeh. AccidMotorcy.
54511/28/2008GuanajuatoHomicideMexicoHomicideNone
54712/03/2008NayaritVeh. Accid-Motorcy.MexicoVeh. AccidMotorcy.
55212/14/2008SinaloaVeh. Accid-AutoMexicoVeh. AccidAuto
55312/14/2008SinaloaVeh. Accid-AutoMexicoVeh. AccidAuto
\n", "
" ], "text/plain": [ " Date City Cause of Death Country Cause \\\n", "344 01/06/2008 Jalisco Homicide Mexico Homicide \n", "349 01/26/2008 Morelia Veh. Accid-Auto Mexico Veh. Accid \n", "355 02/04/2008 Jalisco Suicide Mexico Suicide \n", "361 02/16/2008 Cuernavaca Other Accident Mexico Other Accident \n", "364 02/23/2008 Jalisco Veh. Accid-Auto Mexico Veh. Accid \n", "377 03/22/2008 Puebla Suicide Mexico Suicide \n", "380 03/25/2008 Tlalnepantla Other Accident Mexico Other Accident \n", "386 04/05/2008 Oaxaca Drowning Mexico Drowning \n", "400 05/11/2008 Tamaulipas Homicide Mexico Homicide \n", "413 05/31/2008 Yucatan Suicide Mexico Suicide \n", "422 06/19/2008 Tamaulipas Suicide Mexico Suicide \n", "428 06/24/2008 Merida Veh. Accid-Auto Mexico Veh. Accid \n", "433 07/02/2008 Yucatan Veh. Accid-Auto Mexico Veh. Accid \n", "435 07/06/2008 Coahuila Air Accident Mexico Air Accident \n", "441 07/17/2008 Jalisco Drowning Mexico Drowning \n", "444 07/21/2008 Chihuahua Veh. Accid-Auto Mexico Veh. Accid \n", "501 09/27/2008 Jalisco Veh. Accid-Auto Mexico Veh. Accid \n", "526 11/05/2008 Sonora Veh. Accid-Other Mexico Veh. Accid \n", "532 11/10/2008 Sonora Veh. Accid-Motorcy. Mexico Veh. Accid \n", "545 11/28/2008 Guanajuato Homicide Mexico Homicide \n", "547 12/03/2008 Nayarit Veh. Accid-Motorcy. Mexico Veh. Accid \n", "552 12/14/2008 Sinaloa Veh. Accid-Auto Mexico Veh. Accid \n", "553 12/14/2008 Sinaloa Veh. Accid-Auto Mexico Veh. Accid \n", "\n", " Subcause \n", "344 None \n", "349 Auto \n", "355 None \n", "361 None \n", "364 Auto \n", "377 None \n", "380 None \n", "386 None \n", "400 None \n", "413 None \n", "422 None \n", "428 Auto \n", "433 Auto \n", "435 None \n", "441 None \n", "444 Auto \n", "501 Auto \n", "526 Other \n", "532 Motorcy. \n", "545 None \n", "547 Motorcy. \n", "552 Auto \n", "553 Auto " ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[mexico]" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Air Accident 1\n", "Drowning 2\n", "Homicide 3\n", "Other Accident 2\n", "Suicide 4\n", "Veh. Accid 11\n" ] } ], "source": [ "for name, group in df[mexico].groupby('Cause'):\n", " print(name, len(group))" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.4" } }, "nbformat": 4, "nbformat_minor": 2 }