From b6eebc425bc6ce812f10c8c9037da5ede3d3e3e9 Mon Sep 17 00:00:00 2001 From: Christos Vlachakis Date: Mon, 8 Dec 2025 12:13:17 +0100 Subject: [PATCH 01/14] Add files via upload --- data/raw/Travel details dataset.csv | 140 ++++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 data/raw/Travel details dataset.csv diff --git a/data/raw/Travel details dataset.csv b/data/raw/Travel details dataset.csv new file mode 100644 index 00000000..f3c1b7e5 --- /dev/null +++ b/data/raw/Travel details dataset.csv @@ -0,0 +1,140 @@ +Trip ID,Destination,Start date,End date,Duration (days),Traveler name,Traveler age,Traveler gender,Traveler nationality,Accommodation type,Accommodation cost,Transportation type,Transportation cost +1,"London, UK",5/1/2023,5/8/2023,7,John Smith,35,Male,American,Hotel,1200,Flight,600 +2,"Phuket, Thailand",6/15/2023,6/20/2023,5,Jane Doe,28,Female,Canadian,Resort,800,Flight,500 +3,"Bali, Indonesia",7/1/2023,7/8/2023,7,David Lee,45,Male,Korean,Villa,1000,Flight,700 +4,"New York, USA",8/15/2023,8/29/2023,14,Sarah Johnson,29,Female,British,Hotel,2000,Flight,1000 +5,"Tokyo, Japan",9/10/2023,9/17/2023,7,Kim Nguyen,26,Female,Vietnamese,Airbnb,700,Train,200 +6,"Paris, France",10/5/2023,10/10/2023,5,Michael Brown,42,Male,American,Hotel,1500,Flight,800 +7,"Sydney, Australia",11/20/2023,11/30/2023,10,Emily Davis,33,Female,Australian,Hostel,500,Flight,1200 +8,"Rio de Janeiro, Brazil",1/5/2024,1/12/2024,7,Lucas Santos,25,Male,Brazilian,Airbnb,900,Flight,600 +9,"Amsterdam, Netherlands",2/14/2024,2/21/2024,7,Laura Janssen,31,Female,Dutch,Hotel,1200,Train,200 +10,"Dubai, United Arab Emirates",3/10/2024,3/17/2024,7,Mohammed Ali,39,Male,Emirati,Resort,2500,Flight,800 +11,"Cancun, Mexico",4/1/2024,4/8/2024,7,Ana Hernandez,27,Female,Mexican,Hotel,1000,Flight,500 +12,"Barcelona, Spain",5/15/2024,5/22/2024,7,Carlos Garcia,36,Male,Spanish,Airbnb,800,Train,100 +13,"Honolulu, Hawaii",6/10/2024,6/18/2024,8,Lily Wong,29,Female,Chinese,Resort,3000,Flight,1200 +14,"Berlin, Germany",7/1/2024,7/10/2024,9,Hans Mueller,48,Male,German,Hotel,1400,Flight,700 +15,"Marrakech, Morocco",8/20/2024,8/27/2024,7,Fatima Khouri,26,Female,Moroccan,Riad,600,Flight,400 +16,"Edinburgh, Scotland",9/5/2024,9/12/2024,7,James MacKenzie,32,Male,Scottish,Hotel,900,Train,150 +17,Paris,9/1/2023,9/10/2023,9,Sarah Johnson,30,Female,American,Hotel,$900 ,Plane,$400 +18,Bali,8/15/2023,8/25/2023,10,Michael Chang,28,Male,Chinese,Resort,"$1,500 ",Plane,$700 +19,London,7/22/2023,7/28/2023,6,Olivia Rodriguez,35,Female,British,Hotel,"$1,200 ",Train,$150 +20,Tokyo,10/5/2023,10/15/2023,10,Kenji Nakamura,45,Male,Japanese,Hotel,"$1,200 ",Plane,$800 +21,New York,11/20/2023,11/25/2023,5,Emily Lee,27,Female,American,Airbnb,$600 ,Bus,$100 +22,Sydney,12/5/2023,12/12/2023,7,James Wilson,32,Male,Australian,Hotel,"$1,000 ",Plane,$600 +23,Rome,11/1/2023,11/8/2023,7,Sofia Russo,29,Female,Italian,Airbnb,$700 ,Train,$80 +24,Bangkok,9/15/2023,9/23/2023,8,Raj Patel,40,Male,Indian,Hostel,$400 ,Plane,$500 +25,Paris,12/22/2023,12/28/2023,6,Lily Nguyen,24,Female,Vietnamese,Hotel,"$1,400 ",Train,$100 +26,Hawaii,8/1/2023,8/10/2023,9,David Kim,34,Male,Korean,Resort,"$2,000 ",Plane,$800 +27,Barcelona,10/20/2023,10/28/2023,8,Maria Garcia,31,Female,Spanish,Hotel,"$1,100 ",Train,$150 +28,Japan,5/10/2022,5/18/2022,8,Alice Smith,30,Female,American,Hotel,$800 ,Plane,$500 +29,Thailand,6/15/2022,6/22/2022,7,Bob Johnson,45,Male,Canadian,Hostel,$200 ,Train,$150 +30,France,7/2/2022,7/11/2022,9,Charlie Lee,25,Male,Korean,Airbnb,$600 ,Car rental,$300 +31,Australia,8/20/2022,9/2/2022,13,Emma Davis,28,Female,British,Hotel,"$1,000 ",Car rental,$500 +32,Brazil,9/5/2022,9/14/2022,9,Olivia Martin,33,Female,Australian,Hostel,$150 ,Bus,$50 +33,Greece,10/12/2022,10/20/2022,8,Harry Wilson,20,Male,American,Airbnb,$400 ,Plane,$600 +34,Egypt,11/8/2022,11/15/2022,7,Sophia Lee,37,Female,Canadian,Hotel,$700 ,Train,$100 +35,Mexico,1/5/2023,1/15/2023,10,James Brown,42,Male,British,Airbnb,$500 ,Plane,$800 +36,Italy,2/14/2023,2/20/2023,6,Mia Johnson,31,Female,American,Hostel,$180 ,Train,$120 +37,Spain,3/23/2023,3/31/2023,8,William Davis,27,Male,Korean,Hotel,$900 ,Car rental,$400 +38,Canada,4/19/2023,4/26/2023,7,Amelia Brown,38,Female,Australian,Airbnb,$350 ,Bus,$75 +39,"Paris, France",6/12/2022,6/19/2022,7,Mia Johnson,25,Female,American,Hotel,1400,Plane,600 +40,"Sydney, Australia",1/2/2023,1/9/2023,7,Adam Lee,33,Male,Canadian,Airbnb,800,Train,150 +41,"Tokyo, Japan",12/10/2022,12/18/2022,8,Sarah Wong,28,Female,Chinese,Hostel,500,Plane,900 +42,"Cancun, Mexico",7/1/2023,7/8/2023,7,John Smith,45,Male,American,Resort,2200,Plane,800 +43,"Rio de Janeiro, Brazil",11/20/2022,11/27/2022,7,Maria Silva,30,Female,Brazilian,Hotel,1200,Plane,700 +44,"London, UK",3/5/2023,3/12/2023,7,Peter Brown,55,Male,British,Airbnb,900,Train,100 +45,"Barcelona, Spain",8/18/2023,8/25/2023,7,Emma Garcia,27,Female,Spanish,Hostel,600,Plane,600 +46,"New York City, USA",9/15/2022,9/22/2022,7,Michael Davis,41,Male,American,Hotel,1500,Plane,500 +47,"Bangkok, Thailand",5/1/2023,5/7/2023,6,Nina Patel,29,Female,Indian,Airbnb,500,Bus,50 +48,"Vancouver, Canada",7/10/2022,7/17/2022,7,Kevin Kim,24,Male,Korean,Hostel,400,Train,150 +49,"Amsterdam, Netherlands",6/20/2023,6/28/2023,8,Laura van den Berg,31,Female,Dutch,Hotel,1100,Plane,700 +50,"Paris, France",8/15/2023,8/22/2023,7,Jennifer Nguyen,31,Female,Canadian,Hotel,"$1,200 ",Train,$300 +51,"Tokyo, Japan",10/10/2023,10/20/2023,10,David Kim,25,Male,American,Hostel,$500 ,Bus,$100 +52,"Sydney, AUS",11/5/2023,11/12/2023,7,Rachel Lee,27,Female,South Korean,Airbnb,$900 ,Car rental,$200 +53,"New York, USA",12/24/2023,12/31/2023,7,Jessica Wong,28,Female,Canadian,Hotel,"$1,400 ",Flight,$800 +54,"Rio de Janeiro, Brazil",1/15/2024,1/24/2024,9,Felipe Almeida,30,Male,Brazilian,Airbnb,$800 ,Train,$150 +55,"Bangkok, Thailand",2/1/2024,2/9/2024,8,Nisa Patel,23,Female,Indian,Hostel,$400 ,Bus,$50 +56,"London, UK",3/15/2024,3/23/2024,8,Ben Smith,35,Male,British,Hotel,"$1,000 ",Train,$200 +57,"Barcelona, Spain",4/5/2024,4/13/2024,8,Laura Gomez,29,Female,Spanish,Airbnb,$700 ,Car rental,$250 +58,"Seoul, South Korea",5/10/2024,5/18/2024,8,Park Min Woo,27,Male,South Korean,Hostel,$500 ,Subway,$20 +59,"Los Angeles, USA",6/20/2024,6/27/2024,7,Michael Chen,26,Male,Chinese,Hotel,"$1,200 ",Car rental,$300 +60,"Rome, Italy",7/15/2024,7/23/2024,8,Sofia Rossi,33,Female,Italian,Airbnb,$800 ,Train,$100 +61,Paris,7/12/2022,7/18/2022,6,Rachel Sanders,35,Female,American,Hotel,1200,Plane,800 +62,Tokyo,9/3/2022,9/10/2022,7,Kenji Nakamura,28,Male,Japanese,Hostel,400,Train,300 +63,Cape Town,1/7/2023,1/16/2023,9,Emily Watson,29,Female,British,Vacation rental,800,Car rental,200 +64,Sydney,6/23/2023,6/29/2023,6,David Lee,43,Male,Australian,Hotel,1500,Plane,1200 +65,Barcelona,8/18/2023,8/25/2023,7,Ana Rodriguez,31,Female,Spanish,Vacation rental,900,Plane,700 +66,Bali,2/1/2024,2/8/2024,7,Tom Wilson,27,Male,American,Resort,2200,Plane,1000 +67,Paris,5/6/2024,5/12/2024,6,Olivia Green,39,Female,French,Hotel,1100,Train,200 +68,New York,7/20/2024,7/26/2024,6,James Chen,25,Male,American,Vacation rental,1000,Plane,800 +69,Bangkok,9/8/2024,9/16/2024,8,Lila Patel,33,Female,Indian,Hostel,300,Plane,700 +70,Rome,2/14/2025,2/20/2025,6,Marco Rossi,41,Male,Italian,Hotel,1300,Train,100 +71,Bali,5/21/2025,5/29/2025,8,Sarah Brown,37,Female,British,Resort,1800,Plane,1000 +72,,,,,,,,,,,, +73,"Bali, Indonesia",8/5/2022,8/12/2022,7,Sarah Lee,35,Female,South Korean,Resort,500 USD,Plane,800 USD +74,"Tokyo, Japan",1/1/2023,1/9/2023,8,Alex Kim,29,Male,American,Hotel,1000 USD,Train,200 USD +75,"Cancun, Mexico",4/15/2023,4/22/2023,7,Maria Hernandez,42,Female,Mexican,Resort,800 USD,Plane,500 USD +76,"Paris, France",6/7/2023,6/14/2023,7,John Smith,46,Male,British,Hotel,1200 USD,Plane,700 USD +77,"Cape Town, SA",9/1/2023,9/10/2023,9,Mark Johnson,31,Male,South African,Guesthouse,400 USD,Car,300 USD +78,"Bali, Indonesia",11/12/2023,11/19/2023,7,Amanda Chen,25,Female,Taiwanese,Resort,600 USD,Plane,700 USD +79,"Sydney, Aus",2/5/2024,2/12/2024,7,David Lee,38,Male,Australian,Hotel,900 USD,Plane,600 USD +80,"Bangkok, Thai",5/15/2024,5/22/2024,7,Nana Kwon,27,Female,Korean,Hotel,400 USD,Plane,400 USD +81,"New York, USA",8/20/2024,8/27/2024,7,Tom Hanks,60,Male,American,Hotel,1500 USD,Plane,1000 USD +82,"Phuket, Thai",1/1/2025,1/8/2025,7,Emma Watson,32,Female,British,Resort,700 USD,Plane,800 USD +83,"Rome, Italy",4/15/2025,4/22/2025,7,James Kim,41,Male,American,Hotel,100,, +84,Paris,6/15/2021,6/20/2021,6,John Smith,35,Male,American,Hotel,800 USD,Plane,500 USD +85,Tokyo,7/1/2021,7/10/2021,10,Sarah Lee,28,Female,Korean,Airbnb,500 USD,Train,300 USD +86,Bali,8/10/2021,8/20/2021,11,Maria Garcia,42,Female,Spanish,Resort,1200 USD,Plane,700 USD +87,Sydney,9/1/2021,9/10/2021,9,David Lee,45,Male,Australian,Hotel,900 USD,Plane,600 USD +88,New York,10/15/2021,10/20/2021,6,Emily Davis,31,Female,American,Airbnb,700 USD,Car rental,200 USD +89,London,11/20/2021,11/30/2021,11,James Wilson,29,Male,British,Hostel,300 USD,Plane,400 USD +90,Dubai,1/1/2022,1/8/2022,8,Fatima Ahmed,24,Female,Emirati,Hotel,1000 USD,Plane,800 USD +91,Bangkok,2/14/2022,2/20/2022,7,Liam Nguyen,26,Male,Vietnamese,Airbnb,400 USD,Train,100 USD +92,Rome,3/10/2022,3/20/2022,11,Giulia Rossi,30,Female,Italian,Hostel,200 USD,Plane,350 USD +93,Bali,4/15/2022,4/25/2022,11,Putra Wijaya,33,Male,Indonesian,Villa,1500 USD,Car rental,300 USD +94,Seoul,5/1/2022,5/10/2022,10,Kim Min-ji,27,Female,Korean,Hotel,800 USD,Train,150 USD +95,Paris,6/15/2022,6/20/2022,5,John Smith,35,Male,USA,Hotel,$500 ,Plane,$800 +96,Tokyo,9/1/2022,9/10/2022,9,Emily Johnson,28,Female,Canada,Airbnb,$400 ,Train,$200 +97,Sydney,11/23/2022,12/2/2022,9,David Lee,45,Male,South Korea,Hostel,$200 ,Plane,"$1,200 " +98,London,2/14/2023,2/19/2023,5,Sarah Brown,37,Female,UK,Hotel,$600 ,Plane,$700 +99,New York,5/8/2023,5/14/2023,6,Michael Wong,50,Male,China,Airbnb,$800 ,Car rental,$300 +100,Rome,8/20/2023,8/27/2023,7,Jessica Chen,31,Female,Taiwan,Hotel,$700 ,Plane,$900 +101,Bangkok,11/12/2023,11/20/2023,8,Ken Tanaka,42,Male,Japan,Hostel,$300 ,Train,$100 +102,Cape Town,1/6/2024,1/14/2024,8,Maria Garcia,27,Female,Spain,Airbnb,$500 ,Plane,"$1,500 " +103,Rio de Janeiro,4/3/2024,4/10/2024,7,Rodrigo Oliveira,33,Male,Brazil,Hotel,$900 ,Car rental,$400 +104,Bali,7/22/2024,7/28/2024,6,Olivia Kim,29,Female,South Korea,Villa,"$1,200 ",Plane,"$1,000 " +105,Amsterdam,10/10/2024,10/17/2024,7,Robert Mueller,41,Male,Germany,Hotel,$600 ,Train,$150 +106,Paris,5/15/2022,5/20/2022,5,John Smith,35,Male,USA,Hotel,1000,Plane,800 +107,Tokyo,9/1/2022,9/10/2022,9,Sarah Lee,28,Female,South Korea,Airbnb,800,Train,500 +108,New York,6/20/2022,6/25/2022,5,Michael Wong,42,Male,Hong Kong,Hotel,1200,Car rental,200 +109,Bali,8/12/2022,8/20/2022,8,Lisa Chen,30,Female,Taiwan,Resort,1500,Plane,1200 +110,Sydney,7/1/2022,7/10/2022,9,David Kim,26,Male,Canada,Hostel,300,Plane,900 +111,London,6/10/2022,6/15/2022,5,Emily Wong,38,Female,United Kingdom,Hotel,900,Train,150 +112,Phuket,9/5/2022,9/12/2022,7,Mark Tan,45,Male,Singapore,Villa,2000,Plane,700 +113,Rome,5/1/2022,5/8/2022,7,Emma Lee,31,Female,Italy,Hotel,1100,Train,250 +114,Santorini,7/15/2022,7/22/2022,7,George Chen,27,Male,Greece,Airbnb,1000,Ferry,150 +115,Dubai,8/25/2022,8/30/2022,5,Sophia Kim,29,Female,United Arab Emirates,Hotel,1500,Car rental,300 +116,Phnom Penh,9/10/2022,9/15/2022,5,Alex Ng,33,Male,Cambodia,Hostel,200,Plane,500 +117,"Tokyo, Japan",2/5/2022,2/14/2022,9,Alice Smith,32,Female,American,Hotel,1000,Plane,700 +118,"Paris, France",3/15/2022,3/22/2022,7,Bob Johnson,47,Male,Canadian,Hotel,1200,Train,500 +119,"Sydney, Aus",5/1/2022,5/12/2022,11,Cindy Chen,26,Female,Chinese,Airbnb,800,Plane,1000 +120,"Rome, Italy",6/10/2022,6/17/2022,7,David Lee,38,Male,Korean,Hotel,900,Train,400 +121,"Bali, Indonesia",7/20/2022,7/30/2022,10,Emily Kim,29,Female,Korean,Hostel,500,Plane,800 +122,"Cancun, Mexico",8/8/2022,8/16/2022,8,Frank Li,41,Male,American,Hotel,1300,Plane,600 +123,"Athens, Greece",9/20/2022,9/30/2022,10,Gina Lee,35,Female,Korean,Airbnb,700,Plane,900 +124,"Tokyo, Japan",10/5/2022,10/13/2022,8,Henry Kim,24,Male,Korean,Hotel,1200,Plane,700 +125,"Sydney, Aus",11/11/2022,11/21/2022,10,Isabella Chen,30,Female,Chinese,Airbnb,900,Plane,1000 +126,"Paris, France",12/24/2022,1/1/2023,8,Jack Smith,28,Male,American,Hostel,400,Plane,700 +127,"Bali, Indonesia",2/10/2023,2/18/2023,8,Katie Johnson,33,Female,Canadian,Hotel,800,Plane,800 +128,,,,,,,,,,,, +129,"Paris, France",5/1/2023,5/7/2023,6,John Doe,35,Male,American,Hotel,5000,Airplane,2500 +130,"Tokyo, Japan",5/15/2023,5/22/2023,7,Jane Smith,28,Female,British,Airbnb,7000,Train,1500 +131,"Cape Town, South Africa",6/1/2023,6/10/2023,9,Michael Johnson,45,Male,South African,Hostel,3000,Car,2000 +132,"Sydney, Australia",6/15/2023,6/21/2023,6,Sarah Lee,31,Female,Australian,Hotel,6000,Airplane,3000 +133,"Rome, Italy",7/1/2023,7/8/2023,7,David Kim,42,Male,Korean,Airbnb,4000,Train,1500 +134,"New York City, USA",7/15/2023,7/22/2023,7,Emily Davis,27,Female,American,Hotel,8000,Airplane,2500 +135,"Rio de Janeiro, Brazil",8/1/2023,8/10/2023,9,Jose Perez,37,Male,Brazilian,Hostel,2500,Car,2000 +136,"Vancouver, Canada",8/15/2023,8/21/2023,6,Emma Wilson,29,Female,Canadian,Hotel,5000,Airplane,3000 +137,"Bangkok, Thailand",9/1/2023,9/8/2023,7,Ryan Chen,34,Male,Chinese,Hostel,2000,Train,1000 +138,"Barcelona, Spain",9/15/2023,9/22/2023,7,Sofia Rodriguez,25,Female,Spanish,Airbnb,6000,Airplane,2500 +139,"Auckland, New Zealand",10/1/2023,10/8/2023,7,William Brown,39,Male,New Zealander,Hotel,7000,Train,2500 From 39c7419abf7472fadf0b67c9f7a07274a8756ef4 Mon Sep 17 00:00:00 2001 From: Christos Vachakis Date: Mon, 8 Dec 2025 17:17:09 +0100 Subject: [PATCH 02/14] christos branch Monday commit --- notebooks/travel_trip_data_christos.ipynb | 2957 +++++++++++++++++++++ 1 file changed, 2957 insertions(+) create mode 100644 notebooks/travel_trip_data_christos.ipynb diff --git a/notebooks/travel_trip_data_christos.ipynb b/notebooks/travel_trip_data_christos.ipynb new file mode 100644 index 00000000..52a28fab --- /dev/null +++ b/notebooks/travel_trip_data_christos.ipynb @@ -0,0 +1,2957 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "09d348ff-c86d-47fe-a0a5-88cb5f3a451c", + "metadata": {}, + "source": [ + "# Travel trip data project" + ] + }, + { + "cell_type": "markdown", + "id": "956ed231-de07-4ebf-ba4c-8de9400b8a3b", + "metadata": {}, + "source": [ + "## Loading the CSV file" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "id": "b6ca0042-45bd-4e21-ac98-14bfa57c2f32", + "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", + "
Trip IDDestinationStart dateEnd dateDuration (days)Traveler nameTraveler ageTraveler genderTraveler nationalityAccommodation typeAccommodation costTransportation typeTransportation cost
01London, UK5/1/20235/8/20237.0John Smith35.0MaleAmericanHotel1200Flight600
12Phuket, Thailand6/15/20236/20/20235.0Jane Doe28.0FemaleCanadianResort800Flight500
23Bali, Indonesia7/1/20237/8/20237.0David Lee45.0MaleKoreanVilla1000Flight700
34New York, USA8/15/20238/29/202314.0Sarah Johnson29.0FemaleBritishHotel2000Flight1000
45Tokyo, Japan9/10/20239/17/20237.0Kim Nguyen26.0FemaleVietnameseAirbnb700Train200
56Paris, France10/5/202310/10/20235.0Michael Brown42.0MaleAmericanHotel1500Flight800
67Sydney, Australia11/20/202311/30/202310.0Emily Davis33.0FemaleAustralianHostel500Flight1200
78Rio de Janeiro, Brazil1/5/20241/12/20247.0Lucas Santos25.0MaleBrazilianAirbnb900Flight600
89Amsterdam, Netherlands2/14/20242/21/20247.0Laura Janssen31.0FemaleDutchHotel1200Train200
910Dubai, United Arab Emirates3/10/20243/17/20247.0Mohammed Ali39.0MaleEmiratiResort2500Flight800
\n", + "
" + ], + "text/plain": [ + " Trip ID Destination Start date End date \\\n", + "0 1 London, UK 5/1/2023 5/8/2023 \n", + "1 2 Phuket, Thailand 6/15/2023 6/20/2023 \n", + "2 3 Bali, Indonesia 7/1/2023 7/8/2023 \n", + "3 4 New York, USA 8/15/2023 8/29/2023 \n", + "4 5 Tokyo, Japan 9/10/2023 9/17/2023 \n", + "5 6 Paris, France 10/5/2023 10/10/2023 \n", + "6 7 Sydney, Australia 11/20/2023 11/30/2023 \n", + "7 8 Rio de Janeiro, Brazil 1/5/2024 1/12/2024 \n", + "8 9 Amsterdam, Netherlands 2/14/2024 2/21/2024 \n", + "9 10 Dubai, United Arab Emirates 3/10/2024 3/17/2024 \n", + "\n", + " Duration (days) Traveler name Traveler age Traveler gender \\\n", + "0 7.0 John Smith 35.0 Male \n", + "1 5.0 Jane Doe 28.0 Female \n", + "2 7.0 David Lee 45.0 Male \n", + "3 14.0 Sarah Johnson 29.0 Female \n", + "4 7.0 Kim Nguyen 26.0 Female \n", + "5 5.0 Michael Brown 42.0 Male \n", + "6 10.0 Emily Davis 33.0 Female \n", + "7 7.0 Lucas Santos 25.0 Male \n", + "8 7.0 Laura Janssen 31.0 Female \n", + "9 7.0 Mohammed Ali 39.0 Male \n", + "\n", + " Traveler nationality Accommodation type Accommodation cost \\\n", + "0 American Hotel 1200 \n", + "1 Canadian Resort 800 \n", + "2 Korean Villa 1000 \n", + "3 British Hotel 2000 \n", + "4 Vietnamese Airbnb 700 \n", + "5 American Hotel 1500 \n", + "6 Australian Hostel 500 \n", + "7 Brazilian Airbnb 900 \n", + "8 Dutch Hotel 1200 \n", + "9 Emirati Resort 2500 \n", + "\n", + " Transportation type Transportation cost \n", + "0 Flight 600 \n", + "1 Flight 500 \n", + "2 Flight 700 \n", + "3 Flight 1000 \n", + "4 Train 200 \n", + "5 Flight 800 \n", + "6 Flight 1200 \n", + "7 Flight 600 \n", + "8 Train 200 \n", + "9 Flight 800 " + ] + }, + "execution_count": 55, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandas as pd\n", + "\n", + "travel_trip_data = \"../data/raw/Travel details dataset.csv\"\n", + "travel_trip_christos_df = pd.read_csv(travel_trip_data, encoding='ISO-8859-1')\n", + "travel_trip_christos_df.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "id": "fab15d20-64fb-4aa3-ba38-53abaa1b6c9d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['Trip ID', 'Destination', 'Start date', 'End date',\n", + " 'Duration (days)', 'Traveler name', 'Traveler age', 'Traveler gender',\n", + " 'Traveler nationality', 'Accommodation type', 'Accommodation cost',\n", + " 'Transportation type', 'Transportation cost'],\n", + " dtype='object')" + ] + }, + "execution_count": 56, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_christos_df.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "id": "1d77a53a-7fa4-4426-9b43-5eb7c171b8ee", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['trip_id', 'destination', 'start_date', 'end_date', 'duration_days',\n", + " 'traveler_name', 'traveler_age', 'traveler_gender',\n", + " 'traveler_nationality', 'accommodation_type', 'accommodation_cost',\n", + " 'transportation_type', 'transportation_cost'],\n", + " dtype='object')" + ] + }, + "execution_count": 57, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_christos_df.columns = travel_trip_christos_df.columns.str.replace(\"\", \"\", regex=False).str.replace(r\"[()]\", \"\", regex=True).str.strip(\")\").str.replace(\" \",\"_\").str.lower()\n", + "travel_trip_christos_df.columns " + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "id": "abfddadd-f65d-4e66-9ed8-a703bbf1dd65", + "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", + "
trip_iddestinationstart_dateend_dateduration_daystraveler_nametraveler_agetraveler_gendertraveler_nationalityaccommodation_typeaccommodation_costtransportation_typetransportation_cost
01London, UK5/1/20235/8/20237.0John Smith35.0MaleAmericanHotel1200Flight600
\n", + "
" + ], + "text/plain": [ + " trip_id destination start_date end_date duration_days traveler_name \\\n", + "0 1 London, UK 5/1/2023 5/8/2023 7.0 John Smith \n", + "\n", + " traveler_age traveler_gender traveler_nationality accommodation_type \\\n", + "0 35.0 Male American Hotel \n", + "\n", + " accommodation_cost transportation_type transportation_cost \n", + "0 1200 Flight 600 " + ] + }, + "execution_count": 58, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_christos_df.head(1)" + ] + }, + { + "cell_type": "markdown", + "id": "1727b20c-d279-4e6a-b0a7-2aa6a3c6a753", + "metadata": {}, + "source": [ + "## Cleaning dataframe" + ] + }, + { + "cell_type": "markdown", + "id": "10bb170e-88ee-4070-b0c4-090eeb61e0fa", + "metadata": {}, + "source": [ + "### Starting with \"destination\"" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "id": "aaeec699-0bfc-4b9a-9d9f-ced868221f38", + "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", + "
trip_iddestinationstart_dateend_dateduration_daystraveler_nametraveler_agetraveler_gendertraveler_nationalityaccommodation_typeaccommodation_costtransportation_typetransportation_costdestination_citydestination_country
01London, UK5/1/20235/8/20237.0John Smith35.0MaleAmericanHotel1200Flight600LondonUK
12Phuket, Thailand6/15/20236/20/20235.0Jane Doe28.0FemaleCanadianResort800Flight500PhuketThailand
23Bali, Indonesia7/1/20237/8/20237.0David Lee45.0MaleKoreanVilla1000Flight700BaliIndonesia
34New York, USA8/15/20238/29/202314.0Sarah Johnson29.0FemaleBritishHotel2000Flight1000New YorkUSA
45Tokyo, Japan9/10/20239/17/20237.0Kim Nguyen26.0FemaleVietnameseAirbnb700Train200TokyoJapan
................................................
134135Rio de Janeiro, Brazil8/1/20238/10/20239.0Jose Perez37.0MaleBrazilianHostel2500Car2000Rio de JaneiroBrazil
135136Vancouver, Canada8/15/20238/21/20236.0Emma Wilson29.0FemaleCanadianHotel5000Airplane3000VancouverCanada
136137Bangkok, Thailand9/1/20239/8/20237.0Ryan Chen34.0MaleChineseHostel2000Train1000BangkokThailand
137138Barcelona, Spain9/15/20239/22/20237.0Sofia Rodriguez25.0FemaleSpanishAirbnb6000Airplane2500BarcelonaSpain
138139Auckland, New Zealand10/1/202310/8/20237.0William Brown39.0MaleNew ZealanderHotel7000Train2500AucklandNew Zealand
\n", + "

139 rows × 15 columns

\n", + "
" + ], + "text/plain": [ + " trip_id destination start_date end_date duration_days \\\n", + "0 1 London, UK 5/1/2023 5/8/2023 7.0 \n", + "1 2 Phuket, Thailand 6/15/2023 6/20/2023 5.0 \n", + "2 3 Bali, Indonesia 7/1/2023 7/8/2023 7.0 \n", + "3 4 New York, USA 8/15/2023 8/29/2023 14.0 \n", + "4 5 Tokyo, Japan 9/10/2023 9/17/2023 7.0 \n", + ".. ... ... ... ... ... \n", + "134 135 Rio de Janeiro, Brazil 8/1/2023 8/10/2023 9.0 \n", + "135 136 Vancouver, Canada 8/15/2023 8/21/2023 6.0 \n", + "136 137 Bangkok, Thailand 9/1/2023 9/8/2023 7.0 \n", + "137 138 Barcelona, Spain 9/15/2023 9/22/2023 7.0 \n", + "138 139 Auckland, New Zealand 10/1/2023 10/8/2023 7.0 \n", + "\n", + " traveler_name traveler_age traveler_gender traveler_nationality \\\n", + "0 John Smith 35.0 Male American \n", + "1 Jane Doe 28.0 Female Canadian \n", + "2 David Lee 45.0 Male Korean \n", + "3 Sarah Johnson 29.0 Female British \n", + "4 Kim Nguyen 26.0 Female Vietnamese \n", + ".. ... ... ... ... \n", + "134 Jose Perez 37.0 Male Brazilian \n", + "135 Emma Wilson 29.0 Female Canadian \n", + "136 Ryan Chen 34.0 Male Chinese \n", + "137 Sofia Rodriguez 25.0 Female Spanish \n", + "138 William Brown 39.0 Male New Zealander \n", + "\n", + " accommodation_type accommodation_cost transportation_type \\\n", + "0 Hotel 1200 Flight \n", + "1 Resort 800 Flight \n", + "2 Villa 1000 Flight \n", + "3 Hotel 2000 Flight \n", + "4 Airbnb 700 Train \n", + ".. ... ... ... \n", + "134 Hostel 2500 Car \n", + "135 Hotel 5000 Airplane \n", + "136 Hostel 2000 Train \n", + "137 Airbnb 6000 Airplane \n", + "138 Hotel 7000 Train \n", + "\n", + " transportation_cost destination_city destination_country \n", + "0 600 London UK \n", + "1 500 Phuket Thailand \n", + "2 700 Bali Indonesia \n", + "3 1000 New York USA \n", + "4 200 Tokyo Japan \n", + ".. ... ... ... \n", + "134 2000 Rio de Janeiro Brazil \n", + "135 3000 Vancouver Canada \n", + "136 1000 Bangkok Thailand \n", + "137 2500 Barcelona Spain \n", + "138 2500 Auckland New Zealand \n", + "\n", + "[139 rows x 15 columns]" + ] + }, + "execution_count": 59, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# I want to take the column destination, and rather split it in two, destination_city and destination_country\n", + "\n", + "# Split on the first comma into two columns\n", + "travel_trip_christos_df[[\"destination_city\", \"destination_country\"]] = (\n", + " travel_trip_christos_df[\"destination\"]\n", + " .str.split(\",\", n=1, expand=True)\n", + ")\n", + "\n", + "# Clean up whitespace\n", + "travel_trip_christos_df[\"destination_city\"] = (\n", + " travel_trip_christos_df[\"destination_city\"].str.strip()\n", + ")\n", + "travel_trip_christos_df[\"destination_country\"] = (\n", + " travel_trip_christos_df[\"destination_country\"].str.strip()\n", + ")\n", + "\n", + "travel_trip_christos_df" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "id": "6c149138-e377-472c-8f1e-b35e91841b1d", + "metadata": {}, + "outputs": [], + "source": [ + "# I will drop the column \"destination\" after merging my table with the cleaned tables with my colleagues working in parallel." + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "id": "61783158-1b4c-4c32-b279-722dccb72cfb", + "metadata": {}, + "outputs": [], + "source": [ + "# will however first move the two new columns on the right and next to destination" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "id": "64fde922-91a8-4501-89af-21b879597429", + "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", + "
destinationtrip_iddestination_countrydestination_citystart_dateend_dateduration_daystraveler_nametraveler_agetraveler_gendertraveler_nationalityaccommodation_typeaccommodation_costtransportation_typetransportation_cost
0London, UK1UKLondon5/1/20235/8/20237.0John Smith35.0MaleAmericanHotel1200Flight600
1Phuket, Thailand2ThailandPhuket6/15/20236/20/20235.0Jane Doe28.0FemaleCanadianResort800Flight500
2Bali, Indonesia3IndonesiaBali7/1/20237/8/20237.0David Lee45.0MaleKoreanVilla1000Flight700
3New York, USA4USANew York8/15/20238/29/202314.0Sarah Johnson29.0FemaleBritishHotel2000Flight1000
4Tokyo, Japan5JapanTokyo9/10/20239/17/20237.0Kim Nguyen26.0FemaleVietnameseAirbnb700Train200
................................................
134Rio de Janeiro, Brazil135BrazilRio de Janeiro8/1/20238/10/20239.0Jose Perez37.0MaleBrazilianHostel2500Car2000
135Vancouver, Canada136CanadaVancouver8/15/20238/21/20236.0Emma Wilson29.0FemaleCanadianHotel5000Airplane3000
136Bangkok, Thailand137ThailandBangkok9/1/20239/8/20237.0Ryan Chen34.0MaleChineseHostel2000Train1000
137Barcelona, Spain138SpainBarcelona9/15/20239/22/20237.0Sofia Rodriguez25.0FemaleSpanishAirbnb6000Airplane2500
138Auckland, New Zealand139New ZealandAuckland10/1/202310/8/20237.0William Brown39.0MaleNew ZealanderHotel7000Train2500
\n", + "

139 rows × 15 columns

\n", + "
" + ], + "text/plain": [ + " destination trip_id destination_country destination_city \\\n", + "0 London, UK 1 UK London \n", + "1 Phuket, Thailand 2 Thailand Phuket \n", + "2 Bali, Indonesia 3 Indonesia Bali \n", + "3 New York, USA 4 USA New York \n", + "4 Tokyo, Japan 5 Japan Tokyo \n", + ".. ... ... ... ... \n", + "134 Rio de Janeiro, Brazil 135 Brazil Rio de Janeiro \n", + "135 Vancouver, Canada 136 Canada Vancouver \n", + "136 Bangkok, Thailand 137 Thailand Bangkok \n", + "137 Barcelona, Spain 138 Spain Barcelona \n", + "138 Auckland, New Zealand 139 New Zealand Auckland \n", + "\n", + " start_date end_date duration_days traveler_name traveler_age \\\n", + "0 5/1/2023 5/8/2023 7.0 John Smith 35.0 \n", + "1 6/15/2023 6/20/2023 5.0 Jane Doe 28.0 \n", + "2 7/1/2023 7/8/2023 7.0 David Lee 45.0 \n", + "3 8/15/2023 8/29/2023 14.0 Sarah Johnson 29.0 \n", + "4 9/10/2023 9/17/2023 7.0 Kim Nguyen 26.0 \n", + ".. ... ... ... ... ... \n", + "134 8/1/2023 8/10/2023 9.0 Jose Perez 37.0 \n", + "135 8/15/2023 8/21/2023 6.0 Emma Wilson 29.0 \n", + "136 9/1/2023 9/8/2023 7.0 Ryan Chen 34.0 \n", + "137 9/15/2023 9/22/2023 7.0 Sofia Rodriguez 25.0 \n", + "138 10/1/2023 10/8/2023 7.0 William Brown 39.0 \n", + "\n", + " traveler_gender traveler_nationality accommodation_type \\\n", + "0 Male American Hotel \n", + "1 Female Canadian Resort \n", + "2 Male Korean Villa \n", + "3 Female British Hotel \n", + "4 Female Vietnamese Airbnb \n", + ".. ... ... ... \n", + "134 Male Brazilian Hostel \n", + "135 Female Canadian Hotel \n", + "136 Male Chinese Hostel \n", + "137 Female Spanish Airbnb \n", + "138 Male New Zealander Hotel \n", + "\n", + " accommodation_cost transportation_type transportation_cost \n", + "0 1200 Flight 600 \n", + "1 800 Flight 500 \n", + "2 1000 Flight 700 \n", + "3 2000 Flight 1000 \n", + "4 700 Train 200 \n", + ".. ... ... ... \n", + "134 2500 Car 2000 \n", + "135 5000 Airplane 3000 \n", + "136 2000 Train 1000 \n", + "137 6000 Airplane 2500 \n", + "138 7000 Train 2500 \n", + "\n", + "[139 rows x 15 columns]" + ] + }, + "execution_count": 62, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cols = list(travel_trip_christos_df.columns)\n", + "cols.insert(cols.index(\"destination\") + 1, cols.pop(cols.index(\"destination_city\")))\n", + "travel_trip_christos_df = travel_trip_christos_df.loc[:, cols]\n", + "\n", + "cols = list(travel_trip_christos_df.columns)\n", + "cols.insert(cols.index(\"destination_city\") - 1, cols.pop(cols.index(\"destination_country\")))\n", + "travel_trip_christos_df = travel_trip_christos_df.loc[:, cols]\n", + "\n", + "cols = list(travel_trip_christos_df.columns)\n", + "cols.insert(cols.index(\"destination_country\") - 1, cols.pop(cols.index(\"destination\")))\n", + "travel_trip_christos_df = travel_trip_christos_df.loc[:, cols]\n", + "\n", + "travel_trip_christos_df" + ] + }, + { + "cell_type": "markdown", + "id": "faece5e5-8983-47fc-9694-2a9e9ff937f6", + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, + "source": [ + "### Searching for NaN values" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "id": "27f20889-fafe-4d54-8fdd-a1cbb348949c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "destination 2\n", + "trip_id 0\n", + "destination_country 68\n", + "destination_city 2\n", + "start_date 2\n", + "end_date 2\n", + "duration_days 2\n", + "traveler_name 2\n", + "traveler_age 2\n", + "traveler_gender 2\n", + "traveler_nationality 2\n", + "accommodation_type 2\n", + "accommodation_cost 2\n", + "transportation_type 3\n", + "transportation_cost 3\n", + "dtype: int64" + ] + }, + "execution_count": 64, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_christos_df.isnull().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "id": "b11c4625-e73d-4fff-9244-6b50f3ef64cf", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['London, UK', 'Phuket, Thailand', 'Bali, Indonesia',\n", + " 'New York, USA', 'Tokyo, Japan', 'Paris, France',\n", + " 'Sydney, Australia', 'Rio de Janeiro, Brazil',\n", + " 'Amsterdam, Netherlands', 'Dubai, United Arab Emirates',\n", + " 'Cancun, Mexico', 'Barcelona, Spain', 'Honolulu, Hawaii',\n", + " 'Berlin, Germany', 'Marrakech, Morocco', 'Edinburgh, Scotland',\n", + " 'Paris', 'Bali', 'London', 'Tokyo', 'New York', 'Sydney', 'Rome',\n", + " 'Bangkok', 'Hawaii', 'Barcelona', 'Japan', 'Thailand', 'France',\n", + " 'Australia', 'Brazil', 'Greece', 'Egypt', 'Mexico', 'Italy',\n", + " 'Spain', 'Canada', 'New York City, USA', 'Bangkok, Thailand',\n", + " 'Vancouver, Canada', 'Sydney, AUS', 'Seoul, South Korea',\n", + " 'Los Angeles, USA', 'Rome, Italy', 'Cape Town', nan,\n", + " 'Cape Town, SA', 'Sydney, Aus', 'Bangkok, Thai', 'Phuket, Thai',\n", + " 'Dubai', 'Seoul', 'Rio de Janeiro', 'Amsterdam', 'Phuket',\n", + " 'Santorini', 'Phnom Penh', 'Athens, Greece',\n", + " 'Cape Town, South Africa', 'Auckland, New Zealand'], dtype=object)" + ] + }, + "execution_count": 65, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# checking the destinatio column to see what destination_city has so many NaN values. \n", + "# It shows that for many rows we only have information about the city. \n", + "# That's no problem, we can easily extrapolate the country frrom it.\n", + "travel_trip_christos_df.destination.unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "id": "a873cdec-c049-4dff-a77c-fa1deab3b8f6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2\n" + ] + } + ], + "source": [ + "# we can immediately identify that most columns have 2 NaN values. Will do a test to check whether those values are in the same rows\n", + "\n", + "assumption_columns = [\n", + " \"destination\",\n", + " \"destination_city\",\n", + " \"start_date\",\n", + " \"end_date\",\n", + " \"duration_days\",\n", + " \"traveler_name\",\n", + " \"traveler_age\",\n", + " \"traveler_gender\",\n", + " \"traveler_nationality\",\n", + " \"accommodation_type\",\n", + " \"accommodation_cost\"\n", + "]\n", + "\n", + "all_null_test = travel_trip_christos_df[assumption_columns].isna().all(axis=1)\n", + "all_null_count = all_null_test.sum()\n", + "print(all_null_count)" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "id": "caafe407-12f0-4c5c-a634-b60ebfa47211", + "metadata": {}, + "outputs": [], + "source": [ + "# our assumption is true, those two rows are fully empty and we can drop them" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "id": "13c1c566-2d51-4926-865c-ee58cb1db1eb", + "metadata": {}, + "outputs": [], + "source": [ + "travel_trip_christos_df = travel_trip_christos_df.dropna(thresh=2)" + ] + }, + { + "cell_type": "markdown", + "id": "cd0f77de-fee7-410a-a798-5da331383694", + "metadata": {}, + "source": [ + "### Checking for duplicates" + ] + }, + { + "cell_type": "code", + "execution_count": 101, + "id": "dc4b639d-8eb6-4b95-9c65-a902de787eea", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "np.int64(0)" + ] + }, + "execution_count": 101, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_christos_df.duplicated().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "id": "64966465-7f5d-4a19-bf2d-259418620964", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "np.int64(28)" + ] + }, + "execution_count": 70, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_christos_df.traveler_name.duplicated().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "id": "d554abd2-34aa-4e27-be66-47c840f0e7ab", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "109" + ] + }, + "execution_count": 71, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_christos_df.traveler_name.nunique()" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "id": "743571d4-a2f9-489c-88e4-445300dfbf3d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['John Smith', 'Jane Doe', 'David Lee', 'Sarah Johnson',\n", + " 'Kim Nguyen', 'Michael Brown', 'Emily Davis', 'Lucas Santos',\n", + " 'Laura Janssen', 'Mohammed Ali', 'Ana Hernandez', 'Carlos Garcia',\n", + " 'Lily Wong', 'Hans Mueller', 'Fatima Khouri', 'James MacKenzie',\n", + " 'Michael Chang', 'Olivia Rodriguez', 'Kenji Nakamura', 'Emily Lee',\n", + " 'James Wilson', 'Sofia Russo', 'Raj Patel', 'Lily Nguyen',\n", + " 'David Kim', 'Maria Garcia', 'Alice Smith', 'Bob Johnson',\n", + " 'Charlie Lee', 'Emma Davis', 'Olivia Martin', 'Harry Wilson',\n", + " 'Sophia Lee', 'James Brown', 'Mia Johnson', 'William Davis',\n", + " 'Amelia Brown', 'Adam Lee', 'Sarah Wong', 'Maria Silva',\n", + " 'Peter Brown', 'Emma Garcia', 'Michael Davis', 'Nina Patel',\n", + " 'Kevin Kim', 'Laura van den Berg', 'Jennifer Nguyen', 'Rachel Lee',\n", + " 'Jessica Wong', 'Felipe Almeida', 'Nisa Patel', 'Ben Smith',\n", + " 'Laura Gomez', 'Park Min Woo', 'Michael Chen', 'Sofia Rossi',\n", + " 'Rachel Sanders', 'Emily Watson', 'Ana Rodriguez', 'Tom Wilson',\n", + " 'Olivia Green', 'James Chen', 'Lila Patel', 'Marco Rossi',\n", + " 'Sarah Brown', 'Sarah Lee', 'Alex Kim', 'Maria Hernandez',\n", + " 'Mark Johnson', 'Amanda Chen', 'Nana Kwon', 'Tom Hanks',\n", + " 'Emma Watson', 'James Kim', 'Fatima Ahmed', 'Liam Nguyen',\n", + " 'Giulia Rossi', 'Putra Wijaya', 'Kim Min-ji', 'Emily Johnson',\n", + " 'Michael Wong', 'Jessica Chen', 'Ken Tanaka', 'Rodrigo Oliveira',\n", + " 'Olivia Kim', 'Robert Mueller', 'Lisa Chen', 'Emily Wong',\n", + " 'Mark Tan', 'Emma Lee', 'George Chen', 'Sophia Kim', 'Alex Ng',\n", + " 'Cindy Chen', 'Emily Kim', 'Frank Li', 'Gina Lee', 'Henry Kim',\n", + " 'Isabella Chen', 'Jack Smith', 'Katie Johnson', 'John Doe',\n", + " 'Jane Smith', 'Michael Johnson', 'Jose Perez', 'Emma Wilson',\n", + " 'Ryan Chen', 'Sofia Rodriguez', 'William Brown'], dtype=object)" + ] + }, + "execution_count": 72, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_christos_df.traveler_name.unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "id": "07f19434-f40b-4e91-bacf-97534a93d48d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['john smith', 'jane doe', 'david lee', 'sarah johnson',\n", + " 'kim nguyen', 'michael brown', 'emily davis', 'lucas santos',\n", + " 'laura janssen', 'mohammed ali', 'ana hernandez', 'carlos garcia',\n", + " 'lily wong', 'hans mueller', 'fatima khouri', 'james mackenzie',\n", + " 'michael chang', 'olivia rodriguez', 'kenji nakamura', 'emily lee',\n", + " 'james wilson', 'sofia russo', 'raj patel', 'lily nguyen',\n", + " 'david kim', 'maria garcia', 'alice smith', 'bob johnson',\n", + " 'charlie lee', 'emma davis', 'olivia martin', 'harry wilson',\n", + " 'sophia lee', 'james brown', 'mia johnson', 'william davis',\n", + " 'amelia brown', 'adam lee', 'sarah wong', 'maria silva',\n", + " 'peter brown', 'emma garcia', 'michael davis', 'nina patel',\n", + " 'kevin kim', 'laura van den berg', 'jennifer nguyen', 'rachel lee',\n", + " 'jessica wong', 'felipe almeida', 'nisa patel', 'ben smith',\n", + " 'laura gomez', 'park min woo', 'michael chen', 'sofia rossi',\n", + " 'rachel sanders', 'emily watson', 'ana rodriguez', 'tom wilson',\n", + " 'olivia green', 'james chen', 'lila patel', 'marco rossi',\n", + " 'sarah brown', 'sarah lee', 'alex kim', 'maria hernandez',\n", + " 'mark johnson', 'amanda chen', 'nana kwon', 'tom hanks',\n", + " 'emma watson', 'james kim', 'fatima ahmed', 'liam nguyen',\n", + " 'giulia rossi', 'putra wijaya', 'kim min ji', 'emily johnson',\n", + " 'michael wong', 'jessica chen', 'ken tanaka', 'rodrigo oliveira',\n", + " 'olivia kim', 'robert mueller', 'lisa chen', 'emily wong',\n", + " 'mark tan', 'emma lee', 'george chen', 'sophia kim', 'alex ng',\n", + " 'cindy chen', 'emily kim', 'frank li', 'gina lee', 'henry kim',\n", + " 'isabella chen', 'jack smith', 'katie johnson', 'john doe',\n", + " 'jane smith', 'michael johnson', 'jose perez', 'emma wilson',\n", + " 'ryan chen', 'sofia rodriguez', 'william brown'], dtype=object)" + ] + }, + "execution_count": 73, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# I will make sure that the column traveler_name is lowercased and stripped from double spaces or dashes, just in case this might hide more duplicates\n", + "# ideally, when you created travel_trip_christos_df, you already did:\n", + "# travel_trip_christos_df = original_df[...].copy()\n", + "\n", + "travel_trip_christos_df.loc[:, \"traveler_name\"] = (\n", + " travel_trip_christos_df[\"traveler_name\"]\n", + " .str.strip() # trims whitespace at both ends\n", + " .str.replace(\"-\", \" \", regex=False) # replace hyphen with space\n", + " .str.lower()\n", + ")\n", + "travel_trip_christos_df.traveler_name.unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "id": "0212cf0f-6f93-4e04-807a-47520e38914b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "np.int64(28)" + ] + }, + "execution_count": 74, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_christos_df.traveler_name.duplicated().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "id": "f2fa8293-8ecb-416d-b7b4-d7181942951d", + "metadata": {}, + "outputs": [], + "source": [ + "# we can see that there are no exact full string duplicates of the column traveler_name. \n", + "# The number 29 above probalby comes from partial dupication, like only first name or only last name" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "id": "83c5031e-29d0-493f-adb3-08236d85504d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "destination 0\n", + "trip_id 0\n", + "destination_country 66\n", + "destination_city 0\n", + "start_date 0\n", + "end_date 0\n", + "duration_days 0\n", + "traveler_name 0\n", + "traveler_age 0\n", + "traveler_gender 0\n", + "traveler_nationality 0\n", + "accommodation_type 0\n", + "accommodation_cost 0\n", + "transportation_type 1\n", + "transportation_cost 1\n", + "dtype: int64" + ] + }, + "execution_count": 76, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_christos_df.isnull().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "id": "6a636a58-87df-4df2-8edd-2056952b9d05", + "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", + "
destinationtrip_iddestination_countrydestination_citystart_dateend_dateduration_daystraveler_nametraveler_agetraveler_gendertraveler_nationalityaccommodation_typeaccommodation_costtransportation_typetransportation_cost
82Rome, Italy83ItalyRome4/15/20254/22/20257.0james kim41.0MaleAmericanHotel100NaNNaN
\n", + "
" + ], + "text/plain": [ + " destination trip_id destination_country destination_city start_date \\\n", + "82 Rome, Italy 83 Italy Rome 4/15/2025 \n", + "\n", + " end_date duration_days traveler_name traveler_age traveler_gender \\\n", + "82 4/22/2025 7.0 james kim 41.0 Male \n", + "\n", + " traveler_nationality accommodation_type accommodation_cost \\\n", + "82 American Hotel 100 \n", + "\n", + " transportation_type transportation_cost \n", + "82 NaN NaN " + ] + }, + "execution_count": 77, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# let's find out the NaN values in \n", + "mask = travel_trip_christos_df[\"transportation_type\"].isna() & \\\n", + " travel_trip_christos_df[\"transportation_cost\"].isna()\n", + "\n", + "travel_trip_christos_df[mask]\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 78, + "id": "77be8df9-eef7-4374-8477-0d2b55e6901b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "destination object\n", + "trip_id int64\n", + "destination_country object\n", + "destination_city object\n", + "start_date object\n", + "end_date object\n", + "duration_days float64\n", + "traveler_name object\n", + "traveler_age float64\n", + "traveler_gender object\n", + "traveler_nationality object\n", + "accommodation_type object\n", + "accommodation_cost object\n", + "transportation_type object\n", + "transportation_cost object\n", + "dtype: object" + ] + }, + "execution_count": 78, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_christos_df.dtypes" + ] + }, + { + "cell_type": "code", + "execution_count": 79, + "id": "de17fc4b-030b-47ab-9fbd-e2701d23568b", + "metadata": {}, + "outputs": [], + "source": [ + "# for transportation type and transportation_cost NaN values, we will group by destination_city and calculate the count of transportation_type and mean transportation_cost, and filter for Rome.\n", + "\n", + "# we will need to cast the data type of the column transportation_cost to float, before we can proceed with grouping.\n", + "\n", + "# for this to happen we will need to clean the column transportation_cost" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "id": "6913f7b3-51ea-485d-bc35-04026cff7b18", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['600', '500', '700', '1000', '200', '800', '1200', '100', '400',\n", + " '150', '$400 ', '$700 ', '$150 ', '$800 ', '$100 ', '$600 ',\n", + " '$80 ', '$500 ', '$300 ', '$50 ', '$120 ', '$75 ', '900', '50',\n", + " '$200 ', '$250 ', '$20 ', '300', '800 USD', '200 USD', '500 USD',\n", + " '700 USD', '300 USD', '600 USD', '400 USD', '1000 USD', nan,\n", + " '100 USD', '350 USD', '150 USD', '$1,200 ', '$900 ', '$1,500 ',\n", + " '$1,000 ', '250', '2500', '1500', '2000', '3000'], dtype=object)" + ] + }, + "execution_count": 80, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_christos_df.transportation_cost.unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "id": "a5896df5-f63f-4efc-8bea-9dc1a7f35eb7", + "metadata": {}, + "outputs": [], + "source": [ + "# we will need to remove anything but the numbers" + ] + }, + { + "cell_type": "code", + "execution_count": 82, + "id": "e28ce23d-fe62-4efe-aa17-435e908887f3", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([600.0, 500.0, 700.0, 1000.0, 200.0, 800.0, 1200.0, 100.0, 400.0,\n", + " 150.0, 80.0, 300.0, 50.0, 120.0, 75.0, 900.0, 250.0, 20.0, nan,\n", + " 350.0, 1500.0, 2500.0, 2000.0, 3000.0], dtype=object)" + ] + }, + "execution_count": 82, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_christos_df.loc[:, \"transportation_cost\"] = (\n", + " travel_trip_christos_df[\"transportation_cost\"]\n", + " .astype(str) # in case there are numbers/NaN in there\n", + " .str.strip()\n", + " .str.strip(\"$\")\n", + " .str.replace(\",\", \"\", regex=False)\n", + " .str.replace(\" USD\", \"\", regex=False)\n", + " .str.strip()\n", + ")\n", + "\n", + "travel_trip_christos_df.loc[:, \"transportation_cost\"] = pd.to_numeric(\n", + " travel_trip_christos_df[\"transportation_cost\"],\n", + " errors=\"coerce\"\n", + ")\n", + "\n", + "travel_trip_christos_df.transportation_cost.unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "id": "3bdbfd84-e3c0-43b7-ad54-95494d446afb", + "metadata": {}, + "outputs": [], + "source": [ + "# assuming travel_trip_christos_df was created with .copy() earlier\n", + "#travel_trip_christos_df.loc[:, \"transportation_cost\"] = (\n", + "# travel_trip_christos_df[\"transportation_cost\"]\n", + "# .fillna(\"0\")\n", + "# )\n", + "\n", + "# travel_trip_christos_df.transportation_cost.unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 84, + "id": "58380656-bd6b-45f2-8a5d-b319b1f6ba9a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "destination object\n", + "trip_id int64\n", + "destination_country object\n", + "destination_city object\n", + "start_date object\n", + "end_date object\n", + "duration_days float64\n", + "traveler_name object\n", + "traveler_age float64\n", + "traveler_gender object\n", + "traveler_nationality object\n", + "accommodation_type object\n", + "accommodation_cost object\n", + "transportation_type object\n", + "transportation_cost object\n", + "dtype: object" + ] + }, + "execution_count": 84, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# now we cast, in order to be able to group later\n", + "\n", + "travel_trip_christos_df.loc[:, \"transportation_cost\"] = (\n", + " travel_trip_christos_df[\"transportation_cost\"].astype(\"Int64\")\n", + ")\n", + "\n", + "travel_trip_christos_df.dtypes" + ] + }, + { + "cell_type": "code", + "execution_count": 85, + "id": "9628c441-a06e-4d19-a130-269c65090c8f", + "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", + "
transportation_type_counttransportation_cost_mean
destination_citytransportation_type
RomePlane2625.0
Train6405.0
\n", + "
" + ], + "text/plain": [ + " transportation_type_count \\\n", + "destination_city transportation_type \n", + "Rome Plane 2 \n", + " Train 6 \n", + "\n", + " transportation_cost_mean \n", + "destination_city transportation_type \n", + "Rome Plane 625.0 \n", + " Train 405.0 " + ] + }, + "execution_count": 85, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# for transportation type and transportation_cost NaN values, we will group by destination_city and calculate the count of transportation_type and mean transportation_cost, and filter for Rome.\n", + "\n", + "grouped_df = (travel_trip_christos_df.groupby([\"destination_city\", \"transportation_type\"]).agg(transportation_type_count = (\"transportation_type\", \"count\"), transportation_cost_mean = (\"transportation_cost\", \"mean\")))\n", + "filtered_grouped_df = grouped_df.loc[[\"Rome\"]]\n", + "filtered_grouped_df" + ] + }, + { + "cell_type": "code", + "execution_count": 86, + "id": "1f658817-fc59-4144-8b15-4489e2a101b0", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "np.int64(0)" + ] + }, + "execution_count": 86, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# therefore, we will fill the empty values transportation_type with \"Train\", and transportation_cost with \"405.0\"\n", + "travel_trip_christos_df.loc[:, \"transportation_type\"] = (\n", + " travel_trip_christos_df[\"transportation_type\"].fillna(\"Train\")\n", + ")\n", + "\n", + "travel_trip_christos_df.transportation_type.isnull().sum()\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 87, + "id": "96e60c97-5c0e-478f-b67a-ad331219e1c3", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/13/s00136yd6q5bvv6x74_x_m204g4004/T/ipykernel_33666/4279038090.py:3: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`\n", + " travel_trip_christos_df[\"transportation_cost\"].fillna(405.0)\n" + ] + }, + { + "data": { + "text/plain": [ + "np.int64(0)" + ] + }, + "execution_count": 87, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# now let's replace the 0 we placed before in place of NaN, with the mean value.\n", + "travel_trip_christos_df.loc[:, \"transportation_cost\"] = (\n", + " travel_trip_christos_df[\"transportation_cost\"].fillna(405.0)\n", + ")\n", + "\n", + "travel_trip_christos_df.transportation_cost.isnull().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 88, + "id": "6e0c78f9-b504-491d-be01-4cab9cf833a4", + "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", + "
destinationtrip_iddestination_countrydestination_citystart_dateend_dateduration_daystraveler_nametraveler_agetraveler_gendertraveler_nationalityaccommodation_typeaccommodation_costtransportation_typetransportation_cost
0London, UK1UKLondon5/1/20235/8/20237.0john smith35.0MaleAmericanHotel1200Flight600.0
1Phuket, Thailand2ThailandPhuket6/15/20236/20/20235.0jane doe28.0FemaleCanadianResort800Flight500.0
2Bali, Indonesia3IndonesiaBali7/1/20237/8/20237.0david lee45.0MaleKoreanVilla1000Flight700.0
3New York, USA4USANew York8/15/20238/29/202314.0sarah johnson29.0FemaleBritishHotel2000Flight1000.0
4Tokyo, Japan5JapanTokyo9/10/20239/17/20237.0kim nguyen26.0FemaleVietnameseAirbnb700Train200.0
................................................
134Rio de Janeiro, Brazil135BrazilRio de Janeiro8/1/20238/10/20239.0jose perez37.0MaleBrazilianHostel2500Car2000.0
135Vancouver, Canada136CanadaVancouver8/15/20238/21/20236.0emma wilson29.0FemaleCanadianHotel5000Airplane3000.0
136Bangkok, Thailand137ThailandBangkok9/1/20239/8/20237.0ryan chen34.0MaleChineseHostel2000Train1000.0
137Barcelona, Spain138SpainBarcelona9/15/20239/22/20237.0sofia rodriguez25.0FemaleSpanishAirbnb6000Airplane2500.0
138Auckland, New Zealand139New ZealandAuckland10/1/202310/8/20237.0william brown39.0MaleNew ZealanderHotel7000Train2500.0
\n", + "

137 rows × 15 columns

\n", + "
" + ], + "text/plain": [ + " destination trip_id destination_country destination_city \\\n", + "0 London, UK 1 UK London \n", + "1 Phuket, Thailand 2 Thailand Phuket \n", + "2 Bali, Indonesia 3 Indonesia Bali \n", + "3 New York, USA 4 USA New York \n", + "4 Tokyo, Japan 5 Japan Tokyo \n", + ".. ... ... ... ... \n", + "134 Rio de Janeiro, Brazil 135 Brazil Rio de Janeiro \n", + "135 Vancouver, Canada 136 Canada Vancouver \n", + "136 Bangkok, Thailand 137 Thailand Bangkok \n", + "137 Barcelona, Spain 138 Spain Barcelona \n", + "138 Auckland, New Zealand 139 New Zealand Auckland \n", + "\n", + " start_date end_date duration_days traveler_name traveler_age \\\n", + "0 5/1/2023 5/8/2023 7.0 john smith 35.0 \n", + "1 6/15/2023 6/20/2023 5.0 jane doe 28.0 \n", + "2 7/1/2023 7/8/2023 7.0 david lee 45.0 \n", + "3 8/15/2023 8/29/2023 14.0 sarah johnson 29.0 \n", + "4 9/10/2023 9/17/2023 7.0 kim nguyen 26.0 \n", + ".. ... ... ... ... ... \n", + "134 8/1/2023 8/10/2023 9.0 jose perez 37.0 \n", + "135 8/15/2023 8/21/2023 6.0 emma wilson 29.0 \n", + "136 9/1/2023 9/8/2023 7.0 ryan chen 34.0 \n", + "137 9/15/2023 9/22/2023 7.0 sofia rodriguez 25.0 \n", + "138 10/1/2023 10/8/2023 7.0 william brown 39.0 \n", + "\n", + " traveler_gender traveler_nationality accommodation_type \\\n", + "0 Male American Hotel \n", + "1 Female Canadian Resort \n", + "2 Male Korean Villa \n", + "3 Female British Hotel \n", + "4 Female Vietnamese Airbnb \n", + ".. ... ... ... \n", + "134 Male Brazilian Hostel \n", + "135 Female Canadian Hotel \n", + "136 Male Chinese Hostel \n", + "137 Female Spanish Airbnb \n", + "138 Male New Zealander Hotel \n", + "\n", + " accommodation_cost transportation_type transportation_cost \n", + "0 1200 Flight 600.0 \n", + "1 800 Flight 500.0 \n", + "2 1000 Flight 700.0 \n", + "3 2000 Flight 1000.0 \n", + "4 700 Train 200.0 \n", + ".. ... ... ... \n", + "134 2500 Car 2000.0 \n", + "135 5000 Airplane 3000.0 \n", + "136 2000 Train 1000.0 \n", + "137 6000 Airplane 2500.0 \n", + "138 7000 Train 2500.0 \n", + "\n", + "[137 rows x 15 columns]" + ] + }, + "execution_count": 88, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_christos_df" + ] + }, + { + "cell_type": "code", + "execution_count": 89, + "id": "a926c2de-009a-42e8-894a-9da707627077", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'FlightTrainPlaneBusCar rentalSubwayCarFerryAirplane'" + ] + }, + "execution_count": 89, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# let's quickly check the transportation_types\n", + "\n", + "travel_trip_christos_df.transportation_type.unique().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "id": "2529893b-1e8b-4828-9c9b-c6d918413bce", + "metadata": {}, + "outputs": [], + "source": [ + "# do we need to also change \"Subway\" to train? Maybe, who travels to a city using a subway, subways are intra city transportation modes." + ] + }, + { + "cell_type": "code", + "execution_count": 91, + "id": "f78c1e93-d5ac-4d48-ba8a-db6af09fce44", + "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", + "
transportation_type_counttransportation_cost_mean
transportation_type
Subway120.0
Train38346.184211
\n", + "
" + ], + "text/plain": [ + " transportation_type_count transportation_cost_mean\n", + "transportation_type \n", + "Subway 1 20.0\n", + "Train 38 346.184211" + ] + }, + "execution_count": 91, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "subway_df = travel_trip_christos_df.groupby(\"transportation_type\").agg(transportation_type_count = (\"transportation_type\", \"count\"), transportation_cost_mean = (\"transportation_cost\", \"mean\"))\n", + "filtered_subway_df = subway_df.loc[[\"Subway\", \"Train\"]]\n", + "filtered_subway_df" + ] + }, + { + "cell_type": "code", + "execution_count": 92, + "id": "0c50f0b0-ba4d-47db-8f81-5555bb6d786b", + "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", + "
destinationtrip_iddestination_countrydestination_citystart_dateend_dateduration_daystraveler_nametraveler_agetraveler_gendertraveler_nationalityaccommodation_typeaccommodation_costtransportation_typetransportation_cost
57Seoul, South Korea58South KoreaSeoul5/10/20245/18/20248.0park min woo27.0MaleSouth KoreanHostel$500Subway20.0
\n", + "
" + ], + "text/plain": [ + " destination trip_id destination_country destination_city \\\n", + "57 Seoul, South Korea 58 South Korea Seoul \n", + "\n", + " start_date end_date duration_days traveler_name traveler_age \\\n", + "57 5/10/2024 5/18/2024 8.0 park min woo 27.0 \n", + "\n", + " traveler_gender traveler_nationality accommodation_type accommodation_cost \\\n", + "57 Male South Korean Hostel $500 \n", + "\n", + " transportation_type transportation_cost \n", + "57 Subway 20.0 " + ] + }, + "execution_count": 92, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_christos_df[travel_trip_christos_df[\"transportation_type\"] == \"Subway\"]\n" + ] + }, + { + "cell_type": "code", + "execution_count": 93, + "id": "0b6bebb9-c8ac-495b-b76f-cb10630b7c55", + "metadata": {}, + "outputs": [], + "source": [ + "# Subway seems to be an outlier data, but let's check at least if the transportation_cost of the \"Subway\" is at least close to the minimum cost for \"Train\"" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "id": "a9be2ef9-9390-4c8e-a160-b701e5cd9815", + "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", + "
transportation_type_counttransportation_cost_min
transportation_type
Subway120.0
Train3880.0
\n", + "
" + ], + "text/plain": [ + " transportation_type_count transportation_cost_min\n", + "transportation_type \n", + "Subway 1 20.0\n", + "Train 38 80.0" + ] + }, + "execution_count": 94, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "subway_df = travel_trip_christos_df.groupby(\"transportation_type\").agg(transportation_type_count = (\"transportation_type\", \"count\"), transportation_cost_min = (\"transportation_cost\", \"min\"))\n", + "filtered_subway_df = subway_df.loc[[\"Subway\", \"Train\"]]\n", + "filtered_subway_df" + ] + }, + { + "cell_type": "code", + "execution_count": 95, + "id": "f74e1dcc-3c6c-41fa-a168-45e24076e656", + "metadata": {}, + "outputs": [], + "source": [ + "# this is not the case, therefore, we will exclude it from our calculations of \"Train\"" + ] + }, + { + "cell_type": "code", + "execution_count": 96, + "id": "a1d31b3c-fe13-4f3d-a4c3-924af8a012cd", + "metadata": {}, + "outputs": [], + "source": [ + "# and \"Car\" and \"Car rental\" under \"Car\"?" + ] + }, + { + "cell_type": "code", + "execution_count": 97, + "id": "5801b326-635a-4be9-b759-3f3a672e681a", + "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", + "
transportation_type_counttransportation_cost_min
transportation_type
Car rental13200.0
Car3300.0
\n", + "
" + ], + "text/plain": [ + " transportation_type_count transportation_cost_min\n", + "transportation_type \n", + "Car rental 13 200.0\n", + "Car 3 300.0" + ] + }, + "execution_count": 97, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "car_df = travel_trip_christos_df.groupby(\"transportation_type\").agg(transportation_type_count = (\"transportation_type\", \"count\"), transportation_cost_mean = (\"transportation_cost\", \"mean\"))\n", + "filtered_car_df = subway_df.loc[[\"Car rental\", \"Car\"]]\n", + "filtered_car_df" + ] + }, + { + "cell_type": "code", + "execution_count": 98, + "id": "8919054b-82f5-478c-a799-4da6ef741cca", + "metadata": {}, + "outputs": [], + "source": [ + "# no, we see that there is a massive difference in the mean cost between the two categories, suggesting that it is indeed two different transportation modes. \n", + "# Car rental suggests that someone rented a car at the destnation, where car probably indicates that someone did a road trip using a car to destination.\n" + ] + }, + { + "cell_type": "markdown", + "id": "d7b7ff99-5f4d-4031-9a75-14aab6ed07a1", + "metadata": {}, + "source": [ + "### Merging equivalent transportations types" + ] + }, + { + "cell_type": "code", + "execution_count": 99, + "id": "b3a35a1c-7124-45b7-8c8f-b745c5a5450d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['Flight', 'Train', 'Airplane', 'Bus', 'Rental Car', 'Subway',\n", + " 'Private Car', 'Ferry'], dtype=object)" + ] + }, + "execution_count": 99, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# ok, we will merge \"Plane\" and \"Airplane\" under \"Airplane\", and \"Car rental\" to \"Rental Car\", and \"Car\" to \"Private Car\"\n", + "travel_trip_christos_df.loc[:, \"transportation_type\"] = (\n", + " travel_trip_christos_df[\"transportation_type\"]\n", + " .replace({\"Plane\": \"Airplane\"})\n", + ")\n", + "\n", + "travel_trip_christos_df.loc[:, \"transportation_type\"] = (\n", + " travel_trip_christos_df[\"transportation_type\"]\n", + " .replace({\"Car rental\": \"Rental Car\"})\n", + ")\n", + "\n", + "travel_trip_christos_df.loc[:, \"transportation_type\"] = (\n", + " travel_trip_christos_df[\"transportation_type\"]\n", + " .replace({\"Car\": \"Private Car\"})\n", + ")\n", + "\n", + "travel_trip_christos_df[\"transportation_type\"].unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 100, + "id": "bd76ad1c-08b2-4712-9143-c93320760674", + "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", + "
destinationtrip_iddestination_countrydestination_citystart_dateend_dateduration_daystraveler_nametraveler_agetraveler_gendertraveler_nationalityaccommodation_typeaccommodation_costtransportation_typetransportation_cost
0London, UK1UKLondon5/1/20235/8/20237.0john smith35.0MaleAmericanHotel1200Flight600.0
1Phuket, Thailand2ThailandPhuket6/15/20236/20/20235.0jane doe28.0FemaleCanadianResort800Flight500.0
2Bali, Indonesia3IndonesiaBali7/1/20237/8/20237.0david lee45.0MaleKoreanVilla1000Flight700.0
3New York, USA4USANew York8/15/20238/29/202314.0sarah johnson29.0FemaleBritishHotel2000Flight1000.0
4Tokyo, Japan5JapanTokyo9/10/20239/17/20237.0kim nguyen26.0FemaleVietnameseAirbnb700Train200.0
5Paris, France6FranceParis10/5/202310/10/20235.0michael brown42.0MaleAmericanHotel1500Flight800.0
6Sydney, Australia7AustraliaSydney11/20/202311/30/202310.0emily davis33.0FemaleAustralianHostel500Flight1200.0
7Rio de Janeiro, Brazil8BrazilRio de Janeiro1/5/20241/12/20247.0lucas santos25.0MaleBrazilianAirbnb900Flight600.0
8Amsterdam, Netherlands9NetherlandsAmsterdam2/14/20242/21/20247.0laura janssen31.0FemaleDutchHotel1200Train200.0
9Dubai, United Arab Emirates10United Arab EmiratesDubai3/10/20243/17/20247.0mohammed ali39.0MaleEmiratiResort2500Flight800.0
\n", + "
" + ], + "text/plain": [ + " destination trip_id destination_country \\\n", + "0 London, UK 1 UK \n", + "1 Phuket, Thailand 2 Thailand \n", + "2 Bali, Indonesia 3 Indonesia \n", + "3 New York, USA 4 USA \n", + "4 Tokyo, Japan 5 Japan \n", + "5 Paris, France 6 France \n", + "6 Sydney, Australia 7 Australia \n", + "7 Rio de Janeiro, Brazil 8 Brazil \n", + "8 Amsterdam, Netherlands 9 Netherlands \n", + "9 Dubai, United Arab Emirates 10 United Arab Emirates \n", + "\n", + " destination_city start_date end_date duration_days traveler_name \\\n", + "0 London 5/1/2023 5/8/2023 7.0 john smith \n", + "1 Phuket 6/15/2023 6/20/2023 5.0 jane doe \n", + "2 Bali 7/1/2023 7/8/2023 7.0 david lee \n", + "3 New York 8/15/2023 8/29/2023 14.0 sarah johnson \n", + "4 Tokyo 9/10/2023 9/17/2023 7.0 kim nguyen \n", + "5 Paris 10/5/2023 10/10/2023 5.0 michael brown \n", + "6 Sydney 11/20/2023 11/30/2023 10.0 emily davis \n", + "7 Rio de Janeiro 1/5/2024 1/12/2024 7.0 lucas santos \n", + "8 Amsterdam 2/14/2024 2/21/2024 7.0 laura janssen \n", + "9 Dubai 3/10/2024 3/17/2024 7.0 mohammed ali \n", + "\n", + " traveler_age traveler_gender traveler_nationality accommodation_type \\\n", + "0 35.0 Male American Hotel \n", + "1 28.0 Female Canadian Resort \n", + "2 45.0 Male Korean Villa \n", + "3 29.0 Female British Hotel \n", + "4 26.0 Female Vietnamese Airbnb \n", + "5 42.0 Male American Hotel \n", + "6 33.0 Female Australian Hostel \n", + "7 25.0 Male Brazilian Airbnb \n", + "8 31.0 Female Dutch Hotel \n", + "9 39.0 Male Emirati Resort \n", + "\n", + " accommodation_cost transportation_type transportation_cost \n", + "0 1200 Flight 600.0 \n", + "1 800 Flight 500.0 \n", + "2 1000 Flight 700.0 \n", + "3 2000 Flight 1000.0 \n", + "4 700 Train 200.0 \n", + "5 1500 Flight 800.0 \n", + "6 500 Flight 1200.0 \n", + "7 900 Flight 600.0 \n", + "8 1200 Train 200.0 \n", + "9 2500 Flight 800.0 " + ] + }, + "execution_count": 100, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_christos_df.head(10)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python [conda env:base] *", + "language": "python", + "name": "conda-base-py" + }, + "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.13.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 3cfcf2a51141433e404a77d20a118a504be128c3 Mon Sep 17 00:00:00 2001 From: Safina E Jahan Date: Mon, 8 Dec 2025 17:19:25 +0100 Subject: [PATCH 03/14] safina branch monday --- notebooks/travel_trip_data_safina.ipynb | 1641 +++++++++++++++++++++++ 1 file changed, 1641 insertions(+) create mode 100644 notebooks/travel_trip_data_safina.ipynb diff --git a/notebooks/travel_trip_data_safina.ipynb b/notebooks/travel_trip_data_safina.ipynb new file mode 100644 index 00000000..bcf87741 --- /dev/null +++ b/notebooks/travel_trip_data_safina.ipynb @@ -0,0 +1,1641 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 6, + "id": "c1e3f75d-b81e-42fe-bf48-cfe7e84ad8c9", + "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", + "
Trip IDDestinationStart dateEnd dateDuration (days)Traveler nameTraveler ageTraveler genderTraveler nationalityAccommodation typeAccommodation costTransportation typeTransportation cost
01London, UK5/1/20235/8/20237.0John Smith35.0MaleAmericanHotel1200Flight600
12Phuket, Thailand6/15/20236/20/20235.0Jane Doe28.0FemaleCanadianResort800Flight500
23Bali, Indonesia7/1/20237/8/20237.0David Lee45.0MaleKoreanVilla1000Flight700
34New York, USA8/15/20238/29/202314.0Sarah Johnson29.0FemaleBritishHotel2000Flight1000
45Tokyo, Japan9/10/20239/17/20237.0Kim Nguyen26.0FemaleVietnameseAirbnb700Train200
56Paris, France10/5/202310/10/20235.0Michael Brown42.0MaleAmericanHotel1500Flight800
67Sydney, Australia11/20/202311/30/202310.0Emily Davis33.0FemaleAustralianHostel500Flight1200
78Rio de Janeiro, Brazil1/5/20241/12/20247.0Lucas Santos25.0MaleBrazilianAirbnb900Flight600
89Amsterdam, Netherlands2/14/20242/21/20247.0Laura Janssen31.0FemaleDutchHotel1200Train200
910Dubai, United Arab Emirates3/10/20243/17/20247.0Mohammed Ali39.0MaleEmiratiResort2500Flight800
\n", + "
" + ], + "text/plain": [ + " Trip ID Destination Start date End date \\\n", + "0 1 London, UK 5/1/2023 5/8/2023 \n", + "1 2 Phuket, Thailand 6/15/2023 6/20/2023 \n", + "2 3 Bali, Indonesia 7/1/2023 7/8/2023 \n", + "3 4 New York, USA 8/15/2023 8/29/2023 \n", + "4 5 Tokyo, Japan 9/10/2023 9/17/2023 \n", + "5 6 Paris, France 10/5/2023 10/10/2023 \n", + "6 7 Sydney, Australia 11/20/2023 11/30/2023 \n", + "7 8 Rio de Janeiro, Brazil 1/5/2024 1/12/2024 \n", + "8 9 Amsterdam, Netherlands 2/14/2024 2/21/2024 \n", + "9 10 Dubai, United Arab Emirates 3/10/2024 3/17/2024 \n", + "\n", + " Duration (days) Traveler name Traveler age Traveler gender \\\n", + "0 7.0 John Smith 35.0 Male \n", + "1 5.0 Jane Doe 28.0 Female \n", + "2 7.0 David Lee 45.0 Male \n", + "3 14.0 Sarah Johnson 29.0 Female \n", + "4 7.0 Kim Nguyen 26.0 Female \n", + "5 5.0 Michael Brown 42.0 Male \n", + "6 10.0 Emily Davis 33.0 Female \n", + "7 7.0 Lucas Santos 25.0 Male \n", + "8 7.0 Laura Janssen 31.0 Female \n", + "9 7.0 Mohammed Ali 39.0 Male \n", + "\n", + " Traveler nationality Accommodation type Accommodation cost \\\n", + "0 American Hotel 1200 \n", + "1 Canadian Resort 800 \n", + "2 Korean Villa 1000 \n", + "3 British Hotel 2000 \n", + "4 Vietnamese Airbnb 700 \n", + "5 American Hotel 1500 \n", + "6 Australian Hostel 500 \n", + "7 Brazilian Airbnb 900 \n", + "8 Dutch Hotel 1200 \n", + "9 Emirati Resort 2500 \n", + "\n", + " Transportation type Transportation cost \n", + "0 Flight 600 \n", + "1 Flight 500 \n", + "2 Flight 700 \n", + "3 Flight 1000 \n", + "4 Train 200 \n", + "5 Flight 800 \n", + "6 Flight 1200 \n", + "7 Flight 600 \n", + "8 Train 200 \n", + "9 Flight 800 " + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_data = \"../data/raw/Travel details dataset.csv\"\n", + "travel_trip_safina_df = pd.read_csv(travel_trip_data, encoding='ISO-8859-1')\n", + "travel_trip_safina_df.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "c0ab5b41-86e2-43e4-bc90-5c21be0a6b4e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['Trip ID', 'Destination', 'Start date', 'End date', 'Duration (days)',\n", + " 'Traveler name', 'Traveler age', 'Traveler gender',\n", + " 'Traveler nationality', 'Accommodation type', 'Accommodation cost',\n", + " 'Transportation type', 'Transportation cost'],\n", + " dtype='object')" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_safina_df.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "25725ab6-a864-4979-a60d-fa7e135b5424", + "metadata": {}, + "outputs": [], + "source": [ + "travel_trip_safina_df.columns = travel_trip_safina_df.columns.str.replace(\"\", \"\", regex=False).str.replace(r\"[()]\", \"\", regex=True).str.strip(\")\").str.replace(\" \",\"_\").str.lower()" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "270c5dec-c800-49fb-aec4-2d736b966d92", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['trip_id', 'destination', 'start_date', 'end_date', 'duration_days',\n", + " 'traveler_name', 'traveler_age', 'traveler_gender',\n", + " 'traveler_nationality', 'accommodation_type', 'accommodation_cost',\n", + " 'transportation_type', 'transportation_cost'],\n", + " dtype='object')" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_safina_df.columns = travel_trip_safina_df.columns.str.replace(\"\", \"\", regex=False).str.replace(r\"[()]\", \"\", regex=True).str.strip(\")\").str.replace(\" \",\"_\").str.lower()\n", + "travel_trip_safina_df.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "f055d801-5c7a-487a-92ee-c5e86fd25571", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "All steps completed successfully with the updated file path.\n", + "DataFrame variable name: travel_trip_safina_df\n", + "Data type of 'end_date': object\n", + "\n", + "First 5 rows of the converted 'end_date' column:\n", + " end_date\n", + "0 2023-05-08\n", + "1 2023-06-20\n", + "2 2023-07-08\n", + "3 2023-08-29\n", + "4 2023-09-17\n" + ] + } + ], + "source": [ + "import pandas as pd\n", + "\n", + "# 1. DEFINE THE CORRECT ABSOLUTE PATH (using r-string for Windows backslashes)\n", + "travel_trip_data = r\"D:\\Ironhack\\Week4\\first_project\\data\\raw\\Travel details dataset.csv\"\n", + "\n", + "# 2. DEFINE COLUMN CLEANING FUNCTION\n", + "def clean_column(name):\n", + " \"\"\"Cleans column names by lowercasing, stripping whitespace, \n", + " replacing spaces with underscores, and removing the BOM character.\"\"\"\n", + " name = name.lower().strip().replace(\" \", \"_\").replace('', '') \n", + " return name\n", + "\n", + "# 3. LOAD DATA\n", + "# Load the data using your variable name, the correct path, and encoding.\n", + "try:\n", + " travel_trip_safina_df = pd.read_csv(travel_trip_data, encoding='ISO-8859-1')\n", + "except FileNotFoundError:\n", + " print(f\"\\nERROR: File not found. Please verify this path exists on your system: {travel_trip_data}\")\n", + " raise # Reraise the error so you can see it clearly\n", + "\n", + "# 4. APPLY COLUMN CLEANING\n", + "travel_trip_safina_df.columns = [clean_column(col) for col in travel_trip_safina_df.columns] \n", + "\n", + "# 5. CLEAN AND CONVERT 'end_date' TO STRING\n", + "# Convert to datetime first (essential cleaning to handle errors/format)\n", + "travel_trip_safina_df['end_date'] = pd.to_datetime(\n", + " travel_trip_safina_df['end_date'], \n", + " errors='coerce'\n", + ")\n", + "\n", + "# Convert the datetime object to the desired string format (YYYY-MM-DD)\n", + "travel_trip_safina_df['end_date'] = travel_trip_safina_df['end_date'].dt.strftime('%Y-%m-%d')\n", + "\n", + "\n", + "# 6. DISPLAY RESULTS\n", + "print(\"All steps completed successfully with the updated file path.\")\n", + "print(f\"DataFrame variable name: travel_trip_safina_df\")\n", + "print(f\"Data type of 'end_date': {travel_trip_safina_df['end_date'].dtype}\")\n", + "print(\"\\nFirst 5 rows of the converted 'end_date' column:\")\n", + "print(travel_trip_safina_df[['end_date']].head())" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "e327943d-a88c-4615-8059-aa9b98a9dff7", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0 2023-05\n", + "1 2023-06\n", + "2 2023-07\n", + "3 2023-08\n", + "4 2023-09\n", + " ... \n", + "134 2023-08\n", + "135 2023-08\n", + "136 2023-09\n", + "137 2023-09\n", + "138 2023-10\n", + "Name: end_date, Length: 139, dtype: object\n" + ] + } + ], + "source": [ + "# Assuming travel_trip_safina_df is loaded and 'end_date' is currently datetime (or has been converted in the steps above).\n", + "\n", + "# Convert the 'end_date' column to datetime first (if not already done)\n", + "travel_trip_safina_df['end_date'] = pd.to_datetime(\n", + " travel_trip_safina_df['end_date'], \n", + " errors='coerce'\n", + ")\n", + "\n", + "# Use .dt.strftime('%Y-%m') to format the date to Year and Month only.\n", + "travel_trip_safina_df['end_date'] = travel_trip_safina_df['end_date'].dt.strftime('%Y-%m')\n", + "\n", + "# Optional: Display the new data type and values\n", + "print(travel_trip_safina_df['end_date'])" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "2fd68450-aad7-460b-b06a-46a4fbae5824", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Data loading and feature engineering complete.\n", + "\n", + "First 5 rows of all date columns:\n", + " start_date start_year start_month end_date end_year end_month\n", + "0 2023-05-01 2023 5 2023-05-08 2023 5\n", + "1 2023-06-15 2023 6 2023-06-20 2023 6\n", + "2 2023-07-01 2023 7 2023-07-08 2023 7\n", + "3 2023-08-15 2023 8 2023-08-29 2023 8\n", + "4 2023-09-10 2023 9 2023-09-17 2023 9\n" + ] + } + ], + "source": [ + "import pandas as pd\n", + "\n", + "# 1. DEFINE THE ABSOLUTE FILE PATH\n", + "# Ensure this path is correct for your local machine:\n", + "travel_trip_data = r\"D:\\Ironhack\\Week4\\first_project\\data\\raw\\Travel details dataset.csv\"\n", + "\n", + "# 2. DEFINE COLUMN CLEANING FUNCTION\n", + "def clean_column(name):\n", + " \"\"\"Cleans column names by lowercasing, stripping whitespace, \n", + " replacing spaces with underscores, and removing the BOM character.\"\"\"\n", + " name = name.lower().strip().replace(\" \", \"_\").replace('', '') \n", + " return name\n", + "\n", + "# 3. LOAD DATA AND APPLY COLUMN CLEANING\n", + "try:\n", + " # Load the data using the corrected path and encoding\n", + " travel_trip_safina_df = pd.read_csv(travel_trip_data, encoding='ISO-8859-1')\n", + "except FileNotFoundError:\n", + " print(f\"Error: File not found at {travel_trip_data}. Please verify the path and file name.\")\n", + " raise\n", + "\n", + "# Apply the cleaning function to all column names\n", + "travel_trip_safina_df.columns = [clean_column(col) for col in travel_trip_safina_df.columns] \n", + "\n", + "# 4. CLEAN AND EXTRACT DATE COMPONENTS\n", + "\n", + "# --- Process 'end_date' column ---\n", + "# Convert to a clean datetime object\n", + "travel_trip_safina_df['end_date'] = pd.to_datetime(\n", + " travel_trip_safina_df['end_date'], \n", + " errors='coerce'\n", + ")\n", + "\n", + "# Create the 'end_year' and 'end_month' integer columns\n", + "travel_trip_safina_df['end_year'] = travel_trip_safina_df['end_date'].dt.year.astype('Int64')\n", + "travel_trip_safina_df['end_month'] = travel_trip_safina_df['end_date'].dt.month.astype('Int64')\n", + "\n", + "\n", + "# --- Process 'start_date' column ---\n", + "# Convert to a clean datetime object\n", + "travel_trip_safina_df['start_date'] = pd.to_datetime(\n", + " travel_trip_safina_df['start_date'], \n", + " errors='coerce'\n", + ")\n", + "\n", + "# Create the 'start_year' and 'start_month' integer columns\n", + "travel_trip_safina_df['start_year'] = travel_trip_safina_df['start_date'].dt.year.astype('Int64')\n", + "travel_trip_safina_df['start_month'] = travel_trip_safina_df['start_date'].dt.month.astype('Int64')\n", + "\n", + "\n", + "# 5. DISPLAY VERIFICATION (Optional)\n", + "print(\"Data loading and feature engineering complete.\")\n", + "print(\"\\nFirst 5 rows of all date columns:\")\n", + "print(travel_trip_safina_df[['start_date', 'start_year', 'start_month', \n", + " 'end_date', 'end_year', 'end_month']].head())" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "5634ba43-ec7b-45fe-ad10-4e3ec83105cc", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " start_month start_month_name end_month end_month_name\n", + "0 5 May 5 May\n", + "1 6 June 6 June\n", + "2 7 July 7 July\n", + "3 8 August 8 August\n", + "4 9 September 9 September\n" + ] + } + ], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "# 1. Define the month mapping dictionary\n", + "month_map = {\n", + " 1: 'January', 2: 'February', 3: 'March', 4: 'April', \n", + " 5: 'May', 6: 'June', 7: 'July', 8: 'August', \n", + " 9: 'September', 10: 'October', 11: 'November', 12: 'December'\n", + "}\n", + "\n", + "# 2. Create 'start_month_name' by mapping the integer month to its name\n", + "travel_trip_safina_df['start_month_name'] = travel_trip_safina_df['start_month'].map(month_map)\n", + "\n", + "# 3. Create 'end_month_name' by mapping the integer month to its name\n", + "travel_trip_safina_df['end_month_name'] = travel_trip_safina_df['end_month'].map(month_map)\n", + "\n", + "# Optional: Display the first few rows for verification\n", + "print(travel_trip_safina_df[['start_month', 'start_month_name', 'end_month', 'end_month_name']].head())" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "2494e574-beba-42ab-8d53-ebea32cc91e2", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " start_year start_month_name end_year end_month_name\n", + "0 2023 May 2023 May\n", + "1 2023 June 2023 June\n", + "2 2023 July 2023 July\n", + "3 2023 August 2023 August\n", + "4 2023 September 2023 September\n" + ] + } + ], + "source": [ + "print(travel_trip_safina_df[['start_year', 'start_month_name', 'end_year', 'end_month_name']].head())" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "f3e86d88-31cf-4892-822a-5792c04fdbe8", + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
trip_iddestinationstart_dateend_dateduration_(days)traveler_nametraveler_agetraveler_gendertraveler_nationalityaccommodation_typeaccommodation_costtransportation_typetransportation_costend_yearend_monthstart_yearstart_monthstart_month_nameend_month_name
01London, UK2023-05-012023-05-087.0John Smith35.0MaleAmericanHotel1200Flight6002023520235MayMay
12Phuket, Thailand2023-06-152023-06-205.0Jane Doe28.0FemaleCanadianResort800Flight5002023620236JuneJune
23Bali, Indonesia2023-07-012023-07-087.0David Lee45.0MaleKoreanVilla1000Flight7002023720237JulyJuly
34New York, USA2023-08-152023-08-2914.0Sarah Johnson29.0FemaleBritishHotel2000Flight10002023820238AugustAugust
45Tokyo, Japan2023-09-102023-09-177.0Kim Nguyen26.0FemaleVietnameseAirbnb700Train2002023920239SeptemberSeptember
............................................................
134135Rio de Janeiro, Brazil2023-08-012023-08-109.0Jose Perez37.0MaleBrazilianHostel2500Car20002023820238AugustAugust
135136Vancouver, Canada2023-08-152023-08-216.0Emma Wilson29.0FemaleCanadianHotel5000Airplane30002023820238AugustAugust
136137Bangkok, Thailand2023-09-012023-09-087.0Ryan Chen34.0MaleChineseHostel2000Train10002023920239SeptemberSeptember
137138Barcelona, Spain2023-09-152023-09-227.0Sofia Rodriguez25.0FemaleSpanishAirbnb6000Airplane25002023920239SeptemberSeptember
138139Auckland, New Zealand2023-10-012023-10-087.0William Brown39.0MaleNew ZealanderHotel7000Train2500202310202310OctoberOctober
\n", + "

139 rows × 19 columns

\n", + "
" + ], + "text/plain": [ + " trip_id destination start_date end_date duration_(days) \\\n", + "0 1 London, UK 2023-05-01 2023-05-08 7.0 \n", + "1 2 Phuket, Thailand 2023-06-15 2023-06-20 5.0 \n", + "2 3 Bali, Indonesia 2023-07-01 2023-07-08 7.0 \n", + "3 4 New York, USA 2023-08-15 2023-08-29 14.0 \n", + "4 5 Tokyo, Japan 2023-09-10 2023-09-17 7.0 \n", + ".. ... ... ... ... ... \n", + "134 135 Rio de Janeiro, Brazil 2023-08-01 2023-08-10 9.0 \n", + "135 136 Vancouver, Canada 2023-08-15 2023-08-21 6.0 \n", + "136 137 Bangkok, Thailand 2023-09-01 2023-09-08 7.0 \n", + "137 138 Barcelona, Spain 2023-09-15 2023-09-22 7.0 \n", + "138 139 Auckland, New Zealand 2023-10-01 2023-10-08 7.0 \n", + "\n", + " traveler_name traveler_age traveler_gender traveler_nationality \\\n", + "0 John Smith 35.0 Male American \n", + "1 Jane Doe 28.0 Female Canadian \n", + "2 David Lee 45.0 Male Korean \n", + "3 Sarah Johnson 29.0 Female British \n", + "4 Kim Nguyen 26.0 Female Vietnamese \n", + ".. ... ... ... ... \n", + "134 Jose Perez 37.0 Male Brazilian \n", + "135 Emma Wilson 29.0 Female Canadian \n", + "136 Ryan Chen 34.0 Male Chinese \n", + "137 Sofia Rodriguez 25.0 Female Spanish \n", + "138 William Brown 39.0 Male New Zealander \n", + "\n", + " accommodation_type accommodation_cost transportation_type \\\n", + "0 Hotel 1200 Flight \n", + "1 Resort 800 Flight \n", + "2 Villa 1000 Flight \n", + "3 Hotel 2000 Flight \n", + "4 Airbnb 700 Train \n", + ".. ... ... ... \n", + "134 Hostel 2500 Car \n", + "135 Hotel 5000 Airplane \n", + "136 Hostel 2000 Train \n", + "137 Airbnb 6000 Airplane \n", + "138 Hotel 7000 Train \n", + "\n", + " transportation_cost end_year end_month start_year start_month \\\n", + "0 600 2023 5 2023 5 \n", + "1 500 2023 6 2023 6 \n", + "2 700 2023 7 2023 7 \n", + "3 1000 2023 8 2023 8 \n", + "4 200 2023 9 2023 9 \n", + ".. ... ... ... ... ... \n", + "134 2000 2023 8 2023 8 \n", + "135 3000 2023 8 2023 8 \n", + "136 1000 2023 9 2023 9 \n", + "137 2500 2023 9 2023 9 \n", + "138 2500 2023 10 2023 10 \n", + "\n", + " start_month_name end_month_name \n", + "0 May May \n", + "1 June June \n", + "2 July July \n", + "3 August August \n", + "4 September September \n", + ".. ... ... \n", + "134 August August \n", + "135 August August \n", + "136 September September \n", + "137 September September \n", + "138 October October \n", + "\n", + "[139 rows x 19 columns]" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_safina_df" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "id": "38d552e9-f5b1-443a-a4b9-ea1854ec554b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "File loaded successfully.\n", + "\n", + "--- Most Frequent Travel Durations (Top 10) ---\n", + "Duration (Days)\n", + "7 54\n", + "8 24\n", + "9 16\n", + "6 16\n", + "5 10\n", + "10 10\n", + "11 5\n", + "14 1\n", + "13 1\n", + "Name: Number of Trips, dtype: Int64\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAWmZJREFUeJzt3XtcVHX+x/H3meEiIoKigIgKIl5SQVvN1Epdb+Uly+2ibuVlbS3dn1qmXdxWLddruW652VWyWq1ts5tumpWZrVtp6pq3rCTTRRJFQRFBZr6/P5SBEVQwjgP4ej4ePB7NZ87MfD7zHbD3nDNnLGOMEQAAAAAAKHcOXzcAAAAAAEBVRegGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAABsQugGAAAAAMAmhG4AAAAAAGxC6AaACsiyrFL9fPrpp7b38sorr2jQoEFq1qyZHA6HYmNjz7nt8ePHNX78eEVHR6tatWpq06aNXn/99VI9ztSpU2VZlhwOh/bs2VPs+uzsbNWsWVOWZWnYsGEXOc357dixQ1OnTtWPP/5Yqu1ffvnlc67NAw88YEuPFdWSJUs0f/78C253vues6M/5Xme+0rVrV3Xt2rVU2xXM4XA4FBISoiZNmujWW2/VP//5T7ndbvubPY/zvc6HDRtWIZ97AKjM/HzdAACguP/85z9elx9//HGtWbNGn3zyiVf9iiuusL2XV199VWlpabrqqqvkdrt16tSpc247cOBAbdiwQbNmzVLTpk21ZMkSDR48WG63W0OGDCnV49WoUUPJycl6/PHHvepvvvmmTp06JX9//180z/ns2LFD06ZNU9euXcsUPJKTk9W8eXOvWnR0dDl3V7EtWbJE27Zt0/jx48+7Xd++fYu9vjt27KhbbrlFEyZM8NQCAwPtaPOSady4sf7+979LOv2GUUpKit555x3deuutuvbaa/X+++8rNDTUJ72d73X+6KOPaty4cT7pCwCqKkI3AFRAV199tdflunXryuFwFKtfCqtWrZLDcfrAqH79+mnbtm0lbvevf/1Lq1ev9gRtSerWrZv27t2riRMn6vbbb5fT6bzg491+++1avHixpk2b5nlcSXrppZd0880367333iuHqcpXq1at1K5du1Jte+rUKVmWJT+/y/Of4Lp166pu3brF6pGRked9fbtcLuXn51eaMB4UFFRsnpEjRyo5OVkjRozQ73//e73xxhvl8lgnTpxQ9erVy+W+4uPjy+V+AACFOLwcACqpjIwMjR49WvXr11dAQIAaN26syZMnKzc312s7y7L0hz/8Qc8995yaNm2qwMBAXXHFFaU+7Lto8D2ft99+WzVq1NCtt97qVR8+fLhSU1P15Zdflup+RowYoX379mn16tWe2u7du/X5559rxIgRJd7mp59+0h133KGIiAgFBgaqRYsWevLJJ4sdxrtw4UIlJSWpRo0aCgkJUfPmzfXII49IOn3Yc0Hv3bp18xwe/PLLL5eq75J8+umnsixLr776qiZMmKD69esrMDBQ33//vSTpo48+Uvfu3VWzZk1Vr15dnTt31scff1zsflasWKE2bdooMDBQcXFxeuKJJzyH4xf48ccfz9mvZVmaOnWqV+27777TkCFDvJ6zv/3tbyX2v3TpUk2ePFnR0dGqWbOmevTooW+//dazXdeuXbVixQrt3bvX6xDxi1Uwy5w5czR9+nTFxcUpMDBQa9as0cmTJzVhwgS1adNGoaGhql27tjp27Kh3333X6z7atm2ra6+9tth9u1wu1a9fXwMHDvTU8vLyNH36dDVv3lyBgYGqW7euhg8frvT09Iue4VyGDx+uPn366M0339TevXu95i3N2hWs+6ZNm3TLLbeoVq1anqC8ceNGDRo0SLGxsQoKClJsbKwGDx7seRzpwq/zkg4vP3nypB5++GHFxcUpICBA9evX15gxY3T06FGv7WJjY9WvXz+tXLlSV155pYKCgtS8eXMtWrTIa7sTJ07ogQceUFxcnKpVq6batWurXbt2Wrp06UU8owBQ8V2eb7MDQCV38uRJdevWTT/88IOmTZumxMRErVu3TjNnztSWLVu0YsUKr+3fe+89rVmzRo899piCg4P1zDPPaPDgwfLz89Mtt9xSLj1t27ZNLVq0KLYHNzEx0XN9p06dLng/CQkJuvbaa7Vo0SL17t1bkrRo0SLFxsaqe/fuxbZPT09Xp06dlJeXp8cff1yxsbFavny5HnjgAf3www965plnJEmvv/66Ro8erf/7v//TE088IYfDoe+//147duyQdPqw5xkzZuiRRx7R3/72N1155ZWSSrfnr2AvbFFFn4eHH35YHTt21LPPPiuHw6GIiAi99tpruuuuuzRgwAAt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Y8aYo0eP+rotGGPef/9906pVKxMYGGiaN29unn/+eV+3dNm7/fbbTb169Yy/v7+Jjo42AwcONNu3b/d1W5elNWvWGEnFfoYOHWqMOf21YVOmTDFRUVEmMDDQXHfddeabb77xbdOXgQutS3JyconXT5kyxad9Xw4utDZn4yvDLo3zrUtOTo65+eabTXR0tAkICDD16tUzN954o/nqq6983bZtLGOMuVQBHwAAAACAywmf6QYAAAAAwCaEbgAAAAAAbELoBgAAAADAJoRuAAAAAABsQugGAAAAAMAmhG4AAAAAAGxC6AYAAAAAwCaEbgAAAAAAbELoBgCginn55ZcVFhZ2SR7r22+/VVRUlI4dO3ZJHq8sHnjgAY0dO9bXbQAALnOEbgAALsKwYcNkWZYsy5K/v78iIyPVs2dPLVq0SG63+5L1ERsbq/nz53vVbr/9du3evfuSPP7kyZM1ZswYhYSESJI+/fRTz/PicDgUGhqqtm3batKkSTpw4MAl6anApEmTlJycrJSUlEv6uAAAFEXoBgDgIl1//fU6cOCAfvzxR33wwQfq1q2bxo0bp379+ik/P/+i79cY84tuHxQUpIiIiIu+fWnt379f7733noYPH17sum+//VapqanasGGDHnzwQX300Udq1aqVvvnmG9v7KhAREaFevXrp2WefvWSPCQDA2QjdAABcpMDAQEVFRal+/fq68sor9cgjj+jdd9/VBx98oJdfflmS9OOPP8qyLG3ZssVzu6NHj8qyLH366aeSCvcOr1q1Su3atVNgYKDWrVunH374QQMGDFBkZKRq1Kih9u3b66OPPvLcT9euXbV3717dd999nr3LUsmHly9cuFDx8fEKCAhQs2bN9Oqrr3pdb1mWXnzxRd18882qXr26EhIS9N577513/n/84x9KSkpSTExMsesiIiIUFRWlpk2batCgQfr3v/+tunXr6t577/Vss2HDBvXs2VN16tRRaGiounTpok2bNnmuHzFihPr16+d1v/n5+YqKitKiRYskSf/85z/VunVrBQUFKTw8XD169FB2drZn+xtvvFFLly497xwAANiJ0A0AQDn69a9/raSkJC1btqzMt500aZJmzpypnTt3KjExUcePH1efPn300UcfafPmzerdu7f69++vn376SZK0bNkyxcTE6LHHHtOBAwfOefj222+/rXHjxmnChAnatm2bRo0apeHDh2vNmjVe202bNk233Xabtm7dqj59+ui3v/2tMjIyztnvZ599pnbt2pVqtqCgIN1zzz3697//rYMHD0qSjh07pqFDh2rdunX64osvlJCQoD59+ng+Hz5y5EitXLnSa65//etfOn78uG677TYdOHBAgwcP1ogRI7Rz5059+umnGjhwoIwxnu2vuuoq7du3T3v37i1VnwAAlDdCNwAA5ax58+b68ccfy3y7xx57TD179lR8fLzCw8OVlJSkUaNGqXXr1kpISND06dPVuHFjzx7o2rVry+l0KiQkRFFRUYqKiirxfp944gkNGzZMo0ePVtOmTXX//fdr4MCBeuKJJ7y2GzZsmAYPHqwmTZpoxowZys7O1ldffXXOfn/88UdFR0eXer7mzZt7biedfoPijjvuUIsWLdSiRQs999xzOnHihNauXStJ6tSpU7G98snJybr11ltVo0YNHThwQPn5+Ro4cKBiY2PVunVrjR49WjVq1PBsX79+fa/HBADgUiN0AwBQzowxnkO9y+LsvcbZ2dmaNGmSrrjiCoWFhalGjRratWuXZ093ae3cuVOdO3f2qnXu3Fk7d+70qiUmJnr+Ozg4WCEhIZ690iXJyclRtWrVSt1HwR7ogufm4MGDuueee9S0aVOFhoYqNDRUx48f95pv5MiRSk5O9my/YsUKjRgxQpKUlJSk7t27q3Xr1rr11lv1wgsv6MiRI16PGRQUJEk6ceJEqfsEAKA8EboBAChnO3fuVFxcnCTJ4Tj9T23RQ55PnTpV4u2Cg4O9Lk+cOFFvvfWW/vznP2vdunXasmWLWrdurby8vDL3dPabACW9MeDv71/sNuc7E3udOnWKhdzzKQj5sbGxkk7vWf/66681f/58rV+/Xlu2bFF4eLjXfHfddZf27Nmj//znP3rttdcUGxura6+9VpLkdDq1evVqffDBB7riiiv09NNPq1mzZl5nKy84PL5u3bql7hMAgPJE6AYAoBx98skn+uabb/Sb3/xGUmHYK/q55KInVTufdevWadiwYbr55pvVunVrRUVFFTtMOiAgQC6X67z306JFC33++edetfXr16tFixal6uNc2rZtqx07dpRq25ycHD3//PO67rrrPM/JunXrNHbsWPXp00ctW7ZUYGCgDh065HW78PBw3XTTTUpOTlZycnKxM6VblqXOnTtr2rRp2rx5swICAvT22297rt+2bZv8/f3VsmXLXzQrAAAXy8/XDQAAUFnl5uYqLS1NLpdLP//8s1auXKmZM2eqX79+uuuuuySdPrz56quv1qxZsxQbG6tDhw7pj3/8Y6nuv0mTJlq2bJn69+8vy7L06KOPFtvzHBsbq88++0yDBg1SYGCg6tSpU+x+Jk6cqNtuu01XXnmlunfvrvfff1/Lli3zOhP6xejdu7dGjhwpl8slp9Ppdd3Bgwd18uRJHTt2TF9//bXmzJmjQ4cOeZ1grkmTJnr11VfVrl07ZWVlaeLEiZ7DwYsaOXKk+vXrJ5fLpaFDh3rqX375pT7++GP16tVLERER+vLLL5Wenu71ZsK6det07bXXlni/AABcCuzpBgDgIq1cuVL16tVTbGysrr/+eq1Zs0ZPPfWU3n33Xa8QumjRIp06dUrt2rXTuHHjNH369FLd/1/+8hfVqlVLnTp1Uv/+/dW7d29deeWVXts89thj+vHHHxUfH3/OQ6hvuukm/fWvf9XcuXPVsmVLPffcc0pOTlbXrl0venZJ6tOnj/z9/UsM782aNVN0dLR+9atfadasWerRo4e2bdumK664wrPNokWLdOTIEbVt21Z33nmnxo4dW+L3i/fo0UP16tVT7969vU7cVrNmTX322Wfq06ePmjZtqj/+8Y968skndcMNN3i2Wbp0qe6+++5fNCcAAL+EZYp+yAwAAKAMnnnmGb377rtatWqVbY9x4sQJRUdHa9GiRRo4cGCpb7dixQpNnDhRW7dulZ8fB/cBAHyDf4EAAMBF+/3vf68jR47o2LFjCgkJKdf7drvdSktL05NPPqnQ0FDdeOONZbp9dna2kpOTCdwAAJ9iTzcAAKiQfvzxR8XFxSkmJkYvv/yyunfv7uuWAAAoM0I3AAAAAAA24URqAAAAAADYhNANAAAAAIBNCN0AAAAAANiE0A0AAAAAgE0I3QAAAAAA2ITQDQAAAACATQjdAAAAAADYhNANAAAAAIBNCN0AAAAAANjk/wEPwLrYsvQOtgAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "\n", + "# 1. DEFINE THE ABSOLUTE FILE PATH (REQUIRED TO FIX THE ERROR)\n", + "travel_trip_data = r\"D:\\Ironhack\\Week4\\first_project\\data\\raw\\Travel details dataset.csv\"\n", + "\n", + "# --- Column Cleaning Function (Must be defined first) ---\n", + "def clean_column(name):\n", + " \"\"\"Cleans column names.\"\"\"\n", + " return name.lower().strip().replace(\" \", \"_\").replace('', '') \n", + "\n", + "# --- Load Data and Clean Columns ---\n", + "try:\n", + " # Use the absolute path variable to load the file\n", + " travel_trip_safina_df = pd.read_csv(travel_trip_data, encoding='ISO-8859-1')\n", + " print(\"File loaded successfully.\")\n", + "\n", + "except FileNotFoundError:\n", + " print(f\"Error: The file was still not found at the specified path.\")\n", + " print(f\"Please double-check that the file exists here: {travel_trip_data}\")\n", + " # Re-raising the error to stop execution gracefully\n", + " raise\n", + "\n", + "travel_trip_safina_df.columns = [clean_column(col) for col in travel_trip_safina_df.columns] \n", + "\n", + "# --- 2. Prepare 'duration_(days)' Column ---\n", + "travel_trip_safina_df['duration_(days)'] = pd.to_numeric(\n", + " travel_trip_safina_df['duration_(days)'], \n", + " errors='coerce'\n", + ").astype('Int64')\n", + "\n", + "# --- 3. Analyze Duration Frequencies ---\n", + "duration_counts = travel_trip_safina_df['duration_(days)'].value_counts().sort_values(ascending=False)\n", + "duration_counts = duration_counts.rename_axis('Duration (Days)').rename('Number of Trips')\n", + "\n", + "# --- 4. Display the top 10 most frequent durations ---\n", + "print(\"\\n--- Most Frequent Travel Durations (Top 10) ---\")\n", + "print(duration_counts.head(10))\n", + "\n", + "# --- 5. Generate Plot (Optional) ---\n", + "top_10_durations = duration_counts.head(10)\n", + "plt.figure(figsize=(10, 6))\n", + "top_10_durations.plot(kind='bar', color='darkorange')\n", + "plt.title('Top 10 Most Frequent Travel Durations')\n", + "plt.xlabel('Duration (Days)')\n", + "plt.ylabel('Number of Trips')\n", + "plt.xticks(rotation=0)\n", + "plt.grid(axis='y', linestyle='--', alpha=0.7)\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "id": "990c780f-e60e-4875-a82f-7073d8cf9915", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "File loaded successfully.\n", + "\n", + "--- Month Travel Frequency (Sorted) ---\n", + "The month with the highest number of trips is at the top.\n", + "End Month\n", + "September 18\n", + "August 16\n", + "July 16\n", + "June 15\n", + "May 15\n", + "November 10\n", + "January 10\n", + "February 10\n", + "October 9\n", + "April 7\n", + "March 6\n", + "December 5\n", + "Name: Number of Trips, dtype: Int64\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAJOCAYAAACqS2TfAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAApUdJREFUeJzs3XmcTfX/wPH3mRkzhoxlmGGMPfsesmVL1ihJoYREwrdEK8kakhbZ1Y+QbCUSylZItEwGEQmTfco6o2nMdt+/P3zv+d47c8fMnZnjXub1fDw86r7vufd+3p/7OWc+77NdQ1VVAAAAAABAjvPxdAMAAAAAALhdUXQDAAAAAGARim4AAAAAACxC0Q0AAAAAgEUougEAAAAAsAhFNwAAAAAAFqHoBgAAAADAIhTdAAAAAABYhKIbAAAAAACLUHQDgJcxDCNT/7Zt2+bppjpZuHChGIYhf/75Z6aWc/XvxRdfvDmNzSXGjh0rhmHIhQsXLP2cvn373nCs5qSWLVtKy5YtM1yubNmyYhhGussuXrz4pq1LkyZNkjVr1qSJ29eFiIiIbL1/v379pH379k6xU6dOyeDBg6VSpUoSGBgoRYoUkZo1a8qAAQPk1KlT2fq81DZs2CBjx47N0fe0S/19HzlyRPz9/WXPnj2WfB4AWMHP0w0AADjbvXu30+MJEybIt99+K998841TvFq1ajezWTnuo48+kipVqjjFwsLCPNQaZFdgYGCaMeppBQoUkB07dsixY8ekQoUKTs8tWLBAgoKCJDY21vJ2TJo0Sbp16yZdunTJ8feOjIyURYsWyY8//mjGTp8+LXfddZcUKlRIXnjhBalcubLExMTIb7/9JitXrpTjx49LqVKlcqwNGzZskFmzZllWeDuqVKmSPP744zJs2DDZvn275Z8HADmBohsAvEyjRo2cHhcrVkx8fHzSxFP7999/JV++fFY2LUfVqFFD6tevn6llk5KSxDAM8fPjz5a3yswYvdnuuece+fXXX2XBggUyceJEM37s2DHZsWOH9O/fXz788EMPtjD73nzzTbn77rud1qUPP/xQLly4ID/99JOUK1fOjHfp0kVGjhwpNpstRz7bU9uc//znP1K/fn3ZtWuXNGnS5KZ/PgC4i9PLAeAW1LJlS6lRo4bs2LFDmjRpIvny5ZN+/fqJiMiKFSukbdu2UqJECQkMDJSqVavKq6++KnFxcebrp02bJoZhyNGjR9O89yuvvCL+/v5OpyRv2bJFWrduLUFBQZIvXz5p2rSpbN261ZLctm3bJoZhyMcffywvvPCClCxZUgICAsy2ZrYt69evlzp16khAQICUK1dO3n77bfN0a7s///xTDMOQhQsXpnm9YRhpjtz98ccf8thjj0lISIgEBARI1apVZdasWS7bv2zZMnnttdckLCxMgoKC5L777pPff/89zed8/fXX0rp1aylYsKDky5dPqlatKpMnTxYRkY8//lgMw0hz9oOIyPjx4yVPnjxy9uzZDPv01KlT0rVrVwkKCpKCBQtKr1695Pz58+bzTz31lBQpUkT+/fffNK+99957pXr16hl+Rma40zeqKm+99ZaUKVNG8ubNK3fddZd89dVXbn2ej4+P9O7dWxYtWuRUaC5YsEBKlSol9913n8vXrV27Vho3biz58uWTAgUKSJs2bdJ8B/axdPDgQenZs6cULFhQQkNDpV+/fhITE2MuZxiGxMXFyaJFi8zT2VOf8n716lUZNGiQFC1aVIKDg6Vr166Z+l7/+usvWb16tTzxxBNO8YsXL4qPj4+EhISk2y9ZzXfPnj3SrVs3KVy4sFSoUEH69u1rrgOOlxTYLzNRVZk9e7bUqVNHAgMDpXDhwtKtWzc5fvy40/u7833Xq1dPqlatKnPnzs2wjwDAG1B0A8At6ty5c9KrVy957LHHZMOGDTJ48GARuV4YduzYUebPny9ff/21PP/887Jy5Urp3Lmz+dpevXqJv79/mmIzJSVFlixZIp07d5aiRYuKiMiSJUukbdu2EhQUJIsWLZKVK1dKkSJFpF27dtkqvFNSUiQ5Odnpn6MRI0bIyZMnZe7cufLll19KSEhIptuydetWefDBB6VAgQKyfPlymTp1qqxcuVI++uijLLf3t99+kwYNGsiBAwfknXfekXXr1sn9998vzz33nIwbNy7N8iNHjpQTJ07I//3f/8kHH3wgf/zxh3Tu3FlSUlLMZebPny8dO3YUm81m5vncc8/J6dOnRUSke/fuUrx48TSFfXJyssybN08eeuihTJ2S/9BDD8mdd94pn332mYwdO1bWrFkj7dq1k6SkJBERGTp0qFy+fFmWLl2aJudvv/1WhgwZkqk+Sv19Jicnuzyqmpm+GTdunLzyyivSpk0bWbNmjQwaNEgGDBjgcsfFjfTr10/Onj0rGzduFJHr427RokXSt2/fNMWniMjSpUvlwQcflKCgIFm2bJnMnz9fLl++LC1btpSdO3emWf7hhx+WSpUqyapVq+TVV1+VpUuXyrBhw8znd+/eLYGBgdKxY0fZvXu37N69W2bPnu30Hv3795c8efLI0qVL5a233pJt27ZJr169Msxt06ZNkpSUJK1atXKKN27cWGw2m3Tt2lU2btx4w1Po3c23a9eucuedd8qnn34qc+fOlddff126detm5mr/V6JECRERGThwoDz//PNy3333yZo1a2T27Nly8OBBadKkifz111/m+7r7fbds2VK++uorUdUM+wkAPE4BAF6tT58+mj9/fqdYixYtVER069atN3ytzWbTpKQk3b59u4qI7tu3z3yua9euGh4erikpKWZsw4YNKiL65ZdfqqpqXFycFilSRDt37uz0vikpKVq7dm29++67zdhHH32kIqJRUVE3bJN9OVf/kpKS9Ntvv1UR0ebNmzu9zp22NGzYUMPCwjQ+Pt6MxcbGapEiRdTxT19UVJSKiH700Udp2ikiOmbMGPNxu3btNDw8XGNiYpyW+89//qN58+bVS5cuqaqa7e/YsaPTcitXrlQR0d27d6uq6tWrVzUoKEjvuecetdls6fbXmDFj1N/fX//66y8ztmLFChUR3b59e7qvs79WRHTYsGFO8U8++URFRJcsWWLGWrRooXXq1HFabtCgQRoUFKRXr1694ef06dMn3e+0devW5nKZ7ZvLly9r3rx59aGHHnJa7vvvv1cR0RYtWtywPaqqZcqU0fvvv9/MrVu3bqqqun79ejUMQ6OiovTTTz9VEdFvv/1WVa+PpbCwMK1Zs6bTenH16lUNCQnRJk2amDF737711ltOnzt48GDNmzev03eaP39+7dOnT5o22teFwYMHO8XfeustFRE9d+7cDXMcNGiQBgYGphk/NptNBw4cqD4+PioiahiGVq1aVYcNG+a0fmYl39GjR6dpx5AhQ5zWK7vdu3eriOg777zjFD916pQGBgbqyy+/rKpZ+74//PBDFRE9dOhQ+h0EAF6CI90AcIsqXLiw3HvvvWnix48fl8cee0yKFy8uvr6+kidPHmnRooWIiBw6dMhc7sknn5TTp0/Lli1bzNhHH30kxYsXlw4dOoiIyK5du+TSpUvSp0+fNEcv27dvLz//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P/zwgyxZskQef/xxeeWVVzzdJEtRdN9kqf8AFipUSBYvXizt27eXffv2yUcffSQiwh8A+d9pvz4+PnLy5Elp166dHDhwQHr37i1r166VGTNmyLlz59iLKCL79++X5ORk8fX1FRGRTZs2yc6dO83nW7VqJR06dJDRo0dLbGwsfZZKTEyM+Pn5SatWrWTNmjXSqVMnee+996R///4SExMja9euFRH2WKfeJqmq3HPPPVKlShX54YcfRCTtjh9c35b9+OOPMnbsWNmyZQuFkAPHvpgzZ4506dJFunXrJnv27JHLly9L0aJF5cEHH5SIiAhR1Vz/d9GRq74oWrSolClTRlasWCEinB2Qni+++EL69OkjZ86ckcWLF0tcXBxF5H+1aNFC5s6dK35+frJixQrZuXOn3HHHHTJz5kwK71RUVcaNGydPPfWU7Nu3T/bv3y8vvviiDBw4UD744APJkyePPPnkk/L1119LYmKip5vrda5cuSLvv/++TJ48WY4fP27Gb9sxpbhpUlJSzP8/cuSIHj16VE+fPq2qqidOnNBOnTppq1atdOnSpS5fk5s45j1u3DitX7++btu2zYyNHTtW69atq6NGjdJz586pqmrfvn11//79N72tnjZu3Dg1DEO3bNmiiYmJeuDAAa1evboWKVJEBw8erF9//bWqqu7cuVPvvvtu/fHHH1U1944tm82WJvbbb79pzZo1ddy4cRoUFKRz5841n9u9e7c2a9ZM9+3bdzOb6dX++ecfp8fPPvusli1bVuPj4z3UIu8XExOjU6dOVR8fH50+fbqnm+N1pk6dqhMmTNCZM2dqjx49NDg4WB999FFdvXq1btmyRf38/PS7777zdDO90smTJ522a0ePHtXg4GBdvHixB1vlPex9c/bsWY2OjtbDhw+bz3Xr1k2rV6+uS5YsMbdfrv5G5BaJiYnm///xxx9ar149bd++vTlvuHr1qvbp00cbNmyo77//viYkJKhq7uwze86JiYlap04drVevni5evFhfeeUVp+Xat2+vFStW1LVr15r9hf/ZunWrduvWTQMCAnTr1q2qevuOJ4rum8RxAI0ZM0Zr1KihVapU0dDQUJ01a5aqqh4/flw7duyo9957ry5btsxTTfUqL7/8soaGhuratWs1KirK6blx48Zp3bp1tW3bttqiRQsNCQnRpKQkzzTUw9q1a6fh4eG6ZcsWVVU9ffq0btq0SRs2bKgNGzbUFi1a6I4dO7RkyZI6aNAgD7fWcxx3NDj+8btw4YJ269ZNAwMDddiwYWb82rVr2rlzZ+3atWuu3UmR2rx587Rbt27mTh5V1cuXL2v9+vV19uzZqnr7/sHMLHv+0dHR+vvvv+vFixfNvnr99dfVMAydP3++J5vocY7r02effabFihXT3377zYx98cUX+uqrr2r+/Pn1kUceUT8/P+3Vq5f++++/uX58OfbdjBkztH79+vrYY4/psWPHNDY2VlVVe/furUOGDEmzfG5jHytr1qzRhg0batWqVbVSpUo6cuRIc5muXbtqjRo1dOnSpfrvv/96qqleZcyYMRoZGakrVqzQ9u3ba6dOnfSHH35Q1euFd9++fbVJkyb6xhtvOBXquY0998TERK1WrZoahqEPPPBAmm1U+/bttVq1avrpp5/m6v6y90tcXJxevnzZjO/bt08feOABrVGjhnmA7XbczlN032QTJ07UYsWK6ebNm/Xff//VRx55RIOCgvTAgQOqqnrs2DHt3Lmz1qpVSzdv3uzh1nrWrl279M4779Rdu3ap6vUCKDo6WlevXm3ukf7www916NCh+tRTT5kFd3JyssfafLM5brzvu+8+DQ0NdSqGLl68qHv27NEHHnhA77vvPi1SpIgGBQXpzz//7Kkme4zjBnzq1Knas2dPfeCBBzQyMlJVVb/77ju9++679Z577tE33nhD33//fW3durXWqFHD7M/cPHm1mzp1qj7++OPq7++vjz32mE6fPl1TUlK0R48e2rNnT083z+Ps4+zzzz/XOnXqaOnSpbVp06bar18/PX/+vNpsNvPslI8++sizjfUCn332mU6cOFGnTJmiqppmQhoVFaWvv/663nPPPVq4cGGNjo5W1dtzQuau999/X8eOHatvv/22tmvXTkuUKKF9+vTRHTt26Oeff6558+bVX3/91dPN9Livv/5a8+bNq7Nnz9ZDhw7pe++9p4Zh6Pr1681lunXrpiVLltSVK1d6sKWe4/i3bfXq1WoYhjlPWLVqld53331pCu8HHnhABwwYkGvXRXvely5dUtXr267GjRtraGio7ty5M818oXHjxlq/fn29evXqTW+rN7D315dffqmtW7fWqlWrart27XT58uWalJSkP/30kz766KNaq1Yt3b59u4dbaw2K7pso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e01r166tRYoU0R49epjXOr7++utas2ZNrVWrlj788MPasGFDrVOnjvna3FJMprfB3rNnj3bq1Elbt25tHvFOSUnRRYsWabNmzbRRo0a5rq9Ssx/1t/vss8+0atWq2q9fP/3ll1/MeJ06dfSBBx4wHycmJurixYvNm4flBqlPv2/Xrp0WL15cN2/enGb8TJw4MdeOKdXr16fZfznhypUr+swzz5jXu69atUoLFSqk7777rlaoUEGbNWumERERaSYjd911l44ZM+ZmN/2msxfYqtcLxri4OL148aKqXr+MoXz58lqqVCnzqGxKSoqOHDlSS5curUeOHPFYuz3plVde0dDQUB0wYIB26tRJS5YsqTNmzDAvdfnrr7+0TJkyWrlyZZdn4qT+qbrb3Y2KmsOHD2uhQoW0U6dONywau3fvro0bN9Zr167dlkdyU++cX7NmjdarV0+rVaumrVu31g0bNqjq9Z095cqV0+bNm+sjjzyiXbp00eDg4Fx/FHLKlCnapUsXbdSokc6ePVv//PNPVVXdsGGDVqpUSdu2bWsuy123Vbdv364//PCDbt++XUuWLOl0oMO+zObNm81rlHMj+2VWqtePWNsLbtXrdVJwcLDTmRSq1+ulypUrp/mVotsNRXcO2bFjhxqGoa+99pqqqk6fPl1DQkJ07ty5umjRIm3RooU2atTI/JmYTZs26csvv6zPP/+8Tps2LVffrGnVqlVp7tT+yy+/aOfOnbVZs2bmzorvv/9eZ86cmSv7ateuXfr777+rqup7772n//nPf9JsnFauXKnFihXTJ554wqnwTj1xux0nXulx5/R7R7mx8N65c6cahqH169fXTz75RFWv/35mdHS0RkZGaoUKFcxT6RYvXqyGYWi1atXMcal6/TfNAwICdP/+/R7J4Wb47LPPnHZarVq1SmvXrq2VKlXSJk2amHvq169fr4UKFdL69etru3bttGvXrrl6kj9//nwtU6aMmf/u3bvVMAwtVaqUvvPOO+Zdyc+dO6ddunTJleugI8ft9oIFC/S1117TAQMG6KFDh8xrtH/77TctWLCgdu7c2eXRtGPHjmmbNm1u27MDoqKi1DAM7dq1q6qq/vzzz5o3b1599dVX9YMPPtA2bdpo1apVze3WunXrdOzYsdqlSxedMGGC003ocgvHcTVmzBgtUqSI+QswRYoU0ccee8ycP6xfv16rVaumdevW9VRzPc5xvrR161Y1DEM3bNigR48e1ZCQEB0yZEianYHPPvus/uc//7ltd3Sl5+eff9a///7bfLx27Vp96KGHtHHjxjpmzBjdvXu3ql7/KeDg4GB94okn9LXXXtPevXtrwYIFc8XfRoruHLR06VL19/fXcePG6aRJk8wjRKqqZ8+e1YEDB2rDhg3THVi5ZZJh3wilpKTosWPHtEqVKtqlS5c0PxGwd+9eDQ0N1SZNmujy5cudnsstfaV6fWLRsGFD7dy5s547d04XLFigwcHBOmLECHOvtN3YsWO1UKFC+sgjj+jBgwfNeG7pr5w4/T63sv9MTPPmzfWBBx5wWudmzpyp9957r/kH9eOPP9YhQ4Zojx49nMbW5cuXb+vLFg4ePKh169bVzp076x9//KHHjx/XAgUK6Jtvvqnvv/++Dhs2TA3D0MmTJ6vq9VOihw8froMGDdIpU6bk2iPc8fHxOnfuXJ05c6aqXj86WbBgQV20aJE+99xzmj9/fn3vvff05MmTTq/LLdutG3nllVc0JCREe/XqpU2aNNE777xTFyxYoBcuXFDV64V3kSJFtEmTJnrmzBmn1yYnJ6e5KeTtxGaz6caNGzU0NFR79OhhFtWOnn32Wa1SpYpu3brVQ630TidOnNBXX31Vv/nmGzO2ceNGrVevnvbt21fj4uI0Pj5eP/30U+3Zs2eu/xt55swZ/eCDD8xfflG9vh3z9fXVgQMH6jfffKORkZE6fPhwLVSoUK67QebmzZs1KChI3333XU1ISNBdu3ZpQECAPv/889q7d2+97777tEyZMrplyxZVVV2xYoU2adJE27ZtqwMGDMg1/UXRncOWLFmiefLkUcMwzDuL2guBCxcuaJkyZdL8Ucit7Bvx9evX6z333KMPP/ywbtu2zWmZ9u3ba9myZc07AedWH3zwgbZq1Uq7d++uV69e1RUrVmjx4sX1lVdecTri/d5772mLFi20T58+ufqPZFZPv8/tevXqpS1atNCuXbtqy5YtzZ+4sp/6de7cOY2JidFOnTqZBZRq7iqOlixZoq1bt9ZHHnlER48erc8//7zT8/Pnz1fDMJx2uuL6DouzZ8/qn3/+qbVr19Z3331XVa9P/gsUKKAFCxY0L23ITUeHbmTevHlaunRpc0e9/Yy6ihUr6rx588zr4ffv369t27bNldt8m82mmzZt0pCQEPXx8THvoeC4TWrRooXef//9nmqi1/niiy/UMAwNCQlJszNiw4YN6u/vr99++62qOp9RmBvHl+r1bZRhGBoUFKRvvvmm03MbN27UO++8U0uWLKl33nmn1qhRI1ddvufoueee0woVKuisWbP0xRdf1IkTJ5rP/frrrzp48GCtUKGC/vTTT06vy03zB4rubHI1Ofj88881b9682qNHD42JiXFa5rHHHtNevXrlykmF4wZ72bJl2qFDB/Maoa+++kobN26s3bp1Mwvvf/75R5966ilduXJlrt3YO46Tjz76SJs2bardu3fX2NhYXbZsmZYoUUJffvll/fHHHzUxMVG7du2qn376qdPZBLlBTp5+nxvZb6KzZMkSHTBggP7www/atWtXbdasma5du1b//vtvLVGihJYoUULLly+vNWvWzHXX9zmOk08++UTbt2+vpUuX1qeeekpVr6+r9snDoEGDtG3bthobG2vGcuM2f/r06eYlV3bfffed1qhRQ/fu3auq1y8lGjJkiL799tu5avKVkX///VffffddnTVrlqpev4yhYMGCOn/+fO3Zs6cGBwfrBx98oH/99ZfT63Lj9iw5OVk3b96sFStW1MaNG5t3PraPpzfffFMbN27s8mZguUHqO9ufOXNGhwwZooZh6MKFC1XVubiuXr26vvXWWze/oV5s7ty56u/vr08++aR5nw77Nv2vv/7SQ4cO6d69e/X8+fOebKZHOG63hw4dqhUrVtSKFSumubP7vn37tEWLFubYyo1/Gym6s8Hxj1vq29svXbpU/fz89IUXXjD/KMbHx2vt2rV12LBhN7Wd3sCxr7Zu3aoDBgxQX19f7d+/v1Ph3aJFC23YsKH27t1bW7VqpfXr10/zByO3uVHh/emnn2rNmjW1RIkSWrFiRa1evbr5xzO3bMg4/T5rvvnmG/2///s/p9jZs2e1ZMmSOn/+fD137px27dpV77nnHl23bp1eunRJp0+frrNnz86V91VQdR4nS5cu1Tp16mhYWJhZQNrXuQkTJmjdunVzXf84unr1qnnjNMejQ59//rmGhIToihUrdP/+/dqpUyft27ev+XxuXBdVXW+v9+7dq+fOndNjx45pjRo19L333lPV6/eqCAwM1NDQUF2zZk26r79dpfdb7ps2bdLg4GDt2rWr/vPPP+ZyTzzxhN57771OvzmdWyxdulR79+6tBw8edDoD7Ny5c9q7d28NDAx0OtodExOj5cuX1zlz5niiuV5tzpw5ahiGTpkyJVetb5nhuBN+5MiRahiGPvLII07XeKuqdunSRTt06HCzm+c1KLpzwNSpU7V79+76+OOP66+//up01MjPz08bNGigvXr10gcffFBr1aqV644QORo+fLjWq1dPBw4cqHfffbcWL15ce/ToYfbJ7t27ddSoUdq2bVt98sknzXhuLbjt0iu8L126pEeOHNGlS5fqnDlzzEl+bpu4cvq9e7755hvzt37btWunc+bMMX96aNmyZdq5c2e9evWqHjhwQB9++GFt0aKFeXM1u9w0xuzrX+pt94oVK7Rp06Z6//336759+8z4kCFDtFmzZuYNr3IDV+vTmTNndMKECRoeHu50LeTDDz+shQoV0lKlSmm9evVy9d/E1KZPn25emma3ceNGrV27tnnjr++++04HDRqk48aNy1Xroer/1sVvv/1Wx44dq0888YSuW7fO3MG6ceNG8+7Ijz32mA4dOlTvuOMOc8dYbnLlyhWtUKGCFitWTGvUqKF9+vQxb+arev0nDHv27Kl58+bVoUOH6pQpU7RTp05ao0aNXLvD0D6+fv31V926dauuXr3a6fkZM2aoYRj61ltvUXhr+jv7XnrpJQ0LC9OpU6c6Hf3v3r279u3bN9du8ym6s+ndd9/VwoUL6/Dhw7V8+fJatWpVXbp0qXn6yYoVK/SOO+7QihUr6pYtW3LtESLV63dsL1q0qPnzTSkpKfruu+9q7dq19bHHHjNXwtR9kxv7yhXHjduCBQv0nnvu0e7du5s/rZP6NyJzA06/z5o//vhDmzdvrvfee6+2atVKn332WQ0ODtb33ntP3333Xb333nv1u+++U9Xr1+K2bNlShwwZ4uFWe4Z9rGzYsEE7d+6sAwYM0Hnz5pnPL168WBs3bqzFihXTRx99VJ9++mktUqRIrrgTqyup71x/5swZHT9+vIaHh+sbb7xhxrdu3ao7d+40t1ds568XSYMGDdKQkBD98MMPzfjHH3+sYWFhun79ev3jjz+0c+fO+p///Md8Pjdt81Wvn2ofGBioXbp00caNG2tYWJj26NHDvEv7pk2btHr16moYhm7fvj3X/k5ycnKyjhgxQufOnau//PKLTp06VQsWLKiPPvqoTpw4URMSEvTvv//W4cOHq2EY2q1bN12xYoV54Ci3rZP2bf3nn3+u4eHhWrNmTS1UqJC2bdtW9+/fb84XZsyYoQEBATpu3DhPNtfjHHeADR8+XGfOnOl0vfZzzz2nxYsX186dO+vEiRP1+eef1wIFCjjtoM5tKLrdlHqSPnLkSP3iiy/Mxw899JDWqFFDlyxZYp5yvmDBAm3WrFmuLIocLVmyRMPCwsy7rqqqxsbG6ujRozVfvnz61FNPpTmyzZ5EZ6kL7+bNm2uvXr301KlTHmyVZ3H6fdb8/vvv2rVrV+3cubNu2bJFN27cqF27dtUOHTqoYRhOP9sUFRWVa3dQqF6/gdUdd9yhffv21bZt22rZsmWdLhNasWKFeebO22+/radPn/Zgaz3n66+/1mLFijkdTVNVPX36tD7//PNasGDBNNf5qebev4mu1qljx47pyy+/rGFhYU47d1q2bKlFihTR8PBwrVu3bq49UvTnn39qlSpVdO7cuWZs5cqV2q5dO3388cf1zJkzmpycrOvXr9c777zT/A343Oqrr77SoKAgs9CJj4/X0aNHq2EYetddd+nEiRN1/fr15hkB9t+Xzg2n4rta/zZv3qyFCxc2L7365Zdf1DAMvffee/WXX34x5w1vvfWWFilSRC9evHhT2+xtvv76aw0ICNC2bdtqSEiItmvXThctWmQ+//LLL5s/LzpmzBinnxjNjSi63eA4Sd+4caOuXr1an3zySXMjZde1a1etWbOmfvLJJ+bv9+W2I2uuCpodO3ZolSpVdNOmTU7xkydPasmSJbVixYr61FNP5doJWGY59u38+fO1YcOG5iQ3txaSnH6fNYcPH9b27dtr27Zt9dChQ5qcnKwHDx7Up556Ks11yqq5Z/uV2qeffqrvvPOOqqpGR0fr7NmzNTg4WIcOHWou8+GHH+ojjzySqyf5+/bt02eeeUarV69u/l653fbt2zV//vxqGEaa53K71BPR48eP64svvqhhYWFO19auW7dON23alKvODkj9N+3IkSNasmRJ3bx5s1N8+fLlWrx4cfNGrCkpKeYZh7ndkCFDdPDgwebjatWqaZcuXfTll1/Wjh07qmEYOnHiRO3Vq5cWKlTIvHP57cz+tywqKso8cJaQkKDPP/+8jhkzRlWvr4fly5fXvn37avny5bVRo0YaERFhvtb+6wG52ejRo3X27NmqqhoREaE9e/bUpk2bOm3jBw8erA0aNEjzqzK5EUV3Jjlu+O2/wxcaGqqGYehzzz2XZuP+yCOPaLFixXTjxo03u6le5c033zR/fzs6Olrvuusu7dSpkx44cMBc5tixY9qtWzfz5kM7d+70VHNvGY7j8f7779cHH3zQc43xEpx+nzVHjhzRtm3batu2bXXHjh1Oz+XWIts+Vvbs2aPffvutPv744+Zvb6te/z1ye+E9fPhwM37lypWb3lZPSW9sHDx4UIcMGaKVK1d2OuL966+/6hNPPKErVqzI9eugY99t2LBBS5Qokeba0aNHj+pTTz2lwcHB+vHHH6d5j9u5D+3945jjvn379NKlS3r06FEtU6aM2V+OdySvWbOm0/qI6/7v//5PmzZtqhcvXtS6detq06ZNzQLo7Nmz+tlnn2lSUpL+888/+uCDD2rJkiXT3Bz4dnTmzBktWrSoVq1a1bxnyaZNm/TgwYN6+fJlbdCggfbv319V/3cflHr16uXK+wPY2f82/vHHH3ry5EkdPHiwrl271nx+7969ZuHteMT73LlzN72t3oiiOxMcJ/O//PKLtmnTRr///ns9deqUPvXUU3rXXXfp22+/nabwHjly5G39hzEjsbGx+sADD6iPj49ZSB88eFDDwsK0Xbt2+s477+iWLVv0vvvu0549e+qlS5e0QIEC5u+34sbs43LIkCHao0ePXPtzKI44/T5rjhw5ou3bt9f27dub13LndvaffixXrpwWLlxYH330Uafnr1y5ovPmzVPDMPTVV1/1UCs9w3E9mz59uv7nP//R/v37m3eq/f3333XIkCFarlw5HT9+vP7000/asWNHffLJJ3P9zi/Hvvv66691+fLl2qdPH61Zs6bTpWqq149s58mTRw3D0M8///xmN9WjoqKitEWLFqqqunr1ag0LCzPvk9CzZ08tWbKk069TJCYmaosWLXT69OmeaK7Xa9CggRqGoS1atEj3lOikpCS9cOGCnjlz5ia3zjPshXSDBg30gQce0GXLlpnPrVmzRhs0aKB//PGHql7fOfbAAw9o3bp1c+09AuxWrlypISEhWqxYMQ0KCnL6PW7V6zvInnjiCa1evXqaG7DmdhTdbli+fLl53ZD9D2dCQoIOHDhQGzRo4LLwVs09kwtX12GfPHlSe/furf7+/uYR70OHDmm3bt20SpUqWqFCBW3RooW5V7Vx48a6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YdJNREREREREVEuYdBMRERERERHVEibdRERERERERLWESTcRERERERFRLWHSTURERLVKURTs3LlT32EQERHpBZNuIiKiemrq1KlQFAWzZ8++b92cOXOgKAqmTp360P7em2++iZ49ez60zyMiIqoPmHQTERHVY+3atcO2bdtw9+5ddVlZWRk+/fRT2NnZ6TEyIiIiw8Ckm4iIqB5zdXWFnZ0dkpOT1WXJyclo164devXqpS4rLy/HvHnz8MQTT6Bhw4bw8PDAP//5T3X9d999B0VRcPDgQfTp0weNGzfGU089hTNnzgAAEhISsHz5cvz8889QFAWKoiAhIUHdv7i4GKNGjULjxo3h7OyML774ovYPnoiI6DHApJuIiKiemzZtGuLj49Xf4+LiMH36dJ1tXnvtNWzfvh1btmzBTz/9BCcnJwwdOhTXr1/X2e7111/H2rVrcfToUZiYmKifM378eCxcuBBdu3bFlStXcOXKFYwfP17db/ny5fD398eJEycwfPhwBAYG3vfZRERE9RGTbiIionouKCgIqampuHDhAi5evIi0tDRMmjRJXf/bb78hOjoaUVFR8Pb2RpcuXRATE4NGjRrho48+0vmsVatWwdPTE126dEFoaCjS09NRVlaGRo0awdzcHCYmJrC2toa1tTUaNWqk7jd16lRMmDABTk5OWL16NX777TdkZmY+su+AiIhIX0z0HQARERHVrlatWmHEiBHYsmULRAQjRoxAq1at1PW5ubmorKzEgAED1GWmpqbo27cvTp06pfNZLi4u6s82NjYAgKKiov84Przmfk2aNEHTpk1RVFT0l46LiIioLmDSTUREZACmT5+OuXPnAgA+/PBDnXUiAuDe1F6/X/77ZaampurP2nUajeY//v2a+2n3/TP7ERER1XXsXk5ERGQAhg0bhoqKClRUVGDo0KE665ycnGBmZobU1FR1WWVlJY4ePYrOnTv/6b9hZmaG6urqhxYzERFRfcA33URERAbA2NhY7SpubGyss65JkyYIDg7GokWL0KJFC9jZ2SEyMhJ37tzBjBkz/vTfsLe3x/nz53H8+HHY2tqiadOmaNCgwUM9DiIiorqGSTcREZGBsLCweOC6v/3tb9BoNAgKCsLt27fRp08f7N+/H5aWln/688eMGYPk5GR4eXnh5s2biI+Px9SpUx9C5ERERHWXItqBXERERERERET0UHFMNxEREREREVEtYdJNREREREREVEuYdBMRERERERHVEibdRERERERERLWESTcRERERERFRLWHSTURERERERFRLmHQTERERERER1RIm3URERERERES1hEk3ERERERERUS1h0k1ERERERERUS5h0ExEREREREdUSJt1EREREREREteT/AAUxtZ0L51tXAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# 1. DEFINE THE ABSOLUTE FILE PATH\n", + "# *** IMPORTANT ***\n", + "# You must change the path below to match the exact location of the CSV file on your computer.\n", + "# Based on our previous conversation, this should be:\n", + "travel_trip_data = r\"D:\\Ironhack\\Week4\\first_project\\data\\raw\\Travel details dataset.csv\"\n", + "\n", + "# --- Column Cleaning Function (Must be defined first) ---\n", + "def clean_column(name):\n", + " \"\"\"Cleans column names.\"\"\"\n", + " return name.lower().strip().replace(\" \", \"_\").replace('', '') \n", + "\n", + "# --- Load Data and Clean Columns ---\n", + "try:\n", + " # Use the absolute path variable to load the file\n", + " travel_trip_safina_df = pd.read_csv(travel_trip_data, encoding='ISO-8859-1')\n", + " print(\"File loaded successfully.\")\n", + "\n", + "except FileNotFoundError:\n", + " print(f\"ERROR: File not found at the specified path.\")\n", + " print(f\"Please check and correct the path variable: {travel_trip_data}\")\n", + " # Stopping execution if file is not found\n", + " raise\n", + "\n", + "travel_trip_safina_df.columns = [clean_column(col) for col in travel_trip_safina_df.columns] \n", + "\n", + "# --- 2. Prepare 'end_month' Column ---\n", + "# Convert 'end_date' to datetime\n", + "travel_trip_safina_df['end_date'] = pd.to_datetime(travel_trip_safina_df['end_date'], errors='coerce')\n", + "\n", + "# Extract 'end_month' as a clean integer (1=Jan, 12=Dec)\n", + "travel_trip_safina_df['end_month'] = travel_trip_safina_df['end_date'].dt.month.astype('Int64')\n", + "\n", + "# --- 3. Analyze Month Frequencies ---\n", + "# Count the number of trips ending in each month and sort descending\n", + "month_counts = travel_trip_safina_df['end_month'].value_counts().sort_values(ascending=False)\n", + "\n", + "# --- 4. Map Month Numbers to Names for Readability ---\n", + "month_map = {\n", + " 1: 'January', 2: 'February', 3: 'March', 4: 'April', \n", + " 5: 'May', 6: 'June', 7: 'July', 8: 'August', \n", + " 9: 'September', 10: 'October', 11: 'November', 12: 'December'\n", + "}\n", + "\n", + "# Apply the mapping\n", + "month_counts.index = month_counts.index.map(month_map)\n", + "\n", + "# Clean up (remove 'NaN' index if present) and rename for display\n", + "if 'nan' in month_counts.index:\n", + " month_counts = month_counts.drop('nan')\n", + "month_counts = month_counts.rename_axis('End Month').rename('Number of Trips')\n", + "\n", + "# --- 5. Display the results ---\n", + "print(\"\\n--- Month Travel Frequency (Sorted) ---\")\n", + "print(\"The month with the highest number of trips is at the top.\")\n", + "print(month_counts)\n", + "\n", + "# --- 6. Generate Plot (Optional) ---\n", + "plt.figure(figsize=(10, 6))\n", + "month_counts.plot(kind='bar', color='teal')\n", + "plt.title('Travel Frequency by End Month (Sorted)')\n", + "plt.xlabel('Month')\n", + "plt.ylabel('Number of Trips')\n", + "plt.xticks(rotation=45, ha='right')\n", + "plt.grid(axis='y', linestyle='--', alpha=0.7)\n", + "plt.tight_layout()\n", + "plt.savefig('travel_frequency_by_month_final.png')" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "id": "36f7845a-027d-4d60-8578-88682c1018e3", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "File loaded successfully.\n", + "\n", + "--- Most Frequent Travel Destinations (Top 10) ---\n", + " country city Number of Trips\n", + "5 Bali Bali 7\n", + "26 Japan Tokyo 7\n", + "16 France Paris 7\n", + "34 Paris Paris 7\n", + "22 Indonesia Bali 5\n", + "32 New York New York 5\n", + "38 Rome Rome 5\n", + "47 Sydney Sydney 5\n", + "53 Tokyo Tokyo 5\n", + "6 Bangkok Bangkok 4\n" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAKyCAYAAAAEvm1SAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAA3GVJREFUeJzs3XmcjXX/x/H3NWfMGGMGg7HvlbFkKUtCRkK2JCpKiVbcUaFoH7otaVHdEYW0oBQqbpUkpVRGJCSFsky2wWCMWc75/v7wO9c9ZxbNcOY6zLyej4dHzedcc873e33Ocp33XItljDECAAAAAAAAHBQU6AEAAAAAAACg6CGUAgAAAAAAgOMIpQAAAAAAAOA4QikAAAAAAAA4jlAKAAAAAAAAjiOUAgAAAAAAgOMIpQAAAAAAAOA4QikAAAAAAAA4jlAKAAAAAAAAjiOUAoAiwLKsPP376quvCnwsb731lvr27au6desqKChINWvWzHXZEydO6IEHHlDlypVVvHhxNWnSRPPnz8/T4zz99NOyLEtBQUHasWNHttuTk5MVGRkpy7J0xx13nOVszmzLli16+umn9eeff+Zp+TfffDPX3owcObJAxni+mjt3rqZMmfKPy51pnWX+d6bnWaDExsYqNjY2T8t55xEUFKSIiAhddNFFuvHGG/XBBx/I4/EU6DjHjx+vxYsXZ6t/9dVXjrxvTJ06VW+++Wa2+p9//inLsnK87XyRnp6umJgYTZw4MdttGzdu1MCBA1WrVi0VL15cJUuW1GWXXaZnn31Whw8ftpfL+jw5efKknn76aUfer71SU1P1n//8R23atFGZMmUUEhKiKlWq6KabbtKqVascG8eZJCQk6Omnn9aGDRsK5P6vuuoqPfDAAwVy3wBQlAUHegAAgIK3Zs0an5/HjRunlStX6ssvv/Sp169fv8DH8vbbb2vfvn1q0aKFPB6P0tPTc132hhtu0Nq1azVx4kRdcsklmjt3rvr16yePx6NbbrklT49XsmRJzZ49W+PGjfOpL1iwQOnp6SpWrNg5zedMtmzZori4OMXGxuYrFJk9e7ZiYmJ8apUrV/bz6M5vc+fO1aZNm/7xS2C3bt2yPb9btWqlPn36aMSIEXYtNDS0IIbpmNq1a+vdd9+VdDpQ3blzpxYvXqwbb7xRbdu21SeffKJSpUoVyGOPHz9effr00fXXX+9Tv+yyy7RmzZoCf9+YOnWqypUrly08rlSpktasWaM6deoU6OOfi6lTp+rIkSO6//77feqvv/66hgwZorp162rUqFGqX7++0tPTFR8fr9dee01r1qzRokWL7PvI7OTJk4qLi5OkPIWa5+rQoUO69tprtXHjRg0aNEijRo1SVFSU9u7dq48++kgdOnTQunXr1Lhx4wIfy5kkJCQoLi5ONWvWVJMmTfx+/+PGjVPHjh01ePBg1a1b1+/3DwBFFaEUABQBV1xxhc/P5cuXV1BQULa6Ez777DMFBZ3eUbd79+7atGlTjsv997//1fLly+0gSpLat2+vv/76S6NGjdLNN98sl8v1j4938803a86cOYqLi7MfV5JmzpypXr166eOPP/bDrPyrYcOGatasWZ6WTU9Pl2VZCg4umh/p5cuXV/ny5bPVK1SocMbnt9vtVkZGxgUTVoWFhWWbz1133aXZs2dr0KBBuueee/Tee+85OqbIyMiAvId4hYaGBvTx/0lGRoYmT56sQYMGKTw83K6vWbNGgwcPVseOHbV48WKf52DHjh01YsQIffrpp3bNiT8WnMntt9+un3/+WZ999pmuvvpqn9v69u2rhx56SGXKlAnQ6M7eyZMnVaJEiTwv365dO9WtW1fPP/+8ZsyYUYAjA4CihcP3AACSpMOHD2vIkCGqUqWKQkJCVLt2bT322GNKTU31Wc6yLP3rX//S9OnTdckllyg0NFT169fP82F1mYOhM1m0aJFKliypG2+80ac+cOBAJSQk6IcffsjT/QwaNEi7d+/W8uXL7dq2bdu0evVqDRo0KMff2bVrl/r376/o6GiFhoaqXr16ev7557MdJjVt2jQ1btxYJUuWVEREhGJiYvToo49KOn1YmXfs7du3tw+/OpdDjbyHS7399tsaMWKEqlSpotDQUP3xxx+SpC+++EIdOnRQZGSkSpQoodatW2vFihXZ7mfp0qVq0qSJQkNDVatWLT333HP24Y5eZzo0yrIsPf300z6133//XbfccovPOnv11VdzHP+8efP02GOPqXLlyoqMjNQ111yj3377zV4uNjZWS5cu1V9//eVzCN7Z8s7l2Wef1TPPPKNatWopNDRUK1eu1KlTpzRixAg1adJEpUqVUlRUlFq1aqWPPvrI5z6aNm2qtm3bZrtvt9utKlWq6IYbbrBraWlpeuaZZxQTE6PQ0FCVL19eAwcO1MGDB896DrkZOHCgunbtqgULFuivv/6y68YYTZ06VU2aNFFYWJjKlCmjPn36ZDuUdf369erevbvdt8qVK6tbt27as2ePpNO9Tk5O1pw5c+w+ePfOyenwvTvuuEMlS5bUH3/8oa5du6pkyZKqVq2aRowYke29JC4uTi1btlRUVJQiIyN12WWXaebMmTLG2MvUrFlTmzdv1qpVq7Idipnbc3T16tXq0KGDIiIiVKJECV155ZVaunSpzzLewz5XrlypwYMHq1y5cipbtqxuuOEGJSQk+Cz75ZdfKjY2VmXLllVYWJiqV6+u3r176+TJk2fszccff6y9e/fqtttu86mPHz9elmVpxowZOYaiISEhuu666+yfMx++9+eff9ohbFxcnL1O7rjjDn3zzTf26yurt956S5Zlae3atWccc1br1q3TsmXLdOedd2YLpLyaN2+u6tWr2z9v2rRJPXv2VJkyZezDrufMmePzO971n/XQ5pyeU7GxsWrYsKHWrl2rtm3bqkSJEqpdu7YmTpxovyd/9dVXat68uaTTrwnvevG+T3mfl7/88os6deqkiIgIdejQQePGjVNwcLB2796dbV6DBg1S2bJlderUKbt22223ae7cuTp+/Hie1yEA4MwIpQAAOnXqlNq3b6+33npLDz30kJYuXar+/fvr2Wef9fmy7fXxxx/r5Zdf1tixY/XBBx+oRo0a6tevnz744AO/jWnTpk2qV69etj2AGjVqZN+eFxdffLHatm2rWbNm2bVZs2apZs2a6tChQ7blDx48qCuvvFKff/65xo0bp48//ljXXHONRo4cqX/961/2cvPnz9eQIUPUrl07LVq0SIsXL9aDDz6o5ORkSacPKxs/frwk6dVXX9WaNWu0Zs0adevW7R/H7N2LJ/O/zMaMGaNdu3bptdde0yeffKLo6Gi988476tSpkyIjIzVnzhy9//77ioqKUufOnX2CqRUrVqhnz56KiIjQ/PnzNXnyZL3//vuaPXt2ntZnTrZs2aLmzZtr06ZNev7557VkyRJ169ZNw4YNsw8zyuzRRx/VX3/9pTfeeEMzZszQ77//rh49esjtdks6fbhS69atVbFiRXu9ZT1E72y8/PLL+vLLL/Xcc89p2bJliomJUWpqqg4fPqyRI0dq8eLFmjdvntq0aaMbbrhBb731lv27AwcO1OrVq/X777/73Ofnn3+uhIQEDRw4UJLk8XjUs2dPTZw4UbfccouWLl2qiRMnavny5YqNjVVKSso5zyOr6667TsYYffPNN3bt3nvv1QMPPKBrrrlGixcv1tSpU7V582ZdeeWV2r9/v6TThwF27NhR+/fv16uvvqrly5drypQpql69uv2le82aNQoLC1PXrl3tPmQ9nCyr9PR0XXfdderQoYM++ugjDRo0SC+++KImTZrks9yff/6pe++9V++//74WLlyoG264Qffff7/PobaLFi1S7dq11bRpU/vxvYe15WTVqlW6+uqrlZSUpJkzZ2revHmKiIhQjx49ctyT7K677lKxYsU0d+5cPfvss/rqq6/Uv39/nzF269ZNISEhmjVrlj799FNNnDhR4eHhSktLO+N6WLp0qaKjo332dHK73fryyy91+eWXq1q1amf8/ZxUqlTJ3ovqzjvvtNfJE088obZt26pp06bZwmBJ+s9//qPmzZvbwU1eff7555KU7dDN3Pz222+68sortXnzZr388stauHCh6tevrzvuuEPPPvtsvh47s3379unWW29V//799fHHH6tLly4aM2aM3nnnHUmnDyX1voc9/vjj9nq566677PtIS0vTddddp6uvvlofffSR4uLidO+99yo4OFjTp0/3ebzDhw9r/vz5uvPOO1W8eHG7Hhsbq+TkZEfP5wUAhZ4BABQ5AwYMMOHh4fbPr732mpFk3n//fZ/lJk2aZCSZzz//3K5JMmFhYWbfvn12LSMjw8TExJiLLrooX+Po1q2bqVGjRo63XXzxxaZz587Z6gkJCUaSGT9+/Bnv+6mnnjKSzMGDB83s2bNNaGioSUxMNBkZGaZSpUrm6aefNsYYEx4ebgYMGGD/3ujRo40k88MPP/jc3+DBg41lWea3334zxhjzr3/9y5QuXfqMY1iwYIGRZFauXHnG5bxmz55tJOX4Lz093axcudJIMldddZXP7yUnJ5uoqCjTo0cPn7rb7TaNGzc2LVq0sGstW7Y0lStXNikpKXbt2LFjJioqymTeLNi5c6eRZGbPnp1tnJLMU089Zf/cuXNnU7VqVZOUlOSz3L/+9S9TvHhxc/jwYWOMscfftWtXn+Xef/99I8msWbPGrp3pufFPJJmhQ4dmm0udOnVMWlraGX83IyPDpKenmzvvvNM0bdrUrh86dMiEhISYRx991Gf5m266yVSoUMGkp6cbY4yZN2+ekWQ+/PBDn+XWrl1rJJmpU6fatXbt2pl27dr943zatWtnGjRokOvty5YtM5LMpEmTjDHGrFmzxkgyzz//vM9yu3fvNmFhYebhhx82xhgTHx9vJJnFixef8fGzvka8vP3M/PweMGBAju8lXbt2NXXr1s31Mdxut0lPTzdjx441ZcuWNR6Px76tQYMGOa6nnJ6jV1xxhYmOjjbHjx+3axkZGaZhw4amatWq9v16X2tDhgzxuc9nn33WSDJ///23McaYDz74wEgyGzZsyHXsualXr5659tprfWr79u0zkkzfvn3zfD9ZnycHDx7M9hr08s5r/fr1du3HH380ksycOXPyOwVz3333GUlm69ateVq+b9++JjQ01Ozatcun3qVLF1OiRAlz9OhRn3Hu3LnTZ7mcnlPt2rXL8T25fv36Pp8R3tdYTu9Z3uflrFmzcrwtOjrapKam2rVJkyaZoKCgbONLS0szlmWZRx555EyrAQCQD+wpBQDQl19+qfDwcPXp08en7j2xcNZDwDp06KAKFSrYP7tcLt188836448/7MN+/OFMh2zl53CuG2+8USEhIXr33Xf13//+V/v27cv1intffvml6tevrxYtWvjU77jjDhlj7JPDt2jRQkePHlW/fv300Ucf6dChQ3kezz956623tHbtWp9/mfcY6927t8/y3333nQ4fPqwBAwb47F3l8Xh07bXXau3atUpOTlZycrLWrl2rG264weev/949Sc7GqVOntGLFCvXq1UslSpTwefyuXbvq1KlT+v77731+J/OhSdL/9n7LfPhZQbjuuutyPLH9ggUL1Lp1a5UsWVLBwcEqVqyYZs6cqV9//dVepmzZsurRo4fmzJljHzJ05MgRffTRR7r99tvt/ixZskSlS5dWjx49fNZFkyZNVLFixQLZw8JkOtzNOwbLstS/f3+fMVSsWFGNGze2x3DRRRepTJkyeuSRR/Taa69py5YtfhmPZVnZnk+NGjXK1t8vv/xS11xzjUqVKiWXy6VixYrpySefVGJiog4cOJDvx01OTtYPP/ygPn36qGTJknbd5XLptttu0549e3wOE5X++bnYpEkThYSE6J577tGcOXNyvJJnbhISEhQdHZ3veZyLfv36KTo62mdvqVdeeUXly5fXzTffXOCP/+WXX6pDhw7Z9gK74447dPLkybPe47FixYrZ3pNzek79k6zvnZI0fPhwHThwQAsWLJB0em/HadOmqVu3btkuUFGsWDGVLl1ae/fuzd8EAAC5IpQCACgxMVEVK1bMFvRER0crODhYiYmJPvWKFStmuw9vLeuyZ6ts2bI53pf3UulRUVF5vq/w8HDdfPPNmjVrlmbOnKlrrrlGNWrUyHHZxMREVapUKVvde/U775huu+02zZo1S3/99Zd69+6t6OhotWzZ0ufcVWerXr16atasmc+/zLKOz3s4Vp8+fVSsWDGff5MmTZIxRocPH9aRI0fk8XjO2L/8SkxMVEZGhl555ZVsj921a1dJyhbYlS1b1udn73l1CuLQtsxy6uvChQt10003qUqVKnrnnXe0Zs0arV27VoMGDfI5l4x0+hwze/futXs8b948paam+gSc+/fv19GjRxUSEpJtfezbt8+v4aWX94u59zm6f/9+GWNUoUKFbGP4/vvv7TGUKlVKq1atUpMmTfToo4+qQYMGqly5sp566qkzXhXzn5QoUcIn9JRO9zjz+vzxxx/VqVMnSaevRPftt99q7dq1euyxxySd3XPhyJEjMsbk6fXr9U/PxTp16uiLL75QdHS0hg4dqjp16qhOnTp66aWX/nE8KSkp2dZDuXLlVKJECe3cuTPvE8uH0NBQ3XvvvZo7d66OHj2qgwcP6v3339ddd911Vif1954rKq/jzev7Z35l7ZN0eq75eZ6UKFFCkZGR2ere88V5g7wlS5bozz//9DlcO7PixYsX+HsVABQlRfNSPQAAH2XLltUPP/wgY4xPMHXgwAFlZGSoXLlyPsvv27cv2314azl9eTgbl156qebNm6eMjAyfvYR++eUXSaevUJcfgwYN0htvvKGNGzfq3XffzXW5smXL6u+//85W9578OPO6GDhwoAYOHKjk5GR9/fXXeuqpp9S9e3dt27Yt19DLH7KGh94xvfLKK7lejaxChQr2lfrO1D8v75fprCenzvqlskyZMvaeKEOHDs3xsWvVqnWG2Tgnp73r3nnnHdWqVUvvvfeez+1Z5y1JnTt3VuXKlTV79mx17txZs2fPVsuWLX3OGeQ9YXbmq6dlFhER4YeZ+Pr4449lWZauuuoqewyWZembb77JMYjIXLv00ks1f/58GWO0ceNGvfnmmxo7dqzCwsI0evRov4/Va/78+SpWrJiWLFniE9wsXrz4rO+zTJkyCgoKyvPrN6/atm2rtm3byu12Kz4+Xq+88ooeeOABVahQQX379s3198qVK2eH6F4ul0sdOnTQsmXLtGfPHlWtWjXf4/kngwcP1sSJEzVr1iydOnVKGRkZuu+++87qvjp37qxHH31Uixcv1rXXXvuPy+f1/TO395eCCG29zrR37bBhw3TjjTfqp59+0n/+8x9dcskl6tixY47LHjly5KyeRwCAnLGnFABAHTp00IkTJ7J9IfSe6DnrCcFXrFhh750jnT5573vvvac6der47UtWr169dOLECX344Yc+9Tlz5qhy5cpq2bJlvu6vVatWGjRokHr16qVevXrlulyHDh20ZcsW/fTTTz5179Wr2rdvn+13wsPD1aVLFz322GNKS0vT5s2bJTm3B1Dr1q1VunRpbdmyJdseVt5/ISEhCg8PV4sWLbRw4UKfvVaOHz+uTz75xOc+K1SooOLFi2vjxo0+9axXpStRooTat2+v9evXq1GjRjk+9tkElfndC+JsWZalkJAQny+s+/btyzZP6X+HgS1evFjffPON4uPjs13BsXv37kpMTJTb7c5xXdStW9ev4589e7aWLVumfv362Xu1dO/eXcYY7d27N8cxXHrppTmuh8aNG+vFF19U6dKlfZ7/BdELy7IUHBwsl8tl11JSUvT2229nWzavjx8eHq6WLVtq4cKFPst7PB698847qlq1qi655JKzHrPL5VLLli3tPWqyvkdkFRMTo+3bt2erjxkzRsYY3X333TmeLD09PT3b6zGzf3pfqVSpkm688UZNnTpVr732mnr06OFzdbz8uOyyy9SlSxfNnDnTPnQ5q/j4eO3atUvS6ffPL7/8MtsVDN966y2VKFHCDs29h8VlfX/5+OOPz2qc0rm93/bq1UvVq1fXiBEj9MUXX2jIkCE5hlgJCQk6deqUTxANADg37CkFANDtt9+uV199VQMGDNCff/6pSy+9VKtXr9b48ePVtWtXXXPNNT7LlytXTldffbWeeOIJhYeHa+rUqdq6davmz5//j4+1ZcsW+9w1+/bt08mTJ+2r9tWvX9/e2O/SpYs6duyowYMH69ixY7rooos0b948ffrpp3rnnXd8vszm1cyZM/9xmQcffFBvvfWWunXrprFjx6pGjRpaunSppk6dqsGDB9tfau+++26FhYWpdevWqlSpkvbt26cJEyaoVKlS9hWuvHtzzZgxQxERESpevLhq1arlt73JvEqWLKlXXnlFAwYM0OHDh9WnTx9FR0fr4MGD+vnnn3Xw4EFNmzZNkjRu3Dhde+216tixo0aMGCG3261JkyYpPDzcZ68O7zmJZs2apTp16qhx48b68ccfNXfu3GyP/9JLL6lNmzZq27atBg8erJo1a+r48eP6448/9Mknn+T6ZfZMLr30Ui1cuFDTpk3T5ZdfrqCgoGyHMfpD9+7dtXDhQg0ZMkR9+vTR7t27NW7cOFWqVCnblfak03vcTZo0SbfccovCwsKynaenb9++evfdd9W1a1cNHz5cLVq0ULFixbRnzx6tXLlSPXv2PGMompuUlBT73FwpKSnasWOHFi9erCVLlqhdu3Z67bXX7GVbt26te+65RwMHDlR8fLyuuuoqhYeH6++//9bq1at16aWXavDgwVqyZImmTp2q66+/XrVr15YxRgsXLtTRo0d99hK59NJL9dVXX+mTTz5RpUqVFBERcc7hWrdu3fTCCy/olltu0T333KPExEQ999xzOe7Z5d2b67333lPt2rVVvHjxHIM1SZowYYI6duyo9u3ba+TIkQoJCdHUqVO1adMmzZs3L1/nopOk1157TV9++aW6deum6tWr69SpU/aVPLO+L2YVGxursWPH6uTJkypRooRdb9WqlaZNm6YhQ4bo8ssv1+DBg9WgQQOlp6dr/fr1mjFjhho2bJjred4iIiJUo0YNffTRR+rQoYOioqJUrlw5n/MfDR8+3A7uc7qy5p9//qlatWppwIABevPNN884j7feekvXXnutunTpokGDBqlLly4qU6aM/v77b33yySeaN2+e1q1bp+rVq+upp57SkiVL1L59ez355JOKiorSu+++q6VLl+rZZ59VqVKlJEnNmzdX3bp1NXLkSGVkZKhMmTJatGiRVq9efcaxnEmdOnUUFhamd999V/Xq1VPJkiVVuXJl+9DBM3G5XBo6dKgeeeQRhYeH53rOQe9rMKc/TgAAzlKgzrAOAAicrFffM8aYxMREc99995lKlSqZ4OBgU6NGDTNmzBhz6tQpn+X0/1c2mzp1qqlTp44pVqyYiYmJMe+++26eHtt7Vbyc/mW9mtTx48fNsGHDTMWKFU1ISIhp1KiRmTdvXr4e5+DBg2dcLqcri/3111/mlltuMWXL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9derWbNm6ty5s1auXGnfhsB4/PHHtXjxYhljfILDxo0b80f7CxivqiKqfPnysixLb7/9thYsWCBJuv/++zVu3DjNmDFDr7/+OsFUgGX+S8wbb7yhKVOm6Pbbb1e1atU0Y8YMPfPMM9q7d28ARwhJ9h5SvXr10i233KLVq1dr+/bt+u6777Rnzx42LgMoc3BrWZaOHj2q2267Tf3799cbb7yhFi1aSJJ+//13HTlyJFDDhHy/SLdp00bvvvuuvvzyS1199dWaOnWqEhISAj3EIi04OFjTp0/X6NGj7fNPnjhxQpZlqVixYnwROI94g91rrrlGnTt31qeffqrPP/9cS5Ys0WeffcZeHgGU2/ZAt27ddP311+u5557TyZMneT0FmHf9x8XF6aWXXtL999+voUOH6pJLLlGnTp00f/58SewxFQhJSUmaP3++pkyZos8//9z+w29CQgL9uMARShVBHo9H9erV04wZM2SM0YwZM+w32JEjR2rYsGGaOXMmwVSAef8S88MPP2jjxo164403dN9992nhwoXq27ev1q1bp/HjxxNMnQe2bt2qChUq6N///rdOnjypa6+9Vh06dNBTTz2lYsWK6eDBg4EeYpHzxRdfqEuXLjp06JC9oZKUlKTg4GD1799fxhi9+eab6tu3rxo3bqw777xTq1atCvCoi66goCDt2rVLvXv31h133KHVq1drzZo1sixLzz//vF5//XX2Dg2g66+/Xh9//LFee+01jRgxQtLpbQm3262UlBS+DJxnvvrqK7Vq1Urjx49X2bJldd9996ljx46655572MsjgLxhx8SJEzVr1iz9/PPP9m2dO3fWli1bdOjQIUkEHoF2+PBhffrpp3ruued066236v7779fMmTM1evRo9e/fXxs2bOC15DCPx6NSpUrpu+++U3p6usaPH68vvvhCkpSamspr5gLHq6kICgoKksfjUd26dfXSSy/J5XJp5syZdjD18MMP28HUrFmz7HNPwXnLly/XbbfdpgULFqh48eJ2feTIkerdu7d++uknTZgwgfOAOSzrXzv/+usvBQcHS5Lat2+vEiVKaOHChSpZsqRWr16tWbNm6dixY4EYapEVFham1157TeXKlbMPOYqKitLOnTv16KOPqnnz5po3b54qVKigd955Rz/99JN++OGHAI+66Hjvvfc0duxY+2djjDZu3Kj27dsrLi5OaWlpatWqlVq2bKlBgwZp7NixeuONN3ivCwDvxQE6d+6s//73v5o9e7YeeeQRJScnKzo6Wlu3btX27dt16NAh7dmzRxs2bOCEswH2888/24cmt2nTRsWLF9cHH3ygkiVL6sMPP9Qbb7wR4BEWXcYYbd++XVOmTNFNN92kRx55RL/99ptuu+02RUVFKS4uTpIIPByWNdA4duyYtmzZovDwcEn/O6TvkUce0VVXXaW5c+fKGMPe8A4KCgqS2+1WdHS0Fi1apLS0NI0bN04rVqxQaGioypcvr8TERP39999KSEhQYmKifv75Zy7idYHgHa+I8b55ej/s6tatqxdffFFBQUHZgqkHH3xQzz//vKZPn+5zHgk4p2PHjurdu7cyMjK0cOFCn0OMRo4cqRtvvFHLli2zD8FEwfOeQPbAgQP666+/JElXXXWVfv31V1WoUEHly5fXokWLFBERIUn67rvvtHz5ciUnJwdy2EVO69atdcUVVyghIUHXXnutli1bpoiICH333XeqUKGCWrdurZdeeknjx4/XDTfcoJYtW9qHJbGRWbBOnjypX3/9VS1btrRrlmWpfv36uuuuu1SsWDHde++9KlWqlN59910988wz9mfVrFmz+DxyUOZzsXXt2lXVqlXTe++9pylTpmjQoEHasWOHOnXqpDZt2qhly5Zq2rSp2rZtqz///DPQQy8ycnq/6ty5sxISElS3bl1FRUVp4cKF9mfS5s2b9dlnn+no0aMOj7Royhp2WJal119/XYsWLdJTTz2ljz76SHfccYd69eqldu3aadOmTdq+fXuARlt0eb8XvfPOOzLGqGbNmoqNjdW8efN06NAhey+3kiVLqmTJkjpy5Igsy+JQS4d43+dcLpckKTo6WosXL1ZaWpoef/xxffXVV7rnnnvUoUMHXXbZZapXr54aN26ssWPHEvBeKAyKjIyMDGOMMceOHTO7du0yx48fN6mpqcYYYzZv3mw6depkrrnmGjNv3jz7dyZMmGBWrFgRkPEWNW63O9fbRo0aZZo2bWrGjh1rjhw54nPb3Llz7d6iYHnX88aNG81ll11mhgwZYhISEkxqaqqJi4szlSpVMuPHjzfGGLN//34zc+ZMEx4ebpYsWRLIYRc56enpxhhjEhMTzcqVK03Xrl3NZZddZr+XZX29zJw505QqVcqsWrXK8bEWVSkpKcYYY7Zv324mTZpk191utzly5Ii54oorzFtvvWWMMebo0aPm5ptvNvfcc4/58ssvAzLeosj7Ojly5Ii55pprzOjRo+1thmXLlplSpUqZLl26mF9++cX8/vvv5s8//zTbtm0zf/75ZyCHXaRk7tHu3buNx+Mxxhjz66+/mquvvtpUr17dLF682Bhz+jU3e/ZsExUVZT777LOAjbkoybxd98Ybb5jHH3/c9O3b13z77bcmMTHRGHP6c+qzzz4zPXv2NKVLlzaWZZlp06YFashF2s6dO0316tXNG2+8YYwxZurUqaZVq1bm0UcfNcePHzfGGJOammratWtnHnvssUAOtUjJ/Do6dOiQOXnypDl27JgxxpiEhATTtm1bExMTY8aNG2d27txptm/fbn788Ufz22+/8f3oAkIoVUR4X5S//PKLadWqlbnoootMs2bNzDPPPGP2799vjDFm06ZNplOnTubaa6+1vwx4eTd0UDAyv+F+9tlnZvr06eazzz4zf/zxh11/4IEHzOWXX55jMGVM9i/aKBi//fabKVOmjHnkkUfM77//btd///13M2bMGFOiRAlTt25dc9lll5lq1aqZ+fPnG2N4DTltw4YNpnbt2mb9+vVm1apV5sYbbzSNGjXyCTU+//xzc/fdd5ty5crZfYIzPB6PycjIMBMnTjTly5c3Y8eOtW/77bffTK1atcyrr75q9u/fb959913TtGlT+0scryXn7Ny500yZMsXceOON5q+//jLG/G/9L1myxISEhJiHH344x88f+lSwvOt348aN5uKLLzb16tUzDRs2NN99950xxpivvvrKtGvXzlxyySUmNjbW9OjRw0RFRfGZFACjRo0yFStWNMOGDTO9evUyFStWNE8++aQ5ceKEz3KrV682//rXv0z9+vXNrl27AjTaois5Odn06NHD9O/f36498cQTplmzZqZ+/fpm4MCBpmXLlqZ+/fr2H79QsDK/Tz3zzDMmNjbW1K1b1/Tp08cO1//++2/TokULExsba7744ots98H3owsDoVQR8uuvv5ry5cuboUOHmk2bNpkxY8aY6tWrm7vvvtskJCQYY07vMdWmTRvTvn17u4aClfkN9+GHHzZVqlQxl112mYmJiTF9+vTx+RL94IMPmhYtWphRo0bZf7WBc9xutxk5cqS5+eabjTH/6533A+/48eNmw4YNZtKk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Wl9//bXCw8OVkZGh4OBgtW7dOtBDL5IOHjyoyMhIDR06VJL03nvvaenSpVq+fLm6d++uxx9/XPfee6/S09PVoUOHAI+28AsKClJycrI2b96sFi1a6LffflPbtm3Vv39/de/eXXv37tXMmTP1xx9/6IMPPtD48eMVHBysCRMmKCMjQyNGjFBISEigp1EkmP/fK/fo0aN6//33NWzYMD3zzDOSpPvuu0+vv/66SpYsqVtuuUWRkZGSTu+Fs2HDBlWoUCGQQy8SjDH2Ntnbb7+tjRs3qkmTJrriiitUp04djRgxQlOmTNGqVat05ZVXaufOnXr55Ze1d+9eLV682N7jOigoSK1atQrwbAqfV155RQMHDlTJkiXl8XiUkZGh5cuXa9SoUapXr57q1aunf/3rX3r11Ve1bt06xcbGKiwsTH///bfS0tIUFhZmvwZRMH744Qc1adJEoaGh8ng8SkhI0LRp09S3b1+5XC61adNG8+fP17vvvqsBAwYoMjJSJ0+eVHp6uqpWrRro4cMfAhqJwS+8KX5SUpKpVq2a6dOnj0lMTDQ//vijadu2rXn55Zd9lp87d65p1qyZGTBggBkzZowpVqxYjlcrgP9l/mvYrFmzzDPPPGMef/xx88cff9h7so0fP95ceuml5ueffzbGGNOzZ0/z/PPP27/LHlIFy7t+ExISTJkyZcxdd91l7rvvPtO8eXNz0UUX2X+NXrBggenfv79p0aKFufXWW83SpUuNMZyrwyne973NmzebTp06mSuuuMI0btzYPmm5MaevSlW/fn3TokULLgwQAFlfC7///ruxLMvcd9995qqrrjLXXnutufPOO80LL7xgKlasaObMmWOM4TxfTvF4PObuu++2L9zw6KOPmp49e9q3p6WlmWXLlpny5cub4cOH2/XHHnvMPicbnHPgwAHTvXt3U7duXfPss8/63Hb33Xebiy66yMyYMcPeOzQzXksFJ/O6feyxx0zp0qVNbGysKVu2rLnxxhvNDz/8YNLT082cOXPMxRdfbMqUKWOaNm1qevbsadLS0owxnDC7IG3atMlYlmXuuOMOk5ycbG/jNW7c2CxZssQYk339r1y50jz00EMmKirKjBs3zvExFzVTpkwxlmWZhQsX2q+J3bt3mwoVKpjffvvNXm7YsGGmYcOGpm3btmbIkCGmdevWpkGDBpzfq5AglCok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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# 1. DEFINE THE ABSOLUTE FILE PATH\n", + "# *** IMPORTANT *** Please ensure this path is correct for your local machine.\n", + "travel_trip_data = r\"D:\\Ironhack\\Week4\\first_project\\data\\raw\\Travel details dataset.csv\"\n", + "\n", + "# --- Column Cleaning Function ---\n", + "def clean_column(name):\n", + " \"\"\"Cleans column names.\"\"\"\n", + " return name.lower().strip().replace(\" \", \"_\").replace('', '') \n", + "\n", + "# --- Load Data and Clean Columns ---\n", + "try:\n", + " # Use the absolute path variable to load the file\n", + " travel_trip_safina_df = pd.read_csv(travel_trip_data, encoding='ISO-8859-1')\n", + " print(\"File loaded successfully.\")\n", + "\n", + "except FileNotFoundError:\n", + " print(f\"ERROR: File not found. Please check and correct the path variable: {travel_trip_data}\")\n", + " raise\n", + "\n", + "travel_trip_safina_df.columns = [clean_column(col) for col in travel_trip_safina_df.columns] \n", + "\n", + "# --- 2. Split Destination into City and Country ---\n", + "travel_trip_safina_df['destination'] = travel_trip_safina_df['destination'].str.strip()\n", + "destination_split = travel_trip_safina_df['destination'].str.split(',\\s*', expand=True)\n", + "\n", + "travel_trip_safina_df['city'] = destination_split[0].str.strip()\n", + "travel_trip_safina_df['country'] = destination_split[1].fillna(destination_split[0]).str.strip() \n", + "\n", + "# --- 3. Analyze Destination Frequencies ---\n", + "# Group by both country and city to count the number of trips\n", + "destination_counts = travel_trip_safina_df.groupby(['country', 'city']).size().reset_index(name='Number of Trips')\n", + "\n", + "# **This is the critical line that completes the statement and fixes the SyntaxError**\n", + "destination_counts = destination_counts.sort_values(by='Number of Trips', ascending=False)\n", + "\n", + "# --- 4. Display the top 10 destinations ---\n", + "print(\"\\n--- Most Frequent Travel Destinations (Top 10) ---\")\n", + "print(destination_counts.head(10))\n", + "\n", + "# --- 5. Generate Plot (Optional) ---\n", + "top_10_destinations = destination_counts.head(10).copy()\n", + "top_10_destinations['Destination'] = top_10_destinations['city'] + ', ' + top_10_destinations['country']\n", + "\n", + "plt.figure(figsize=(12, 7))\n", + "plt.bar(top_10_destinations['Destination'], top_10_destinations['Number of Trips'], color='indigo')\n", + "plt.title('Top 10 Most Frequent Travel Destinations (City, Country)')\n", + "plt.xlabel('Destination')\n", + "plt.ylabel('Number of Trips')\n", + "plt.xticks(rotation=45, ha='right')\n", + "plt.grid(axis='y', linestyle='--', alpha=0.7)\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "id": "a485c7ea-8895-48c9-8dce-c536a7e3c409", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "File loaded successfully.\n", + "\n", + "--- Top Travel Destinations (City, Country) for September ---\n", + " country city Number of Trips\n", + "12 Tokyo Tokyo 3\n", + "0 Bangkok Bangkok 2\n", + "2 Greece Athens 1\n", + "3 Japan Tokyo 1\n", + "4 Paris Paris 1\n", + "1 Brazil Brazil 1\n", + "5 Phnom Penh Phnom Penh 1\n", + "6 Phuket Phuket 1\n", + "8 Scotland Edinburgh 1\n", + "7 SA Cape Town 1\n", + "9 Spain Barcelona 1\n", + "10 Sydney Sydney 1\n", + "11 Thailand Bangkok 1\n", + "13 USA New York City 1\n" + ] + }, + { + "data": { + "image/png": "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QGbOnCnR0dEu7pn7cSxT+/btk//973+yfv16uXXrlqu75RYWL14sM2bMEBGRAQMGyBNPPCEnT56UkSNHEkwl4Ag1bTabGIYhZ8+elfDwcDl27Bjr8DssW7ZMnnrqKXnppZekbt26Ur9+fQkODnZ1t9xKXFyciIiEhITIkCFDpHz58vLwww/L33//7eKeuZfNmzdLjRo1pHv37vLcc8/Jzp075ebNm+bnnwhfBEVuzwPHPFm8eLHMnj1bFi5cKCLC+ikJN2/elMOHD8vvv/8ucXFxLEMJONZNzZs3l0GDBsnx48flo48+km3btrm4Z+5lzpw5UrduXVm+fLns3LlTRP59r/G917UIpTxYwg/DsWPHSseOHaV27drSunVr2bBhg9PGgyeKiYmRL7/8UsLCwmTt2rXmIQ2nT59mxZUERyDVsGFDKVKkiLz44otSs2ZNad26tfz222+u7p7LJVxmZs2aJWFhYdKzZ08pVqyYzJw5U95++205deqUC3voence9unt7S1//fWXNG3aVIKCgiRXrlySNWtWF/bQPcTExMi2bdukVKlSZlu/fv2kW7duBFMJfPXVVzJ16lS5fPmyuSxVr15dunbtKmXLlpUPP/yQQ7ETePLJJ2Xo0KHy/vvvS/PmzWXcuHEiQniQUJYsWUREZMyYMTJhwgS5ceOGREZGssfUHa5evSqVK1eWTz75RE6fPi0jR46Uli1byo4dO8wfYBxfBD11+Ur4Y+fLL78szzzzjEydOlX69esn3bt3N7c58a/s2bNLu3bt5Pvvv5cdO3aIYRgeu/wkpKrmumn06NGydu1aOX/+vHzzzTfy1ltvyebNm13cQ9dTVVFV+fTTT2Xv3r2yZs0a6dWrl7zxxhuyZ88eERGP/97rcgqP9+abb2pAQIAuXLhQp0yZor169VIfHx/94osvVFXVZrO5uIfWc9R85swZbdCggTZp0kS///57VVVt3769vvPOO67snluy2Wz69NNPa+/evVVV1W63a/PmzbVVq1Z67do1p+k82a+//qovvviiLlu2zGybOHGi1qtXT/v3768nT550Ye9c6/Tp0063//nnH61WrZoOHjzYqf3gwYN68eJFK7vmdq5cuaKqqocPH9Y5c+aY7dOnT9fGjRvrE088oZGRkS7qnXsYNWqUGoahU6dO1VOnTmmTJk305Zdf1t27d+t7772n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RGirVq00NDRUly5d6vSY48ePm+cq8QTXr1/Xr7/+WkuUKKGdO3dW1dvLValSpZLck3XHjh26d+9ePXnypKp6xrKUcP174cIFcw8WhwULFqi3t7eOGjUq2RMFe9I6PCkJg6iEbS1btvSoKzjf6e+//9b27dubexwuX75c8+bNqz179lTDMHTEiBF6+vRpVb29p6enLEcJ3z/z58/X4cOH68KFC82rE0+ZMkVLly6tPXv21IiICF29erW2adNGq1atar4HPWFeJazx3Llzeu3aNXPb6Ny5czpx4kTz/IkJOQ7pu/M5Mqtbt27pyy+/7BRk3rx5Uzds2KCrVq1KFITv3btXq1ev7vGnGXFHhFKZxJ49e9QwDO3du7deu3bNXBFVq1ZNV65cqaqJf6HasGGDDh06VAMCAvStt96yvM+u8uSTT2revHl16dKlGh8fr6dOndLSpUvruXPnnA4b+vzzz/XFF1/UDh066JAhQzzyxO/nz5/X4OBgHTJkiKre/rArVKiQduzY0VzGrl27pqtXr9YtW7bo/v37VdUzvswkrG/48OGaO3dubdGihRYtWlTLli2rH374oV69elU3b96sDzzwgJYuXVorVKjgcVdBcXC8b/bu3auhoaFar149rVatmtNlxHfv3q2VKlXSunXrevThn4cPH9aSJUvqq6++qqq3T8jp5+enNWvW1KlTp5obnZ06dXI6CawnvO9UnZelRx55RJs3b641a9Y0f4BJGEx56iFojuXgxo0b+tVXX2mJEiW0W7duGhERoe3bt9cff/xRT5w4odHR0XrgwAE9cOCAeZiap0j4hW3cuHFat25dLVOmjLZr104PHTpkLmcLFixQHx8fff311z0yKE+NW7du6enTp7Vt27Zaq1Ytj55f586d0wULFuj169d169atWrRoUfO8ds8++6xmz55dX3jhBadzk2X2EOHOwxrz5MmjzZo103z58un//vc//e233zQuLk4/++wzLVeunObNm1dr1KihHTp0MLfPPWEbPOFy8O6772qzZs20Ro0a2qNHD3PPsDNnzuh7772nVatW1cGDB7uqq27hwoULOnr0aDUMw9xjSjXx++nKlSv68MMPa6tWrTL9e+1+RCiViWzcuFH9/f21V69e5q/GVapUMUMp1aTfoGPGjNFHHnnE/MU5s0q4cdStWzf18/PTr7/+Wn/55RetU6dOijaePG0D69ChQ9qoUSONi4vT+Ph4rVWrlrZp08b8ZdRTjuO/m3PnzmloaKhu377dfH89//zzWqNGDZ07d66qqn7//fc6Y8YMnTBhgkeGmw579+7V/Pnz64ABA3TJkiU6cOBAzZ49u86fP9+c5q+//tLixYtrSEiIR200JNxzbubMmea5WG7evKmNGzfWJk2a6COPPKIlSpTQGTNmaHx8vG7dulV/++038/GZef19p3379mnevHn1hRde0BUrVuigQYPUMAxdu3atqt5e1tq0aaMNGzZMdOGKzM6xHDiC3evXr5vBlJ+fn+bLl08rVKigBQsW1CJFimhgYKAWKFBAf/75Z1d221IJ3yuvvfaaFipUSD/55BMNDw/XwoUL64MPPqhbt24119MLFy5UwzD0k08+cVWX3d6VK1d02LBh2rx5c23QoIHHhggJOc45NmTIEO3WrZt52Oyrr76qTZs21YYNG3rM51zC7ecdO3Zoly5ddNu2baqqumbNGm3evLk+9NBDZpvq7Qt6REdHm+9XT9gGT7huGjlypAYGBuq8efN0zpw5+sADD2hwcLB5AYozZ87opEmTtECBAvrhhx+6qMeuk3DdcuHCBX3ttdfUMAydM2eO03T//POPrly5Ulu3bq0hISHmuslT3nv3C0KpTGbDhg3q5+en3bp107Nnz2rdunV106ZN5v2OX9gTnsR75cqVWrhwYT116pTl/bVKUiuebt26acGCBfWNN97QgIAAbdWqlT7++OPav39/ffLJJ7Vt27a6bNkyF/TWffzxxx9arFgx3blzpzZo0EBDQ0PNQ64iIiK0a9euum/fPhf30nU++OADDQ4O1mbNmjldBU319h55FStWTPJxmX0jPalwxHH5Xceu5jabTRs1aqSFCxdWHx8fnTVrljntrl27nNZbmZ1j/XTo0CHdt2+fHjhwQH///XdVVX3sscc0NDRUVW/vlRgYGKgVK1bUqVOnOj1HZg2kkjpUymazab9+/bRXr15mW/PmzbVly5ZOe9iFh4dr8+bNzeDOk5w5c0aLFCli7il27do1XbJkidauXVurVKmi//zzj0ZHR+u+ffv0+PHjevDgQdd22CJ3/pCyYcMGrVq1qnnOn59++klz5cqlQUFBWqFCBd26dav5RXjNmjUe8aU4rf7++2+dPHmyvvvuux51CfqE25crV67URYsW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jh075nQo9rlz57RLly66bt26TD9/7uSo98yZM9q5c2dt1KiRUzCV8D3VokWLRFcmhHsjlLoPLVq0yDyh3csvv6wBAQE6fPhwbdeundaoUUNbtWpl/vLw008/qb+/vz700EPml2hPM2nSJPX399fNmzfrjh07dNGiRZonTx598sknnX6hadOmjXnuFk9z9uxZrVKlir7yyitmW548ebRXr17mxuiJEyd0/fr1un37dj18+LCqesbJlRN+6L/11lsaEhJiXkVv79695n0//vijlihRQg3D0MGDB2v//v31xo0bqpp5g987Xb9+XYODg7VFixZO7fPmzdOcOXOa5/aZOHGiZs+eXT/++GMdPXq05syZ0+kwx8y4TCW38Xj16lWdPHmyBgQEmCc3V/134+rMmTP6/vvv6zvvvGOGCJlx/tzp8uXLWqpUKe3SpYtTe8WKFfWhhx7SGzdu6MCBA7V69erauXNnff/993XgwIHq6+urS5YscVGvXSc+Pl579OihhmHonj17VPXf5eTy5cvavn17LVCggBlMOZZHT1iWEtZot9t18+bNGhoaqm3btjUP5YuPj9eqVatqo0aNdOrUqfrggw9q9erVzfnkCevwhPPp008/1WHDhumHH35o/piQ3LzI7OHKnY4cOWJeqfLq1avat29fLVKkiFarVs2cxjFPPvvsM61QoUKmPmdrUhIuS19//bU+++yzGhgYqEWKFHEKpubNm6e1a9fWp59+OtGhfJndm2++qR06dFCbzWbOr+3bt5vBlONHulu3bmmrVq20Xr16+uWXX+qDDz6oTZs2TTLo9ASOeqOjo/Wxxx4zgynHeslut+s///yjLVq0MA/Nxv2BUOo+M2PGDDUMQ9etW6d//fWXli1bVjdv3mze/+233+ojjzyiHTp0MHcZdhyj7WkrLocOHTpo//79ndq+++47zZYtm3bv3l137NhhtnvChqfDnYc2VqtWTWNiYvTGjRtar149bdmypXmOlr///tsMWDzVa6+9pkFBQbpkyRL966+/tE6dOlqyZEldt26dqt7+IPzpp5+0ZMmSTnsBedKed999952WLl1au3fv7rTX0759+zRfvny6ZcsWVb0dXg0YMECLFSum1atXN/e6y6wc65WrV6/q8OHDtV+/fjpkyBDz/itXruj06dPV29tb3377bbM9qS97nhAEq94+rNow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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "\n", + "# 1. DEFINE THE ABSOLUTE FILE PATH\n", + "# *** IMPORTANT *** Please ensure this path is correct for your local machine.\n", + "travel_trip_data = r\"D:\\Ironhack\\Week4\\first_project\\data\\raw\\Travel details dataset.csv\"\n", + "\n", + "# --- Column Cleaning Function ---\n", + "def clean_column(name):\n", + " \"\"\"Cleans column names.\"\"\"\n", + " return name.lower().strip().replace(\" \", \"_\").replace('', '') \n", + "\n", + "# --- Load Data and Clean Columns ---\n", + "try:\n", + " # Use the absolute path variable to load the file\n", + " travel_trip_safina_df = pd.read_csv(travel_trip_data, encoding='ISO-8859-1')\n", + " print(\"File loaded successfully.\")\n", + "\n", + "except FileNotFoundError:\n", + " print(f\"ERROR: File not found. Please check and correct the path variable: {travel_trip_data}\")\n", + " raise\n", + "\n", + "travel_trip_safina_df.columns = [clean_column(col) for col in travel_trip_safina_df.columns] \n", + "\n", + "# --- 2. Prepare Date Columns and Filter for September ---\n", + "# Convert 'start_date' to datetime\n", + "travel_trip_safina_df['start_date'] = pd.to_datetime(travel_trip_safina_df['start_date'], errors='coerce')\n", + "\n", + "# Extract 'start_month'\n", + "travel_trip_safina_df['start_month'] = travel_trip_safina_df['start_date'].dt.month.astype('Int64')\n", + "\n", + "# Filter for trips starting in September (Month 9)\n", + "september_trips_df = travel_trip_safina_df[travel_trip_safina_df['start_month'] == 9].copy()\n", + "\n", + "# --- 3. Clean and Split Destination ---\n", + "september_trips_df['destination'] = september_trips_df['destination'].str.strip()\n", + "destination_split = september_trips_df['destination'].str.split(',\\s*', expand=True)\n", + "\n", + "# Assign the split parts to new city and country columns\n", + "september_trips_df['city'] = destination_split[0].str.strip()\n", + "september_trips_df['country'] = destination_split[1].fillna(destination_split[0]).str.strip()\n", + "\n", + "# --- 4. Analyze Destination Frequencies for September (CREATES THE VARIABLE) ---\n", + "# Group by both country and city to count the number of trips\n", + "september_destination_counts = september_trips_df.groupby(['country', 'city']).size().reset_index(name='Number of Trips')\n", + "\n", + "# Sort the results in descending order\n", + "september_destination_counts = september_destination_counts.sort_values(by='Number of Trips', ascending=False)\n", + "\n", + "# --- 5. Display the results ---\n", + "print(\"\\n--- Top Travel Destinations (City, Country) for September ---\")\n", + "print(september_destination_counts)\n", + "\n", + "# --- 6. Generate Plot ---\n", + "# Preparing data for plotting\n", + "september_destination_counts['Destination'] = september_destination_counts['city'] + ', ' + september_destination_counts['country']\n", + "\n", + "plt.figure(figsize=(12, 7))\n", + "plt.bar(september_destination_counts['Destination'], september_destination_counts['Number of Trips'], color='forestgreen')\n", + "plt.title('Travel Destinations in September')\n", + "plt.xlabel('Destination')\n", + "plt.ylabel('Number of Trips')\n", + "plt.xticks(rotation=45, ha='right')\n", + "plt.grid(axis='y', linestyle='--', alpha=0.7)\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "id": "ab6a8aa1-fa8c-4e1a-8705-2c1fa2534860", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "File loaded successfully.\n", + "\n", + "Full details, including nationality, have been saved to 'seven_day_trip_details_with_nationality.csv'.\n", + "\n", + "--- Nationality Breakdown for 7-Day Trips ---\n", + "Traveler Nationality\n", + "American 8\n", + "Canadian 6\n", + "Korean 5\n", + "British 4\n", + "Spanish 4\n", + "Australian 3\n", + "Mexican 2\n", + "Brazilian 2\n", + "Vietnamese 2\n", + "Chinese 2\n", + "South Korean 2\n", + "Dutch 1\n", + "Emirati 1\n", + "Moroccan 1\n", + "Scottish 1\n", + "Italian 1\n", + "Japanese 1\n", + "Taiwanese 1\n", + "Taiwan 1\n", + "Brazil 1\n", + "Germany 1\n", + "Singapore 1\n", + "Italy 1\n", + "Greece 1\n", + "New Zealander 1\n", + "Name: Number of 7-Day Trips, dtype: int64\n" + ] + } + ], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "# 1. DEFINE THE ABSOLUTE FILE PATH\n", + "# *** IMPORTANT *** Please ensure this path is correct for your local machine.\n", + "travel_trip_data = r\"D:\\Ironhack\\Week4\\first_project\\data\\raw\\Travel details dataset.csv\"\n", + "\n", + "# --- Column Cleaning Function ---\n", + "def clean_column(name):\n", + " \"\"\"Cleans column names.\"\"\"\n", + " return name.lower().strip().replace(\" \", \"_\").replace('', '') \n", + "\n", + "# --- Load Data and Clean Columns ---\n", + "try:\n", + " # Use the absolute path variable to load the file\n", + " travel_trip_safina_df = pd.read_csv(travel_trip_data, encoding='ISO-8859-1')\n", + " print(\"File loaded successfully.\")\n", + "\n", + "except FileNotFoundError:\n", + " print(f\"ERROR: File not found. Please check and correct the path variable: {travel_trip_data}\")\n", + " raise\n", + "\n", + "travel_trip_safina_df.columns = [clean_column(col) for col in travel_trip_safina_df.columns] \n", + "\n", + "# --- 2. Prepare 'duration_(days)' Column and Filter ---\n", + "# Convert duration to a nullable integer type\n", + "travel_trip_safina_df['duration_(days)'] = pd.to_numeric(\n", + " travel_trip_safina_df['duration_(days)'], \n", + " errors='coerce'\n", + ").astype('Int64')\n", + "\n", + "# Filter for all trips that lasted exactly 7 days\n", + "seven_day_trips = travel_trip_safina_df[\n", + " travel_trip_safina_df['duration_(days)'] == 7\n", + "].copy()\n", + "\n", + "# --- 3. Analyze Nationality Frequency ---\n", + "# Count the number of trips for each nationality\n", + "nationality_counts = seven_day_trips['traveler_nationality'].value_counts().sort_values(ascending=False)\n", + "\n", + "# Rename the series for clear display\n", + "nationality_counts = nationality_counts.rename_axis('Traveler Nationality').rename('Number of 7-Day Trips')\n", + "\n", + "# --- 4. Prepare and Save Full Details to CSV ---\n", + "details_df = seven_day_trips[['traveler_name', 'traveler_nationality', 'destination', 'duration_(days)']]\n", + "\n", + "output_file_full = 'seven_day_trip_details_with_nationality.csv'\n", + "details_df.to_csv(output_file_full, index=False)\n", + "print(f\"\\nFull details, including nationality, have been saved to '{output_file_full}'.\")\n", + "\n", + "# --- 5. Display the Breakdown ---\n", + "print(\"\\n--- Nationality Breakdown for 7-Day Trips ---\")\n", + "print(nationality_counts)" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "id": "ae1ff22c-540b-4e8e-b0b0-403f3599501a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "File loaded successfully.\n", + "\n", + "--- 1. Most Frequent Traveling Nationality ---\n", + "The nationality that takes the most trips is: American (Total Trips: 24)\n", + "\n", + "--- 2. Top Destinations for American Travelers (Top 5) ---\n", + " country city Number of Trips\n", + " France Paris 4\n", + "New York New York 3\n", + " Paris Paris 3\n", + " Japan Tokyo 3\n", + " Mexico Cancun 2\n" + ] + }, + { + "data": { + "image/png": "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w4aqXbu2+fytt96qMmXK6Pfff9fTTz9dqLZczLr5ueaaa/TCCy9o/vz52rhxY5G8JgAUNYpuACgBunbtqvHjx6tbt27at2+frrvuOv3www96/fXX1a5dO912220uy1eoUEEtW7bU8OHDVapUKb3//vvasWPHeW8b9vHHH+vzzz9X+/btVbVqVR07dkzz5s3TJ598oscee0yxsbEFau+BAwf0888/KysrSzabTQkJCeap4W+//bZat25tLvvyyy9r2bJlatSokfr27atatWrp9OnT2rdvn5YuXaqJEycqIiJCTzzxhAICAnTrrbeqUqVKSkpK0qhRoxQSEmIWrXXr1pUkTZ48WUFBQfL391f16tUv6Oh+dnfeeaemT5+u2rVrKyYmRr/++qtGjx6d6weMqKgoBQQEaPbs2YqOjlbp0qVVuXJll4LVqVatWnryySf17rvvysvLS23bttW+ffs0fPhwRUZGqn///oVu51133aW6deuqQYMGCg0N1f79+xUfH6+qVauqZs2ahX69ESNGmNfcv/jiiypXrpxmz56tJUuW6K233lJISEihX9Nut2vGjBmKjo5Wz549881j4cKFSk5ONo8oX4x33nlHjRs3VpMmTfR///d/qlatmo4fP67du3dr0aJFWrFixQW97vjx43XXXXfplltuUf/+/VWlShUdOHBA33zzjWbPni2p4GPHUxo1aqSyZcuqV69eGjFihHx8fDR79mz99ttveS5fu3ZtNWzYUKNGjdJff/2lyZMnuzxfunRpvfvuu+rWrZtSU1PVqVMnhYWFKTk5Wb/99puSk5M1YcKEPF/7YtZ12rx5s55++mndf//9qlmzpnx9fbVixQpt3rxZzz///IV9SADgbp6cxQ0ArlR5zT589OhRo1evXkalSpUMb29vo2rVqsaQIUOM06dPuyynf2ehfv/9942oqCjDx8fHqF27tjF79uzzvu/atWuNVq1aGeHh4YaPj48RGBho3Hjjjcb777/vMmNxfpyzlzv/Wa1Wo2zZskb9+vWNZ5991pyJPKfk5GSjb9++RvXq1Q0fHx+jXLlyRv369Y1hw4YZJ06cMAzDMD766COjRYsWRsWKFQ1fX1+jcuXKxgMPPGBs3rzZ5bXi4+ON6tWrG1ar1WUm8fxmL885Y7dhnL1tWrdu3czH//zzj/H4448bYWFhRmBgoNG4cWPj+++/N5o1a2Y0a9bMZd05c+YYtWvXNnx8fAxJxogRIwzDyPuWYQ6Hw3jzzTeNa665xvDx8TEqVKhgPProo+ZtxpyaNWtm1KlTJ1c7c+b09ttvG40aNTIqVKhg+Pr6GlWqVDEef/xxY9++fbnWzSm/z2LLli3GXXfdZYSEhBi+vr5GbGxsrtnZnTNvF+SWdF988cV5Z5f++uuvDUnG22+/bRhG/vlXrVrVaN++fYFy2bt3r9GjRw/jqquuMnx8fIzQ0FCjUaNGxquvvlqgPPKavdwwzn5n2rZta4SEhBh+fn5GVFSUy6zkBR07+b238zuV14z4+clv9vK8PkPDMIyffvrJaNiwoREYGGiEhoYaPXv2NDZu3Jjv+06ePNm8S0LOGeGdVq9ebbRv394oV66c4ePjY1x11VVG+/btXfLL65ZhBV3X+X3Kfms9wzCMv//+23jssceM2rVrG6VKlTJKly5txMTEGP/73/8Kdds1AChOFsPIMc0sAKBEs1gs6tOnj9577z1PNwUAAADnwezlAAAAAAC4CUU3AAAAAABuwkRqAHCJ4aogAACASwdHugEAAAAAcBOKbgAAAAAA3ISiGwAAAAAAN7nirunOysrS4cOHFRQUJIvF4unmAAAAAAAuQYZh6Pjx46pcubK8vPI/nn3FFd2HDx9WZGSkp5sBAAAAALgM/PXXX4qIiMj3+Suu6A4KCpJ09oMJDg72cGsAAAAAAJeitLQ0RUZGmjVmfq64ott5SnlwcDBFNwAAAADgopzvsmUmUgMAAAAAwE0ougEAAAAAcBOKbgAAAAAA3ISiGwAAAAAAN6HoBgAAAADATSi6AQAAAABwE4puAAAAAADchKIbAAAAAAA3oegGAAAAAMBNKLoBAAAAAHATim4AAAAAANyEohsAAAAAADeh6AYAAAAAwE1KTNE9atQoWSwWPfvss+dcbvXq1apfv778/f1Vo0YNTZw4sXgaCAAAAABAIZWIonv9+vWaPHmyYmJizrnc3r171a5dOzVp0kQJCQkaOnSo+vbtq/nz5xdTSwEAAAAAKDiPF90nTpzQI488og8++EBly5Y957ITJ05UlSpVFB8fr+joaPXs2VM9evTQmDFjiqm1AAAAAAAUnLenG9CnTx+1b99et912m1599dVzLrt27Vq1bt3aJdamTRtNmTJFZ86ckY+PT651MjIylJGRYT5OS0uTJNntdtntdkmSl5eXvLy8lJWVpaysLHNZZ9zhcMgwjPPGrVarLBaL+brZ45LkcDgKFPf29pZhGC5xi8Uiq9Waq435xcmJnMiJnMiJnMiJnMiJnMiJnMjJfTkVlEeL7k8++UQbN27U+vXrC7R8UlKSKlas6BKrWLGi7Ha7UlJSVKlSpVzrjBo1SiNHjswVT0hIUKlSpSRJoaGhioqK0t69e5WcnGwuExERoYiICO3atUs2m82M16hRQ2FhYdq6datOnTplxmvXrq0yZcooISHBpcNjYmLk6+urDRs2uLShQYMGyszM1ObNm82Y1WrVjTfeKJvNpjFLlpjxFLtdk5KTVS8wUO1DQsz4nowMzUlNVdOgIDUpXdqMbzp5UktsNrUPCVG9wEAz/v2JE1pz/LgeKldONfz8zPgSm02bTp7UU6GhquD937CYk5qqPRkZei48XL4WixmflJysNIdDz4WHu+Q0OilJwVarngoNNWOZhqHRSUmq4eenh8qVIyc35DSwffsiHXs7duww4wEBAYqNjVVKSor27NljxkNCQhQdHa3Dhw/r4MGDZrykfp/IiZzIiZzIiZzIiZzIiZyKMid/f38VhMXIXq4Xo7/++ksNGjTQt99+q9jYWElS8+bNVa9ePcXHx+e5zjXXXKPu3btryJAhZuzHH39U48aNlZiYqPAcxZKU95HuyMhIHT16VMHBwZJK7i81/mPHmjFD0hnDkJck72yFojNulWTNFs8yDNl19lcVr2xxh2HIIcnHYtF/UcluGMo6Rzx7cap/39PII55pGLL8+zo54/m1nZwuPqfTcXGX9K+El+Mvn+RETuRETuRETuRETuR0eed04sQJhYSEyGazmbVlXjxWdH/xxRe69957zQ9OOvvhWSwWeXl5KSMjw+U5SWratKmuv/56vfPOO2ZswYIFeuCBB3Ty5Mk8Ty/PKS0trUAfTElg4Vp1FJAxcKCnmwAAAABcUQpaW3rs9PJWrVppy5YtLrHu3burdu3aGjx4cK6CW5IaNmyoRYsWucS+/fZbNWjQoEAFNwAAAAAAxcljRXdQUJDq1q3rEitVqpTKly9vxocMGaJDhw5pxowZkqRevXrpvffeU1xcnJ544gmtXbtWU6ZM0Zw5c4q9/QAAAAAAnI/Hbxl2LomJiTpw4ID5uHr16lq6dKlWrVqlevXq6ZVXXtG4cePUsWNHD7YSAAAAAIC8eeyabk/hmm5cjrimGwAAACheBa0tS/SRbgAAAAAALmUU3QAAAAAAuAlFNwAAAAAAbkLRDQAAAACAm1B0AwAAAADgJhTdAAAAAAC4CUU3AAAAAABuQtENAAAAAICbUHQDAAAAAOAmFN0AAAAAALgJRTcAAAAAAG5C0Q0AAAAAgJtQdAMAAAAA4CYU3QAAAAAAuAlFNwAAAAAAbkLRDQAAAACAm1B0AwAAAADgJhTdAAAAAAC4CUU3AAAAAABuQtENAAAAAICbUHQDAAAAAOAmFN0AAAAAALgJRTcAAAAAAG5C0Q0AAAAAgJtQdAMAAAAA4CYU3QAAAAAAuAlFNwAAAAAAbkLRDQAAAACAm1B0AwAAAADgJhTdAAAAAAC4CUU3AAAAAABuQtENAAAAAICbUHQDAAAAAOAmFN0AAAAAALgJRTcAAAAAAG5C0Q0AAAAAgJtQdAMAAAAA4CYU3QAAAAAAuIlHi+4JEyYoJiZGwcHBCg4OVsOGDfXVV1/lu/yqVatksVhy/duxY0cxthoAAAAAgILx9uSbR0RE6I033tDVV18tSfroo490zz33KCEhQXXq1Ml3vZ07dyo4ONh8HBoa6va2AgAAAABQWB4tuu+66y6Xx6+99pomTJign3/++ZxFd1hYmMqUKePm1gEAAAAAcHE8WnRn53A4NG/ePKWnp6thw4bnXPb666/X6dOnde211+qFF15QixYt8l02IyNDGRkZ5uO0tDRJkt1ul91ulyR5eXnJy8tLWVlZysrKMpd1xh0OhwzDOG/carXKYrGYr5s97syxIHFvb28ZhiFfi8WMGZLOGIa8JHnnEbdKsmaLZxmG7DrbwV7Z4g7DkEOSj8Wi/6KS3TCUdY549rbo3/c08ohnGoYs/75Oznh+bSeni8/JMIwiHXvZ4xaLRVarNdf3I794Sf0+kRM5kRM5kRM5kRM5kRM5FWVOBeXxonvLli1q2LChTp8+rdKlS2vBggW69tpr81y2UqVKmjx5surXr6+MjAzNnDlTrVq10qpVq9S0adM81xk1apRGjhyZK56QkKBSpUpJOnt6elRUlPbu3avk5GRzmYiICEVERGjXrl2y2WxmvEaNGgoLC9PWrVt16tQpM167dm2VKVNGCQkJLh0eExMjX19fbdiwwaUNDRo0UGZmpjZv3mzGrFarbrzxRtlsNj0XHm7GU+x2TUpOVkxgoNqHhJjxPRkZmpOaqluDgtSkdGkzvunkSS2x2dQmJET1AgPN+PcnTmjN8ePqVLasavj5mfElNps2nTypHhUqqIL3f8NiTmqq9mRkqF/Fii7F6KTkZKU5HC5tlKTRSUkKtlr1VLZT/jMNQ6OTklTNz08PlStHTm7IyWazFenYyz5PQkBAgGJjY5WSkqI9e/aY8ZCQEEVHR+vw4cM6ePCgGS+p3ydyIidyIidyIidyIidyIqeizMnf318FYTGyl+sekJmZqQMHDujYsWOaP3++PvzwQ61evTrfwjunu+66SxaLRQsXLszz+byOdEdGRuro0aPmdeEl9Zca/7FjzRhHhcnpXDmdjou7pH8lvBx/+SQnciInciInciInciKnyzunEydOKCQkRDabzWXOsZw8XnTndNtttykqKkqTJk0q0PKvvfaaZs2ape3btxdo+bS0tAJ9MCWBZcwYTzcBlwhj4EBPNwEAAAC4ohS0tixx9+k2DMPlyPT5JCQkqFKlSm5sEQAAAAAAF8aj13QPHTpUbdu2VWRkpI4fP65PPvlEq1at0tdffy1JGjJkiA4dOqQZM2ZIkuLj41WtWjXVqVNHmZmZmjVrlubPn6/58+d7Mg0AAAAAAPLk0aL777//VpcuXZSYmKiQkBDFxMTo66+/1u233y5JSkxM1IEDB8zlMzMzNXDgQB06dEgBAQGqU6eOlixZonbt2nkqBQAAAAAA8lXirul2N67pxuWIa7oBAACA4nXJXtMNAAAAAMDlgqIbAAAAAAA3oegGAAAAAMBNKLoBAAAAAHATim4AAAAAANyEohsAAAAAADeh6AYAAAAAwE0ougEAAAAAcBOKbgAAAAAA3ISiGwAAAAAAN6HoBgAAAADATSi6AQAAAABwE4puAAAAAADchKIbAAAAAAA3oegGAAAAAMBNKLoBAAAAAHATim4AAAAAANyEohsAAAAAADeh6AYAAAAAwE0ougEAAAAAcBOKbgAAAAAA3ISiGwAAAAAAN6HoBgAAAADATSi6AQAAAABwE4puAAAAAADchKIbAAAAAAA3oegGAAAAAMBNKLoBAAAAAHATim4AAAAAANyEohsAAAAAADeh6AYAAAAAwE0ougEAAAAAcBOKbgAAAAAA3ISiGwAAAAAAN6HoBgAAAADATSi6AQAAAABwE4puAAAAAADchKIbAAAAAAA38WjRPWHCBMXExCg4OFjBwcFq2LChvvrqq3Ous3r1atWvX1/+/v6qUaOGJk6cWEytBQAAAACgcDxadEdEROiNN97Qhg0btGHDBrVs2VL33HOPtm3blufye/fuVbt27dSkSRMlJCRo6NCh6tu3r+bPn1/MLQcAAAAA4Py8Pfnmd911l8vj1157TRMmTNDPP/+sOnXq5Fp+4sSJqlKliuLj4yVJ0dHR2rBhg8aMGaOOHTsWR5MBAAAAACiwEnNNt8Ph0CeffKL09HQ1bNgwz2XWrl2r1q1bu8TatGmjDRs26MyZM8XRTAAAAAAACsyjR7olacuWLWrYsKFOnz6t0qVLa8GCBbr22mvzXDYpKUkVK1Z0iVWsWFF2u10pKSmqVKlSrnUyMjKUkZFhPk5LS5Mk2e122e12SZKXl5e8vLyUlZWlrKwsc1ln3OFwyDCM88atVqssFov5utnj0tkfFgoS9/b2lmEY8rVYzJgh6YxhyEuSdx5xqyRrtniWYciusx3slS3uMAw5JPlYLPovKtkNQ1nniGdvi/59TyOPeKZhyPLv6+SM59d2crr4nAzDKNKxlz1usVhktVpzfT/yi5fU7xM5kRM5kRM5kRM5kRM5kVNR5lRQHi+6a9WqpU2bNunYsWOaP3++unXrptWrV+dbeFtyFD7OxHPGnUaNGqWRI0fmiickJKhUqVKSpNDQUEVFRWnv3r1KTk42l4mIiFBERIR27dolm81mxmvUqKGwsDBt3bpVp06dMuO1a9dWmTJllJCQ4NLhMTEx8vX11YYNG1za0KBBA2VmZmrz5s1mzGq16sYbb5TNZtNz4eFmPMVu16TkZMUEBqp9SIgZ35ORoTmpqbo1KEhNSpc245tOntQSm01tQkJULzDQjH9/4oTWHD+uTmXLqoafnxlfYrNp08mT6lGhgip4/zcs5qSmak9GhvpVrOhSjE5KTlaaw+HSRkkanZSkYKtVT4WGmrFMw9DopCRV8/PTQ+XKkZMbcrLZbEU69nbs2GHGAwICFBsbq5SUFO3Zs8eMh4SEKDo6WocPH9bBgwfN+KtbtmiJzab2+eT0ULlyeeb0VGhonv30XHj4RfdTjXz6qV4+/dQ0n34ip6LN6c6oKElFN/YuZls+b+vWIsnJ6XLqJ3JyzenjHj2KdOxdzH5Esx9/pJ/IqUA5Obe3xbUP66ltOTmRU3Hn5O/vr4KwGNnL9RLgtttuU1RUlCZNmpTruaZNm+r666/XO++8Y8YWLFigBx54QCdPnpSPj0+udfI60h0ZGamjR48qODhYUsn9pcZ/7FgzxlFhcjpXTqfj4krMr4QB8fH0EzkVKKf0fv3MuKd/dQ/8d66Qi80pZ/xy6Cdyco1nDhhQYo74+MTH00/kVKCcnNvby/VoIzmRk6dyOnHihEJCQmSz2czaMi8eP9Kdk2EYLkVydg0bNtSiRYtcYt9++60aNGiQZ8EtSX5+fvLL9qulk7e3t7y9XdN3fqA5OTu3oPGcr3shcYvFosw8fg/JkvKMO3R2A5uTXZLyiJ/J57eW/OJ5vWd+cSOfeH5tJ6eLz8l5pkdRjb284vl9P3LG7dn/Sz/lGSens/Gc4+xix9754ufalufVTvqJnPKLF+XYy0thttn0EzlJ588p59hx9z6sp7blBW1jYePkRE5S/m0vCI9OpDZ06FB9//332rdvn7Zs2aJhw4Zp1apVeuSRRyRJQ4YMUdeuXc3le/Xqpf379ysuLk7bt2/X1KlTNWXKFA0cONBTKQAAAAAAkC+PHun++++/1aVLFyUmJiokJEQxMTH6+uuvdfvtt0uSEhMTdeDAAXP56tWra+nSperfv7/Gjx+vypUra9y4cdwuDAAAAABQInm06J4yZco5n58+fXquWLNmzbRx40Y3tQgAAAAAgKJTYu7TDQAAAADA5YaiGwAAAAAAN6HoBgAAAADATSi6AQAAAABwE4puAAAAAADchKIbAAAAAAA3oegGAAAAAMBNKLoBAAAAAHATim4AAAAAANyEohsAAAAAADeh6AYAAAAAwE0ougEAAAAAcBOKbgAAAAAA3ISiGwAAAAAAN6HoBgAAAADATSi6AQAAAABwE4puAAAAAADchKIbAAAAAAA3oegGAAAAAMBNKLoBAAAAAHATim4AAAAAANyEohsAAAAAADeh6AYAAAAAwE0ougEAAAAAcBOKbgAAAAAA3ISiGwAAAAAAN6HoBgAAAADATSi6AQAAAABwE4puAAAAAADcpNBF919//aWDBw+aj3/55Rc9++yzmjx5cpE2DAAAAACAS12hi+6HH35YK1eulCQlJSXp9ttv1y+//KKhQ4fq5ZdfLvIGAgAAAABwqSp00b1161bddNNNkqRPP/1UdevW1U8//aSPP/5Y06dPL+r2AQAAAABwySp00X3mzBn5+flJkr777jvdfffdkqTatWsrMTGxaFsHAAAAAMAlrNBFd506dTRx4kR9//33WrZsme644w5J0uHDh1W+fPkibyAAAAAAAJeqQhfdb775piZNmqTmzZvroYceUmxsrCRp4cKF5mnnAAAAAABA8i7sCs2bN1dKSorS0tJUtmxZM/7kk08qMDCwSBsHAAAAAMClrNBFtyRZrVadOXNG33//vSwWi6655hpVq1atiJsGAAAAAMClrdCnl6elpalLly666qqr1KxZMzVt2lRXXXWVHn30UdlsNne0EQAAAACAS1Khi+6ePXtq3bp1Wrx4sY4dOyabzabFixdrw4YNeuKJJ9zRRgAAAAAALkmFLrqXLFmiqVOnqk2bNgoODlZQUJDatGmjDz74QEuWLCnUa40aNUo33nijgoKCFBYWpg4dOmjnzp3nXGfVqlWyWCy5/u3YsaOwqQAAAAAA4FaFLrrLly+vkJCQXPGQkBCXidUKYvXq1erTp49+/vlnLVu2THa7Xa1bt1Z6evp51925c6cSExPNfzVr1izUewMAAAAA4G6FnkjthRdeUFxcnGbMmKFKlSpJkpKSkvTcc89p+PDhhXqtr7/+2uXxtGnTFBYWpl9//VVNmzY957phYWEqU6ZMod4PAAAAAIDiVOiie8KECdq9e7eqVq2qKlWqSJIOHDggPz8/JScna9KkSeayGzduLNRrOydiK1eu3HmXvf7663X69Glde+21euGFF9SiRYs8l8vIyFBGRob5OC0tTZJkt9tlt9slSV5eXvLy8lJWVpaysrLMZZ1xh8MhwzDOG7darbJYLObrZo9LksPhKFDc29tbhmHI12IxY4akM4YhL0neecStkqzZ4lmGIbvOdrBXtrjDMOSQ5GOx6L+oZDcMZZ0jnr0t+vc9jTzimYYhy7+vkzOeX9vJ6eJzMgyjSMde9rjFYpHVas31/cgv7i3RT+RUoJyyj9eiGHsXsy3P3k76iZzOlZOkIh17F7MfIYl+IqcC5ZRzn9fd+7Ce2paTEzkVd04FVeiiu0OHDoVdpUAMw1BcXJwaN26sunXr5rtcpUqVNHnyZNWvX18ZGRmaOXOmWrVqpVWrVuV5dHzUqFEaOXJkrnhCQoJKlSolSQoNDVVUVJT27t2r5ORkc5mIiAhFRERo165dLjOz16hRQ2FhYdq6datOnTplxmvXrq0yZcooISHBpcNjYmLk6+urDRs2uLShQYMGyszM1ObNm82Y1WrVjTfeKJvNpufCw814it2uScnJigkMVPtsp/fvycjQnNRU3RoUpCalS5vxTSdPaonNpjYhIaqX7f7p3584oTXHj6tT2bKq4ednxpfYbNp08qR6VKigCt7/DYs5qanak5GhfhUruvwRmZScrDSHw6WNkjQ6KUnBVqueCg01Y5mGodFJSarm56eHsv2gQk5Fl5PNZivSsZd9joSAgADFxsYqJSVFe/bsMeMhISGKjo7W4cOHdfDgQTPeJiSEfiKnAuXkHJdFNfYuZluevZ30EzmdKydJRTr2LmY/wtdioZ/IqUA5OcdOce3DempbTk7kVNw5+fv7qyAsRvZy3YP69OmjJUuW6IcfflBERESh1r3rrrtksVi0cOHCXM/ldaQ7MjJSR48eVXBwsKSS+0uN/9ixZoxfc8npXDmdjosrMb8SBsTH00/kVKCc0vv1M+Oe/tU9MD6+SHLKGb8c+omcXOOZAwaUmCM+PvHx9BM5FSgn5/b2cj3aSE7k5KmcTpw4oZCQENlsNrO2zEuhj3S7wzPPPKOFCxdqzZo1hS64JemWW27RrFmz8nzOz89Pftl+tXTy9vaWt7dr+s4PNCdn5xY0nvN1LyRusViUmcfvIVlSnnGHzm5gc7JLUh7xM/n81pJfPK/3zC9u5BPPr+3kdPE5Wf79Q1tUYy+veH7fj5xxe/b/0k95xsnpbDznOLvYsXe++Lm25Xm1k34ip/ziRTn28lKYbTb9RE7S+XPKOXbcvQ/rqW15QdtY2Dg5kZOUf9sLokBFd7ly5bRr1y5VqFBBZcuWNXfw85KamlrgNzcMQ88884wWLFigVatWqXr16gVeN7uEhARzUjcAAAAAAEqKAhXd//vf/xQUFCRJis92Ct7F6tOnjz7++GN9+eWXCgoKUlJSkqSz59kHBARIkoYMGaJDhw5pxowZ5vtXq1ZNderUUWZmpmbNmqX58+dr/vz5RdYuAAAAAACKQoGK7m7dukn6b+bDNm3aKDzHJBEXYsKECZKk5s2bu8SnTZumxx57TJKUmJioAwcOmM9lZmZq4MCBOnTokAICAlSnTh0tWbJE7dq1u+j2AAAAAABQlAp1Tbe3t7f+7//+T9u3by+SNy/IHG7Tp093eTxo0CANGjSoSN4fAAAAAAB3KvjNxf518803KyEhwR1tAQAAAADgslLo2ct79+6tAQMG6ODBg6pfv755r2unmJiYImscAAAAAACXsgIX3T169FB8fLwefPBBSVLfvn3N5ywWiwzDkMViyXXPNAAAAAAArlQFLro/+ugjvfHGG9q7d6872wMAAAAAwGWjwEW3c9KzqlWruq0xAAAAAABcTgo1kZrFYnFXOwAAAAAAuOwUaiK1a6655ryFd2pq6kU1CAAAAACAy0Whiu6RI0cqJCTEXW0BAAAAAOCyUqiiu3PnzgoLC3NXWwAAAAAAuKwU+JpurucGAAAAAKBwClx0O2cvBwAAAAAABVPg08uzsrLc2Q4AAAAAAC47hbplGAAAAAAAKDiKbgAAAAAA3ISiGwAAAAAANylQ0X3DDTfon3/+kSS9/PLLOnnypFsbBQAAAADA5aBARff27duVnp4uSRo5cqROnDjh1kYBAAAAAHA5KNDs5fXq1VP37t3VuHFjGYahMWPGqHTp0nku++KLLxZpAwEAAAAAuFQVqOiePn26RowYocWLF8tiseirr76St3fuVS0WC0U3AAAAAAD/KlDRXatWLX3yySeSJC8vLy1fvlxhYWFubRgAAAAAAJe6AhXd2WVlZbmjHQAAAAAAXHYKXXRL0p9//qn4+Hht375dFotF0dHR6tevn6Kiooq6fQAAAAAAXLIKfZ/ub775Rtdee61++eUXxcTEqG7dulq3bp3q1KmjZcuWuaONAAAAAABckgp9pPv5559X//799cYbb+SKDx48WLfffnuRNQ4AAAAAgEtZoY90b9++XY8//niueI8ePfT7778XSaMAAAAAALgcFLroDg0N1aZNm3LFN23axIzmAAAAAABkU+jTy5944gk9+eST2rNnjxo1aiSLxaIffvhBb775pgYMGOCONgIAAAAAcEkqdNE9fPhwBQUF6e2339aQIUMkSZUrV9ZLL72kvn37FnkDAQAAAAC4VBW66LZYLOrfv7/69++v48ePS5KCgoKKvGEAAAAAAFzqLug+3U4U2wAAAAAA5K/QE6kBAAAAAICCoegGAAAAAMBNKLoBAAAAAHCTQhXdZ86cUYsWLbRr1y53tQcAAAAAgMtGoYpuHx8fbd26VRaLxV3tAQAAAADgslHo08u7du2qKVOmuKMtAAAAAABcVgp9y7DMzEx9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srKylJ6ergYNGujVV1/V/fffL8MwtGrVKnXu3Nml8JbO3irMOX7Zv4UTf31RZE6ePKkuXbqocePGSkxMlCRZrVbFxMTogw8+UFhYmG6++Wb9888/CgwMlJeXl/z9/SWd3RixQUJxcl7j2q5dO504cUKGYahly5Y6ceKEee2gJPn6+qpatWravXu3uY4TYxbFIa/fxv/55x8NHjxYDz/8sN577z117NhRGzduVLly5dSjRw9NmTJFklS3bl0tWrSI29nBo5zbypSUFG3evFkrVqzQt99+q7/++ku33367ZsyYoXnz5qlJkyZ66aWXNGjQIPXo0cMsuJ2TXALFzTkTeVBQkCpUqKC9e/dKOjumW7RooU8++US//PKLOnbsaK7j5+dnbm/Zv4UTf4FRZHx9fdW/f3/deuutWrt2rTlJlcViUUxMjD788EP5+voqNjbWnGwNKC7O8egsYLy9z05pERkZqT179mjbtm2qX7++pLMz5K5bt85c98iRI4qIiDBvBwIUF2exkZGRoZUrV+rbb7/VH3/8obJly6pBgwbq27evsrKy1KpVK/n7++v3339Xt27dNGDAAE2dOlWSFBMTo6ZNmzLbMzzqf//7n5o2barMzExdddVVZlHy/vvvq27dunrzzTclSXfccYeeeuopDRo0yCy42faiuDn3GbJPuFqxYkX9/vvvLss1b95cn376qZYuXaq77767WNuISwsTqeGC5by2ytvbW23atJGfn5/69eunpk2batWqVWZxc91112n27NlKT0/nDyiKnXPStL59+8rPz0+tWrVSrVq1ZLfbVb9+ff3zzz9q0qSJXn75ZQ0bNkzbt29XaGioKleurKlTp2rWrFkKCwvzdBq4gjiLjbS0NLVr107Jycnat2+fwsPDNXfuXA0bNkze3t569913lZGRoVmzZikkJETVq1dXZmamevbsqdtvv12RkZGSODMDnlW7dm3Z7XZt3rxZGRkZks5evuPr66vXX39d11xzjZYvX65WrVq5rMf+AjzBy8tLf/zxh4YMGaJrrrlGNWvW1NVXX639+/crKSlJ4eHhks5uV5s1a6YlS5ZwQAnnRNGNC+LcGTx48KB+/PFHWSwW1alTR3Xq1FGLFi30zjvv6LnnnlOLFi20atUq849mbGysh1uOK9n27dslSdu2bdP69eu1e/duRUVFaePGjfrggw908803q3379ipXrpzWr1+vhQsXyjAMLViwgMlQUKyysrLMgvu6667TjTfeqIkTJ2rr1q368MMP1blzZ3333Xe6+uqr9ccff6hSpUq66qqrJJ0tUj744AM1btzYLLiB4pTXtrJly5aaOHGiHnnkET399NP64osvzLs/2Gw2hYaGMtkfSpQff/xRFSpU0I8//qiFCxcqPT1d+/fv17Fjx1S6dGldd911uu666xQZGWlOrMp+AvLDRGooNOcR7i1btqhDhw4qXbq0/Pz8tG/fPs2ePVu33367MjMztXLlSg0ZMkSS9Msvv5hHvIGSICsrS1u2bNHp06c1depU7dq1S9dff71ef/11c64BwzDM4ofJUFDcTp06pfr166ty5cr67rvvzPhHH32kPn36aMWKFbrppps0ZswYDR8+XGPHjlVSUpLefvttffnll+YRQ3YCUZyynwX3119/yWq1qkyZMgoMDJTdbtfq1avVuXNn3XDDDerVq5fKli2r0aNHKykpSb/88gtHtuEx+c2Of+rUKVmtVs2ZM0dPPPGEJk2apBUrVigxMVF79uzRtGnT1KxZMw+0GJcSrulGoXl5eWnv3r1q3769OnbsqN9++02ffvqpTp8+rXbt2mnevHny9fVVixYt9Oqrr+r06dNav369p5sNSPrvmm4vLy/Fxsbq5ptv1jvvvKPGjRvrp59+0ogRI8xTHy0Wi7kDyGQoKG7Lly9XRkaGwsPDtX//fjN+0003mXd/kKQ+ffro8ccf16hRo7Rw4UJNnz7d5RRdxi2KS/ai5dVXX9Wdd96pli1bqkGDBvr999/l7e2tVq1a6ZNPPtHOnTvVsWNHffnll6pWrZp+/PFHWa1WTtGFRzgcDnl5eenPP//U+++/r7i4OC1evFhJSUkKCAiQr6+vOnTooCpVqqh27dqaOXOmvvvuO61fv56CGwXCkW4UWPajJf/73/+0Y8cOTZo0SZJ0yy23KDg4WFWrVtW0adP05Zdfqn379srMzFRaWpoqVKjgyaYD+XLuJJ48eVKjR4/WZ599pttvv11vv/02xQo8btq0afroo48UFhamiRMnqly5crruuutUq1YtffbZZy7LJiYmytfXV+XLl+fMDHjU8OHD9eGHH2rcuHGKjo5Wjx49lJycrA8++EC33XabDMPQypUr9fjjj+uGG27Q/PnzJZ291ZKfn5+HW48rjXP/dsuWLWrZsqVatmyp5ORkSWeL8S+//FJlypRRWlqaYmNjNWzYMPXs2VNS/kfHgZwYJSiQrKwsWSwW/f7779q6davuvfdec5bG++67T2XLltXnn3+uAQMGKCAgQHfddZfmzp0rX19fCm54TPZZR/N6LJ094p2VlaXAwEANHDhQ99xzjzp16kSxAo9yjtXu3burS5cuOnLkiP7v//5PderUUY0aNTR79mxJcjkqWKlSJZUvX14SZ2bAc9auXatly5Zp9uzZuv/++7V371798ccfKlOmjDp16qTly5fLYrGoefPm+vDDD7VmzRo9+OCDkkTBDY+wWCz6559/1LNnTz322GOaO3euli9frt27dys8PNwcl8HBwbrhhhu0e/dul7PmgIJgpOC8nPco3Ldvnxo3bqzFixerWrVqat++vQ4cOKBDhw7p+eefV+nSpRUcHKzWrVurV69eCgoK8nTTcYXz8vLS/v37zbkF8vvj6Cy8S5UqpZdfflmNGjUqzmYCuTjHpCQ9/vjj6tKli/bs2aPU1FS9/PLL8vPz41ZKKBG+//57ffnll+bjgIAAPfjgg2rZsqWWL1+unj176rXXXtNPP/2kqlWr6sknn9SSJUvk5eWlli1b6tNPP9W8efPUrVs3D2aBK4Xzh8qcJ/rabDadPHlSzz77rOx2u2655RbVrl1bH374oQICArRx40adPn1aNWrUUNOmTflRE4VG0Y1ccm6QLBaLjh07pk8//VTdunXT888/by6bnJys9evXmxufb775RkeOHNHIkSPVrl077gsLjzEMwzyF8euvv9aaNWvOubyzIOdXa5QUOQvvp59+WjVr1tQbb7yhPXv2uEzwBxQ3wzB07NgxDR48WO+8846WLFkiSapXr54eeughSWfvwf3II4+od+/eslqtqlq1qtLS0hQfH2+e0tu8eXOtWrVKw4YN82Q6uAIYhiGr1ar09HQNGjRIGzZsMJ87efKkAgICZLfb1aRJE4WEhOizzz5TUFCQ/vzzT82ePVs7duzQ6NGj2b/FBWHvEi6cR06OHTumDh066O+//9aRI0fUtWtXTZs2TaGhoeZyklS/fn09/PDDat68uVq2bKknn3xS/fr1M5fjl0AUt+w/GlksFrVq1UpBQUGaPn26uQx/LHGpyF54d+vWTd26ddORI0fUv39//fnnn2xj4TEWi0VlypTR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xS77bekGDRqkFi1a6Pfff9fw4cPVo0cPTZo0SR9//LHef/99tWzZ0rych4Ib7kLRDRc57wfbtWtXJScnq3///vrzzz8pVOBxXl5eOnz4sO677z498sgjWrdunbZv367Dhw9r165d5tkYVatW1UcffaSPP/5YCxYsUPny5T3ddFyBqlWrpnnz5unmm2/W4cOHZbfbFRgYqFatWumdd97RNddco6+//lrNmzfXkSNH1LJlS/3444/y8/OTJNWvX1/NmjVTaGiohzPBlST7mW87d+7U3r17tX///lzLOed6yUt6err+/PNPvfnmmwoMDHRbW4H8OPdpLRaLBg4cqE6dOmn9+vXq37+/kpOT1bx5cz311FOebiauEJxejjxl/4M7ceJEzZw5U++99x7XuKBY5Xcpw88//6xBgwZpzZo1Sk9P1+23365SpUrp888/V1BQkGw2W773kQeKS/bt6LFjx3T//ffL29tbCxculI+Pj7766iulpKSoQ4cO8vX1lZ+fn95880399NNPmjlzpnk67smTJylaUGyybyuHDRum+fPnKz09XQ6HQ3FxcerVq5dKly7tso7zvvHOMe98DW4PhpIg+7b47bff1vz58xUTE6NXX31VFSpU8HDrcKXgSDfylP2Id69evTR37lwKbhQ75+0+PvvsM2VmZprxP/74Q6mpqZKk22+/XUFBQWbB/f333+v111/XiRMnXF6LghuesmfPHu3evVvt27fXsWPH1KVLF505c0Zt27ZVly5dFBQUpGPHjmnq1Kl66aWX1LNnTwUHB5unO1Jwozg5t5VvvfWWJk2apHfffVdTpkzR888/r+eff14vvfSSy/ITJkxQVFSU/vnnH7Owcb4Gl6OhJMi+TztgwADdf//9Wrt2rQYPHqwzZ854uHW4UlB0X0EKe1JD9o1URESEO5oEnNfHH3+sBx54QNOnTzcL7zZt2sjHx0cVKlRQ6dKl9dVXXykoKEiStHHjRv3888/6559/PNlsXOEMw5CXl5d2796tq6++Wtu3b9djjz2mHj16aPfu3WbhLUm//fab+vXrp5EjR2rmzJm66667ODMDHmW32/X999+rb9++uv3229W6dWv17dtXn3/+uTkRlVOrVq106623mvfkzo4xjJIi+z5t//799eijj+rxxx+Xj4+Ph1uGKwVF9xXC4XDIYrHo77//VlJSUoHXy3lLJqC4PfHEE3r11VfVp08fTZ06VZmZmQoODtbdd9+t4OBgxcbGysvLS4mJiZo6daqGDRum5557TpGRkZ5uOq5gFotFx44d04EDB9SvXz916dJFZcqUUdeuXfXUU09p9+7d6tq1q86cOaPY2Fg99NBDmjdvnjp16sT9uVHsco659PR07dy504xnZWXJbrfr7rvv1pNPPqnZs2ebk1NeffXVql+/PsULSrzshfdzzz2nRo0aebhFuJJwoc0VwHld7NatW9WpUyc9/PDD6tOnT66JpTiyAk/LeQ33mTNn5OPjo6FDh8rhcOjpp59WVlaWevfurd69e+v06dP65JNPNHPmTFWuXFkpKSmaOnWq7rzzTsYzPMpms6l27doyDEPdu3eXdLZw8fPzU5cuXSRJU6ZM0f3336958+bpnnvuMddl3KK4OcfcO++8o3vvvVdVqlTRPffco9mzZ6tTp06qU6eOuWxQUJAsFov8/f0lnS1kXnnlFfMx4CkF+bvPwSR4CiPvMuacVdRqtWr79u1q1qyZ7r77bnXu3Dnfgnvnzp3mkXCOtqA4OW9Hl56errFjx2rnzp2y2Wzm88OHD9ewYcP0zDPP6L333lPFihX14osvasWKFRo6dKjeeOMNLVmyRA888ABjFx4XEBCg4cOHKysrS/v27ZMkc2Z9f39/denSRV27dtW+ffu0detWzzYWkHTixAl99NFHevvttyVJd999t6KiojR06FBt375dXl5eOnXqlH777TddddVV5nqGYZgFN9teFBfnPm5mZqY57py3CQNKImYvvwwtX75czZo1M2cMdTgc6tGjhxwOh3kdls1m01dffaXw8HDVrl1b4eHhSktLU/Xq1XXPPfdo6tSpnkwBVyi73a727dtr2bJlqlatmq666ipdf/31atmypdq3by8fHx9NmDBBffr00YQJE9S1a1cFBAR4utmAy+y4TsePH9ecOXPUp08fvfDCCxoxYoSk/87oOH36tJKTk7kUAiWCYRh66aWXtHLlSq1cuVJWq1Vz587VRx99pB9++EGxsbFKS0tTVlaWNm7cKB8fH84ogkc4t7fbtm3ToEGD5Ovrqxo1apg/GOVcjln0URJwpPsys2PHDg0ePFi//vqrGcvIyNCRI0cUFhamU6dO6bXXXtOjjz6qHj16qE+fPho3bpwyMjIUHBysDz74QNu2bdMff/zhwSxwpTp9+rTatm2r6Oho+fv7q3///lq/fr0GDBig6tWrq0uXLqpRo4Y6d+6sYcOGafbs2Tp58qSnm40rnMPhkJeXl5KSkrR+/XqtXLlS0tnTcLt166Zx48bplVde0auvvirp7NlHziPeFNzwhLyOBlosFvXt21fbt2/X6NGjJUkPPvig3nvvPb3//vtq1qyZevbsqYSEBPn4+Mhut1Nwo9g5C+n9+/eradOmCgoKUvny5TVjxgy1bt1ax48fN5f18vLSzz//rOeee86DLQbO4mefy0y1atU0b948Va9eXYcPH1ZYWJgCAwPVqlUrDR48WPPmzVO1atXUoUMHzZkzR0OGDNGPP/4oPz8/SVL9+vXVrFkzhYaGejgTXIlKly6tbt26qVSpUho+fLi2bdumtWvXKj09XePHj9euXbv0yCOPqFatWkpNTVX//v3Vtm1bbqkEj8nKypLVatWWLVv00EMPKTMzUxkZGYqIiND8+fMVHh6unj17SpLi4uKUkZGhV/6/vTuPrune/z/+PBm/ZFCixNQaI615DELV2CDmJghSFXLVl/ZSQ0lQbQ3FtzUFnSiqJY1eoeTS29JSbURVotdFVGKIBAmRRJDh7N8ffudcqd7eqXIyvB5rWYuzz9n7fay9zt6v/Zlef11LKYnNWGbWB/j000/x9PTE19cXOzs7PDw8mDhxIgcPHmTcuHFUrVqV+vXrU79+/SL7KCwsVMuh2ISdnR1Xr17l6tWrhISEsGTJEgoKCpg8eTKDBg1i8ODB7Nixw7qW/Pnz51mxYgV9+vShd+/eNq5eyjN1Ly9D7u/emJmZSUBAAA4ODuzcuRNHR0diYmJIT09n0KBBODk54ezszJtvvsnhw4fZvHkz7u7uAOTm5irEiE1lZmaybds2Zs2aRXBwMMuXL7duS0pK4tKlS3z88cf4+/vTr18/2xUq5Zqla21iYiJPPfUUY8aMYcqUKaSnp9O0aVN8fX3ZsGEDDRs2JD8/nzVr1jBlyhTOnDlDw4YNbV2+lHOJiYk8/fTT1KxZE2dnZ5YtW0bjxo1JT0+nTZs2/OlPf6JHjx6/OnRCxFZyc3Np1qwZKSkphISEEBERYd0WHx/PwIED8fb2Jioqyhq8X375ZerXr88LL7ygc1lsRqG7DLFcGM+dO8f169c5dOgQ27Zt4/HHH2fz5s1FlvO4cuUKu3fv5n//93+JjIzUurBS4mRlZfHJJ58QHh5OUFAQK1asAB6cnfT+CVREHqZ/FD5mzZpFVlYWERERGIaBr68vFSpU4OrVq9jb2xMVFWUN3qmpqTz22GM2qF7k7xYsWEB2djbTp0/n1KlTvPXWW5w8eZLKlSvz8ssvs2XLFm7fvk1kZCRubm62LlfKuV+ubLJz506mT59OrVq1+Oqrr4q8NyEhgW7dutGsWTO++uor7Ozs2LdvH82aNaNGjRrFXbqIlfoGlRGW7mJnz57Fy8uLjRs3MmbMGFxcXHjnnXcYPXq0NXjHx8ezaNEivvvuOzZv3qzALSWSu7s7w4cPByA8PBxHR0eWLVtmnZ3UEn503kpxsNz05ebmsmbNGq5evYqHhwczZ86kb9++FBQUYBgGAwYMoFKlSkRFRXH8+HG6dOlCQEAAkZGRNGrUyBq49ZsrxWX69OkEBATQvn1762tnz56lefPmeHh44Ovri6+vLwcOHCA2NpbQ0FCcnZ3Jzc0lOTmZZs2aqbVbbMre3p7ExER+/vln/Pz86N+/P46OjgQFBTFq1CjrJMGGYdC8eXO++uorrl+/bj1n1a1cSgK1dJchmZmZHDt2jF27dvH2228D9yZR27RpE++88w6NGjVi06ZNODo6Eh0dTY0aNWjfvr1aCqVEy8rKYtu2bUyePJnQ0FBWrlxp65KknLEE7qysLDp27EjlypVJSUkhMzOTDh06EBMTA0BsbCwTJ07k3XffpU2bNnz//ffMnDmTjIwMIiIi6Nq1q42/iZQ3d+/epXr16jRs2JD333+fJk2a4OjoiL+/P35+fkyaNOmBVsRz585x+PBhFi5cSNOmTYmMjLThNxC558UXX2T16tXs3LkTf39/APbs2UNQUBD+/v5Fgrflflb3t1KS6LFlGXHz5k28vb0ZMWKEdVI0s9mMs7Mzo0eP5g9/+ANJSUkEBASQn5/PwIEDrU+9TSaTfpCkxHJ3dycwMJC3336b/v3727ocKWcs68dnZ2fTtGlTWrZsSUxMDHFxcSxevJhDhw5ZH3ImJSVx7tw56tatC8DJkyepV68ecXFxdO3aVWsYS7Gy3AOkpKRw69YtQkJCrGvC371717rO8S8n9atfvz6jRo1i0aJF/PzzzyQlJRV77SK/tHLlSkJCQggKCmLnzp0A9O3bl48//pi9e/cydOhQoGjA1v2tlCQK3WVEhQoVmDNnDmazmeTkZODeDI+WZWlGjx5NcHAwycnJ1ouuiK39qyGkUqVKhIaG0qtXLwUXKVYmk4m8vDwGDBgAwJYtW3Bzc6Nq1ao8++yz1qUYAfr160flypXx9fUlMDCQCRMmMGDAAOta8rr5k+JkWZ/YxcWFo0ePkpOTw5gxY/jpp59wcnLC3d2d/Px8rl+/zrVr17hz5w5nzpyhoKAAAG9vby5fvsz169dt/E2kvLEsaXf37l3g7/cK7733Hs8++yyjRo0qErw/+OAD9u7dS3x8vG0KFvkXKHSXUr9cY9PJyYng4GAWLFjA9u3bmT9/PlB0PdixY8eya9cuWrVqZYuSRaznbUZGBvDvhRBLa4yCixS3nJwcHn/8cR577DGWLl1qPY+dnZ3JysqiSpUqwL11ufft20f79u3x8PAgOjqaIUOG6EGRFDvLOefg4IBhGLi4uHDs2DGys7MJDAwkISGBkJAQfHx8aNKkCV5eXnh7exMeHm79rT148CBZWVlaQlSKnZ2dHZcuXaJt27bExsYWue6vX7+eQYMG8dxzz7Fnzx7MZjMDBgwgKSmJFi1a2LBqkd+mMd2lkGX8VVpaGhcvXiQnJ4du3boB954Krl+/nsmTJ/Pqq68SHh5e5DMitmKZiOf8+fMEBASwdetW6tWrpxAtpUJaWhoLFy4kNjaWUaNGMXnyZHx8fKhSpYp1TPf9CgoKrIEH9LBIis/91/vs7GwcHBywt7fHycmJnJwcunTpQnJyMm+88QZdu3YlPz+fnJwc3N3dadKkCQ4ODuTn5/PRRx/h4+PDk08+aeNvJOXF/RP25efn07lzZ65evcr27dtp3bq1dbz2lStXaNKkCQUFBWzcuJGBAwda96FJKqWkUkt3KWM2m7G3t+fEiRP07NmTkSNHMmbMGHx9fUlLS8PZ2Zlx48axatUqFixYwJw5c4AHx2yJFIcdO3Ywbdo0AOuFNDU1lby8POrXr/9AC6ClBTEvL694CxX5Jzw9PZk9ezbt27fno48+onr16nh4ePD5558DWMfHWjg43FscRGMKpTjduHHDer1ftGgRw4YNo0WLFrz88svExMTg6urKoUOHqFq1qnXiqVatWtGlSxdatGhhDdyOjo48//zzCtxSbAoLC7Gzs+PixYt88cUXODo68s033+Dt7c2AAQP44YcfrL+lZrMZPz8/unXrZp3HyEK/t1JSKXSXIpZlwRITE+nduzf9+/fn0KFDxMTE8N133xEQEMDZs2dxdHRk3LhxLF68mAULFnD27Flbly7lUH5+PufOnWPVqlXWhz8AKSkp1nD9yyVo7OzsOHbsGG+88QbZ2dnFWq/IP+Pp6UlYWBgdOnSgQoUK+Pj46IGmlBgbNmxg6tSpAISFhbF06VL8/f0ZNGgQFy5cYMKECURGRuLi4sKPP/5IZmYmfn5+nDlzpsh+HB0dbVG+lGOWBqWEhAS6d+/Opk2biI+Px9nZmc8++4xmzZoxYMAA9u/fT0pKCgcOHODy5cts2bIFPz8/DeGR0sGQEquwsPBXX3/llVeMiRMnGoZhGGaz2ejYsaPRvXt3o2nTpkaLFi2MxMREwzAMIy8vzzh//nyx1SvySxkZGUZERIRRpUoVY/r06YZhGMaf//xno1WrVkZBQYFRUFBgGEbRc33OnDmGvb299TwWKWnS0tKMSZMmGT4+PsaSJUtsXY6IsW7dOsNkMhm7du0yrly5YrRs2dKIjo62bj958qQxadIko3Hjxsb3339vGIZhZGdnG8OHD7f+DovY0rlz54xq1aoZM2fONG7cuFFkW15enjF06FCjYsWKhpeXl+Hi4mJs3brVNoWK/IccbB365ddZxmTl5uayZs0arl69ioeHBzNnzqRv374UFBRgGAYDBgygUqVKREVFcfz4cbp06UJAQACRkZE0atSIxx57DNAYFyl+BQUFVKlSxTrr87x583BxcaFfv37Ur1+fxMREPD09cXFx4datW2RmZlK3bl1ee+01Tp48yfr161m4cKGNv4XIg6pXr05YWBiLFy9m06ZNFBQUMGvWLFuXJeXU5s2bmTRpEp9//jl9+/YlMTGRxMTEIhOuPvHEE4SEhHD48GESExPx8fHB1dWVTz75BNC8L2I7lvvTmJgYWrVqxfz583FycgL+fl46OjoSFRXFp59+ip2dHbVr18bHx0f3tlKqKHSXQJYfmaysLDp27EjlypVJSUkhMzOTAwcOWCftiY2N5fLly7z77ru4uLhgb29Ply5dyMjI4PLlyzRq1Mi6T/0oSXEyDAMHBwfi4+PZsGEDwcHBzJs3j3nz5rFmzRrs7Ozo06cPd+7c4X/+53+4c+cOhmGwa9cu2rVrx6xZs6hZs6atv4bIP+Tp6cmMGTPIy8uja9euti5HyqkPP/yQsWPH0rNnT/r27QuAu7s7bdq0ISEhgZ49e+Lq6gpAy5YtcXJy4ujRo4waNarIfhS4xVYs96fnz5/n8uXLODg4YDKZMAzDel6eOXMGLy8vAgICbFmqyH9FY7pLGMuPTHZ2Nk2bNqVly5bExMQQFxfH4sWLOXToEG+//TYASUlJnDt3jrp16wJw8uRJ6tWrR1xcHF27dtUYF7GJwsJCTCYTWVlZjBgxAkdHR1q3bs3IkSN5/fXXcXV1xcvLi9jYWGJiYti8eTO7d+/miy++oF27dgC0adOGGjVq2PibiPy2mjVrsnz5cjp16mTrUqQceu+99wgJCSEkJIS//vWvvPjii8C9nhg+Pj6sW7eOXbt2kZOTA9xb+s4wDOs9g4it3H9/ajabMQwDT09P8vPzOXv2LGazGZPJhNlsJj8/n3Xr1rF79+4H9qMGJSlNtGRYCZSXl8czzzzDzz//zIULF6yvZ2Rk0L59e0JCQpg9ezbZ2dm0aNECJycnmjdvzo4dO9i6dStDhgyxYfUikJiYSGxsLIcOHWLhwoXWdYzT09PZtm0b4eHhTJ8+ndmzZz/wWXUXExH5bcuXL2fq1Kns3r2bPn368M477xAeHs6wYcNYvXo1AGPHjmXfvn106NCBxx57jB9//JH09HR+/PFH6+z6IsXN0pvzxo0bmM1mCgoKqF69OpmZmTRt2pRmzZqxevVqGjRoAMDGjRsJCwtj+/bt+Pj42Lh6kf+cfnVLoJycHB5//HHy8/NZunQpL7/8MnZ2djg7O5OVlWUNMG5ubuzbt4/XXnsNFxcXoqOj6dOnj0KL2NzmzZt54403qF69OrNnz7aes1WrViUoKAiAKVOmkJmZyZIlS4p8VueuiMhva9WqFR9//DF9+vQBYPjw4ZhMJsLCwjAMg4iICNavX8/q1atJSEjg5MmTNG3alLfeegsHBweN4RabscxSPnLkSAoLC3F3d2fGjBkMGTKEv/zlL/Ts2ZOhQ4dSpUoVatSowY4dO1i/fr0Ct5R6aukuodLS0li4cCGxsbGMGjWKyZMn4+PjQ5UqVaxjuu9XUFCAg4ODtcuOgovYmmWd+HXr1hEaGlpk240bN9i0aRNPPvkkvXr1slGFIiKl2/0P2bOysti6dSthYWEEBgYSERFhfU9hYaG1ddtyvyBSnCwPerKzs2nZsiVDhw6lYcOGHD16lA0bNrBx40aCgoK4ceMGa9euJSkpiWrVqtGrVy+efvppNShJqafQXYKlpaWxYMECjhw5QnJyMm3atGHXrl3Y29vrKbWUGJZzMT8/n/z8fCpWrGjdNnXqVCIiIti8eTOBgYFFPnf/gyJdSEVE/nuW4B0eHk5QUBDLly8vsl2/t2JLZ8+eJTY2lvj4eBYvXoydnR3p6eksWbKEZcuWsXHjRkaPHo3ZbMbOrui0Uzp3pbTTo84SzNPTk7CwMBYtWsSVK1fw8fFR0Babu//CZwnOf/3rX5k3bx7Jycl4e3vTtWtXxo8fz1tvvYXZbGb06NGYTKYiM49aWlp0ERUR+X24u7tbu5r/4Q9/oF69erz00kvW7fq9FVvJz89n1apVrFq1inbt2llDddWqVZkxYwYmk4mQkBDMZjPPPffcA5/XuSulnUJ3Cefp6cns2bMxm83ExMRQsWJFpk+frvAtNmEJ3Lm5uZw6dYrWrVtz6tQpOnXqxKBBgxgyZAjffvst69at46effmLFihUsX74cR0dHhg0bRmFhIcOHD7f11xARKbPc3d0JCAigWrVq+Pv727ocEQAcHR0ZP348hYWFrF271jp+G/4evO/cucPzzz9P79698fT0VNCWMkXdy0uJtLQ0Fi9ezJdffklQUBCzZs2ydUlSDhmGgWEYDB06FG9vbxYtWkRoaCi5ubl89NFHAOTm5rJ27Vo++eQTgoODrcvYTJ06lV69elkn/hERkYdPY7jFFn6tizjAqVOnWLhwITt37mT79u306NHDui09PZ309HS8vb2Ls1SRYqFf4VLC09OTGTNmkJeXR9euXW1djpRTJpMJk8mEm5sbp0+fBuDatWtFbugqVqxIaGgoR44cYf/+/dbQ/dZbbwEalyUiUpwUuKW4WeZ6OXfuHFu2bMEwDGrXrs3YsWPx9vYmLCwMe3t7AgIC2L59O926dQPutXhXrVoV0L2ClD0PPoKSEqtmzZosX76cTp062boUKacKCwsBaN68OVeuXAGgfv363Lx5k2vXrmE2m4F7y9n16tWLY8eOkZGRUWQfuoiKiIiUTWazGXt7e06cOEHnzp355ptvOHbsGGFhYfzxj38EoHHjxsycOZMhQ4bQu3dv/vKXvzywH90rSFmj0F3KODk52boEKUcsIdrCMpdAjx49uHTpEhkZGYwaNYqDBw/y+uuvc/PmTet7U1JSaNCgAc7OzsVas4iIiNiGnZ0dKSkpBAYGEhQUxBdffMGmTZtwc3Nj5cqV1knSvL29mTp1KiNGjEAjXaU8UJ8jEfmH7OzsyMnJYe7cuVSrVo3evXvj6uqKg4MDZrOZS5cu0apVK/70pz8xaNAgkpKSqFOnDpUrV2bp0qVs27YNV1dXW38NERER+Z3dP27b8nez2UxcXBydO3dm2bJlFBYW4ufnR7169QgLC2PcuHFUrlyZ5cuX8+STT7J27VpcXFzUnVzKPIVuEflNP/74I3FxceTl5fHuu+9y7do1evfuTUpKCp9//jkNGjTAz8+PQ4cOERERwcmTJ6latSqfffYZ/v7+upCKiIiUMZZx27m5uURERBAfH88LL7yAr68vzzzzjPWB+7hx43B1dWX79u0AvP3226xcuZKrV6/y8ccf4+LiAqg7uZR9Ct0i8pu6dOnCwYMHAUhNTSUpKYnz589z69YtoqKiqFWrFkOGDKFt27asW7cOZ2dncnNzqVixorqMiYiIlDGWcdtZWVn06NGDBg0a0LBhQ2rWrAlAhQoV6NmzJ7du3eLcuXNMnDgRV1dX8vLyaNeuHS+88AINGza08bcQKV5aMkxE/ilLa7XlybbFsGHDOHHiBLNmzWLw4MHWJ9tq3RYRESm7cnNz6dChA15eXmzcuNHaYn3/9f/GjRt4eXnx3HPPsWzZMt5//32WLl3Knj17aNCgge4VpFxRS7eI/FOWi6IlcFvWfd22bRsjR44kPDycwsJCgoODsbOz00VURESkDLIE5XfeeYdKlSoRERFhDdzw9/sFwzCoXLkyCxYsYMKECURHR5Oamsr69etp0KBBkfeKlAcK3SJSxP0To8Cvt1o7ODhYW723bNlCQEAA9evXL/I5ERERKVss9wPHjh2jcuXKVK9e/YH7hPv/HRoaSuvWrTl9+jRPPPEErVu3Vgu3lEvqXi4iD7h06RL79u3jueeeK9Kd/Jd+2d1cF1IREZGyr2fPnri4uBAdHf0P3zNlyhQCAgLo1KlTkdd1ryDlkZqlRMTK8gxuxYoVrFq1iuzsbODB9botfhnIdREVEREpuyz3CY0aNeL48ePEx8c/sA3ujedOSkri1q1bD+xD9wpSHil0iwiFhYVF/j137lzS09OZPXs2cG+9bnWKERERKd/u7zaemprK0qVLuXDhgnWb5V4hOjqaCxcuUKdOHZvVKlKSKHSLCPb29pw9e5b33nuP06dP4+bmxtq1a9m7dy/btm0D9GRaRERE7mnVqhVr1qwhKiqKKVOmEBMTA8DJkydZuXIlL7zwAnPnzsXb29vGlYqUDBrTLSLk5+czePBg9uzZQ+fOnZk2bRrdu3fnj3/8I/b29syfPx9PT09blykiIiIlRGFhIVFRUUyYMIE7d+7g7OxMlSpVqFixIvPnz2fo0KEavy3y/2n2cpFy6v5Zyu3s7Bg+fDiZmZm0bduW4OBgZs6cSbVq1fjwww/x9/enf//+D8xsLiIiIuWTvb09w4YNw8fHh+PHj3P27Fnatm1LrVq1aNSokYalidxHLd0i5diFCxe4cuUK7dq1Iysri2effZZOnToxfvx45syZg5ubG6tWraJq1aocOXKEunXr2rpkEREREZFSRU1WIuXU7du3efPNN/Hx8WHlypU4OTnxwQcfsH79euLi4oiIiGDAgAF06dKF9PR0MjIybF2yiIiIiEipo5ZukXLkl93DMzIy+PTTT5k3bx6dO3emf//+ODg48PXXXxMeHs7jjz8OwIkTJ2jWrJmtyhYRERERKbUUukXKicLCQuzt7UlLS+P06dMUFBTQpk0bHnnkEeLi4tiyZQv79+8nKysLT09PXnrpJYYPH15kH5oQRURERETk36PQLVIOWFq4ExISGDFiBHZ2djg4OJCSkkJUVBRPPfUUmZmZnDlzhpkzZ/L111/j4eHBhQsXqFChgq3LFxEREREptTSmW6QcsLOz4+LFi/Tp0wd/f3+OHTvG7t27SU9PJyoqisLCQh555BHat2/P/v37efPNN9m6dasCt4iIiIjIf0kt3SJljKUbOWBdrsNkMrFv3z5Wr17Nzp07KSgowNfXFw8PD7Zt24abmxt3797F2dm5yL7UnVxERERE5L+jlm6RMsbe3p5bt25x4MCBIoH59OnTXLx4kbt379K5c2ceeeQRa+D++uuvCQsL4+7du0X2pcAtIiIiIvLfUegWKYMiIiLo3r07u3btsgbnDh064OHhQZMmTXBxcWHPnj24ubkBcPToUc6cOUNmZqYNqxYRERERKXscbF2AiPz+goODSU1NZdCgQXz22WcMHDiQxo0bU6lSJTIyMpgxYwb29vbk5OQQGRnJ/Pnz2bp1K9WrV7d16SIiIiIiZYrGdIuUcr9ce9siLS2NRYsWsWrVKqKiohgyZAgZGRkEBQVx+fJlMjMz8fb25sSJE6xcuZLAwECN4RYRERER+Z0pdIuUYpaQfPv2bfbt20fz5s2pV6+edXtGRgZz585l7dq1bNu2jYCAAG7evMmRI0f4/vvv8fb2pn79+rRp06bIpGsiIiIiIvL7UOgWKeXy8vLo2rUrsbGxuLm5MXToUGrUqMH48eOpVq0aJpOJ+fPns2TJEmuLt4iIiIiIFA+N6RYp5W7duoW3tze3bt3CxcWFRx99lB07dhAZGQlAaGgodevWZfz48YwYMYKdO3fyzDPP2LhqEREREZHyQS3dImXAlStXeP311zl79iw9e/Zk2rRpJCQksGXLFn766Se++eYb6tSpw6lTpwC4du0aVapUUVdyEREREZGHTKFbpIy4fPkyixYt4rvvvmPkyJFMmTIFgNu3b3P58mX279/P4cOH6devH0OHDrVxtSIiIiIi5YNCt0gZkpaWxoIFC4iLi2PAgAHMnj37V9+nSdNERERERIrHg+sMiUip5enpSVhYGO3atWPnzp0sXbrUuu3+52smk0mBW0RERESkGCh0i5QxluDdoUMHNm3axKJFiwC1aouIiIiI2IJmLxcpgzw9PZkxY4Z1OTEREREREbENjekWKcPy8vJwcnKydRkiIiIiIuWWQreIiIiIiIjIQ6Ix3SIiIiIiIiIPiUK3iIiIiIiIyEOi0C0iIiIiIiLykCh0i4iIiIiIiDwkCt0iIiIiIiIiD4lCt4iIiIiIiMhDotAtIiJSTtWtW5fly5c/9OMkJydjMpk4fvz4Qz+WiIhISaPQLSIiYkNjxozBZDJhMplwdHSkevXq9OrVi/Xr12M2m3+XY3z44Yc88sgjD7weFxdHaGjo73IMizFjxjBo0KAir9WpU4fU1FSaNm36ux5LRESkNFDoFhERsTE/Pz9SU1NJTk4mJiaGbt268dJLL+Hv709BQcFDO+6jjz5KxYoVH9r+Lezt7fH09MTBweGhH0tERKSkUegWERGxMWdnZzw9PalVqxatW7dm9uzZREdHExMTw4cffgjAzZs3CQ0NpVq1ari7u9O9e3fi4+Ot+4iPj6dbt264ubnh7u5OmzZtOHr0KAcOHOD555/n5s2b1hb1V199FXiwe7nJZOL9999n8ODBVKxYkUaNGrFz507r9sLCQkJCQqhXrx4VKlSgcePGrFixwrr91VdfZePGjURHR1uPdeDAgV/tXv7111/Tvn17nJ2dqVGjBq+88kqRBwxPP/00L774IjNmzKBKlSp4enpa6xYRESlNFLpFRERKoO7du9OiRQs+++wzDMOgX79+pKWlsWfPHn744Qdat25Njx49uH79OgAjR46kdu3axMXF8cMPP/DKK6/g6OhIp06dWL58Oe7u7qSmppKamsq0adP+4XHnz59PYGAgCQkJ9O3bl5EjR1qPYTabqV27NpGRkZw8eZK5c+cye/ZsIiMjAZg2bRqBgYHWlvvU1FQ6der0wDFSUlLo27cv7dq1Iz4+nrVr1/LBBx/wxhtvFHnfxo0bcXFxITY2liVLlvDaa6/xxRdf/F7/xSIiIsVC/bxERERKKG9vbxISEti/fz8nTpzg6tWrODs7A7Bs2TJ27NhBVFQUoaGhXLhwgenTp+Pt7Q1Ao0aNrPupVKkSJpMJT0/Pf3rMMWPGMGLECAAWLlzIqlWrOHLkCH5+fjg6OjJ//nzre+vVq8fhw4eJjIwkMDAQV1dXKlSowN27d3/zWGvWrKFOnTqsXr0ak8mEt7c3ly9fZubMmcydOxc7u3ttAs2bN2fevHnW77N69Wq+/PJLevXq9W/+T4qIiNiOWrpFRERKKMMwMJlM/PDDD+Tk5ODh4YGrq6v1T1JSEj///DMAU6dOZdy4cfTs2ZPFixdbX/93NW/e3Pp3FxcX3NzcuHr1qvW1devW0bZtWx599FFcXV157733uHDhwr91jL/97W907NgRk8lkfc3X15ecnBwuXbr0q7UA1KhRo0gtIiIipYFaukVEREqov/3tb9SrVw+z2UyNGjU4cODAA++xzEr+6quvEhQUxO7du4mJiWHevHls3bqVwYMH/1vHdHR0LPJvk8lknUU9MjKSKVOm8H//93907NgRNzc3li5dSmxs7L91DMvDhF++Zjnev1KLiIhIaaHQLSIiUgJ99dVXnDhxgilTplC7dm3S0tJwcHCgbt26//AzXl5eeHl5MWXKFEaMGMGGDRsYPHgwTk5OFBYW/tc1HTx4kE6dOjFx4kTra79sUf9XjvXkk0+yffv2IuH78OHDuLm5UatWrf+6ThERkZJE3ctFRERs7O7du6SlpZGSksKxY8dYuHAhAwcOxN/fn+DgYHr27EnHjh0ZNGgQe/fuJTk5mcOHDxMeHs7Ro0e5ffs2kyZN4sCBA5w/f55vv/2WuLg4nnjiCeDeLOU5OTl8+eWXpKenk5ub+x/V2bBhQ44ePcrevXs5c+YMc+bMIS4ursh76tatS0JCAqdPnyY9PZ38/PwH9jNx4kQuXrzI5MmTOXXqFNHR0cybN4+pU6dax3OLiIiUFbqyiYiI2Nif//xnatSoQd26dfHz82P//v2sXLmS6Oho7O3tMZlM7Nmzh6eeeoqxY8fi5eXF8OHDSU5Opnr16tjb25ORkUFwcDBeXl4EBgbSp08f66RnnTp1YsKECQwbNoxHH32UJUuW/Ed1TpgwgSFDhjBs2DB8fHzIyMgo0uoNMH78eBo3bmwd9/3tt98+sJ9atWqxZ88ejhw5QosWLZgwYQIhISGEh4f/R3WJiIiUZCbDMohKRERERERERH5XaukWEREREREReUgUukVEREREREQeEoVuERERERERkYdEoVtERERERETkIVHoFhEREREREXlIFLpFREREREREHhKFbhEREREREZGHRKFbRERERERE5CFR6BYRERERERF5SBS6RURERERERB4ShW4RERERERGRh0ShW0REREREROQh+X+YlFsrK9HYqAAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# 1. DEFINE THE ABSOLUTE FILE PATH\n", + "# *** IMPORTANT *** Please ensure this path is correct for your local machine.\n", + "travel_trip_data = r\"D:\\Ironhack\\Week4\\first_project\\data\\raw\\Travel details dataset.csv\"\n", + "\n", + "# --- Column Cleaning Function ---\n", + "def clean_column(name):\n", + " \"\"\"Cleans column names.\"\"\"\n", + " return name.lower().strip().replace(\" \", \"_\").replace('', '') \n", + "\n", + "# --- Load Data and Clean Columns ---\n", + "try:\n", + " # Use the absolute path variable to load the file\n", + " travel_trip_safina_df = pd.read_csv(travel_trip_data, encoding='ISO-8859-1')\n", + " print(\"File loaded successfully.\")\n", + "\n", + "except FileNotFoundError:\n", + " print(f\"ERROR: File not found. Please check and correct the path variable: {travel_trip_data}\")\n", + " raise\n", + "\n", + "travel_trip_safina_df.columns = [clean_column(col) for col in travel_trip_safina_df.columns] \n", + "\n", + "# --- PART 1: Find the Most Frequent Traveling Nationality ---\n", + "# Calculate total trip counts by nationality\n", + "nationality_counts = travel_trip_safina_df['traveler_nationality'].value_counts()\n", + "top_nationality_name = nationality_counts.index[0]\n", + "top_nationality_trips = nationality_counts.iloc[0]\n", + "\n", + "# --- PART 2: Find Favorite Destinations for the Top Nationality ---\n", + "\n", + "# 1. Filter the DataFrame for the top nationality\n", + "top_nationality_df = travel_trip_safina_df[\n", + " travel_trip_safina_df['traveler_nationality'] == top_nationality_name\n", + "].copy()\n", + "\n", + "# 2. Clean and Split Destination for the filtered data\n", + "top_nationality_df['destination'] = top_nationality_df['destination'].str.strip()\n", + "destination_split = top_nationality_df['destination'].str.split(',\\s*', expand=True)\n", + "\n", + "top_nationality_df['city'] = destination_split[0].str.strip()\n", + "top_nationality_df['country'] = destination_split[1].fillna(destination_split[0]).str.strip() \n", + "\n", + "# 3. Analyze Destination Frequencies\n", + "destination_counts = top_nationality_df.groupby(['country', 'city']).size().reset_index(name='Number of Trips')\n", + "destination_counts = destination_counts.sort_values(by='Number of Trips', ascending=False)\n", + "\n", + "# --- 4. Display Results ---\n", + "print(f\"\\n--- 1. Most Frequent Traveling Nationality ---\")\n", + "print(f\"The nationality that takes the most trips is: {top_nationality_name} (Total Trips: {top_nationality_trips})\")\n", + "\n", + "print(f\"\\n--- 2. Top Destinations for {top_nationality_name} Travelers (Top 5) ---\")\n", + "print(destination_counts.head(5).to_string(index=False))\n", + "\n", + "# --- 5. Generate Plot (Optional) ---\n", + "top_5_destinations = destination_counts.head(5).copy()\n", + "top_5_destinations['Destination'] = top_5_destinations['city'] + ', ' + top_5_destinations['country']\n", + "\n", + "plt.figure(figsize=(10, 6))\n", + "plt.bar(top_5_destinations['Destination'], top_5_destinations['Number of Trips'], color='darkcyan')\n", + "plt.title(f'Top 5 Destinations for {top_nationality_name} Travelers')\n", + "plt.xlabel('Destination')\n", + "plt.ylabel('Number of Trips')\n", + "plt.xticks(rotation=45, ha='right')\n", + "plt.grid(axis='y', linestyle='--', alpha=0.7)\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "6f7b9a3e-f748-4b98-a18a-b27d9fb7fd37", + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'travel_trip_safina_df' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[1;32mIn[3], line 2\u001b[0m\n\u001b[0;32m 1\u001b[0m travel_trip_safina_df\u001b[38;5;241m.\u001b[39mloc[:, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124maccommodation_cost\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m=\u001b[39m (\n\u001b[1;32m----> 2\u001b[0m travel_trip_safina_df[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124maccommodation_cost\u001b[39m\u001b[38;5;124m\"\u001b[39m]\n\u001b[0;32m 3\u001b[0m \u001b[38;5;241m.\u001b[39mastype(\u001b[38;5;28mstr\u001b[39m) \u001b[38;5;66;03m# in case there are numbers/NaN in there\u001b[39;00m\n\u001b[0;32m 4\u001b[0m \u001b[38;5;241m.\u001b[39mstr\u001b[38;5;241m.\u001b[39mstrip()\n\u001b[0;32m 5\u001b[0m \u001b[38;5;241m.\u001b[39mstr\u001b[38;5;241m.\u001b[39mstrip(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m$\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m 6\u001b[0m \u001b[38;5;241m.\u001b[39mstr\u001b[38;5;241m.\u001b[39mreplace(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m,\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m\"\u001b[39m, regex\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mFalse\u001b[39;00m)\n\u001b[0;32m 7\u001b[0m \u001b[38;5;241m.\u001b[39mstr\u001b[38;5;241m.\u001b[39mreplace(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m USD\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m\"\u001b[39m, regex\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mFalse\u001b[39;00m)\n\u001b[0;32m 8\u001b[0m \u001b[38;5;241m.\u001b[39mstr\u001b[38;5;241m.\u001b[39mstrip()\n\u001b[0;32m 9\u001b[0m )\n\u001b[0;32m 11\u001b[0m travel_trip_safina_df\u001b[38;5;241m.\u001b[39mloc[:, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124maccommodation_cost\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m=\u001b[39m pd\u001b[38;5;241m.\u001b[39mto_numeric(\n\u001b[0;32m 12\u001b[0m travel_trip_safina_df[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124maccommodation_cost\u001b[39m\u001b[38;5;124m\"\u001b[39m],\n\u001b[0;32m 13\u001b[0m errors\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcoerce\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 14\u001b[0m )\n\u001b[0;32m 16\u001b[0m travel_trip_safina_df\u001b[38;5;241m.\u001b[39mtransportation_cost\u001b[38;5;241m.\u001b[39munique()\n", + "\u001b[1;31mNameError\u001b[0m: name 'travel_trip_safina_df' is not defined" + ] + } + ], + "source": [ + "travel_trip_safina_df.loc[:, \"accommodation_cost\"] = (\n", + " travel_trip_safina_df[\"accommodation_cost\"]\n", + " .astype(str) # in case there are numbers/NaN in there\n", + " .str.strip()\n", + " .str.strip(\"$\")\n", + " .str.replace(\",\", \"\", regex=False)\n", + " .str.replace(\" USD\", \"\", regex=False)\n", + " .str.strip()\n", + ")\n", + "\n", + "travel_trip_safina_df.loc[:, \"accommodation_cost\"] = pd.to_numeric(\n", + " travel_trip_safina_df[\"accommodation_cost\"],\n", + " errors=\"coerce\"\n", + ")\n", + "\n", + "travel_trip_safina_df.transportation_cost.unique()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f5910f17-ac6a-404a-8444-6e48e0eeef94", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python [conda env:base] *", + "language": "python", + "name": "conda-base-py" + }, + "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.13.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 758590431bc8af2d16f48e97bff34a5d786bd676 Mon Sep 17 00:00:00 2001 From: Safina E Jahan Date: Mon, 8 Dec 2025 17:30:30 +0100 Subject: [PATCH 04/14] safina branch monday --- data/raw/Travel details dataset.csv | 140 +++++++++++++++++ notebooks/Untitled.ipynb | 6 + notebooks/Untitled1.ipynb | 6 + .../db/project_filebrowser.db | Bin 0 -> 32768 bytes ...even_day_trip_details_with_nationality.csv | 55 +++++++ notebooks/travel_frequency_by_month_final.png | Bin 0 -> 42618 bytes notebooks/travel_trip_data_safina.ipynb | 148 ++++++++++++++++-- 7 files changed, 342 insertions(+), 13 deletions(-) create mode 100644 data/raw/Travel details dataset.csv create mode 100644 notebooks/Untitled.ipynb create mode 100644 notebooks/Untitled1.ipynb create mode 100644 notebooks/anaconda_projects/db/project_filebrowser.db create mode 100644 notebooks/seven_day_trip_details_with_nationality.csv create mode 100644 notebooks/travel_frequency_by_month_final.png diff --git a/data/raw/Travel details dataset.csv b/data/raw/Travel details dataset.csv new file mode 100644 index 00000000..9b359d58 --- /dev/null +++ b/data/raw/Travel details dataset.csv @@ -0,0 +1,140 @@ +Trip ID,Destination,Start date,End date,Duration (days),Traveler name,Traveler age,Traveler gender,Traveler nationality,Accommodation type,Accommodation cost,Transportation type,Transportation cost +1,"London, UK",5/1/2023,5/8/2023,7,John Smith,35,Male,American,Hotel,1200,Flight,600 +2,"Phuket, Thailand",6/15/2023,6/20/2023,5,Jane Doe,28,Female,Canadian,Resort,800,Flight,500 +3,"Bali, Indonesia",7/1/2023,7/8/2023,7,David Lee,45,Male,Korean,Villa,1000,Flight,700 +4,"New York, USA",8/15/2023,8/29/2023,14,Sarah Johnson,29,Female,British,Hotel,2000,Flight,1000 +5,"Tokyo, Japan",9/10/2023,9/17/2023,7,Kim Nguyen,26,Female,Vietnamese,Airbnb,700,Train,200 +6,"Paris, France",10/5/2023,10/10/2023,5,Michael Brown,42,Male,American,Hotel,1500,Flight,800 +7,"Sydney, Australia",11/20/2023,11/30/2023,10,Emily Davis,33,Female,Australian,Hostel,500,Flight,1200 +8,"Rio de Janeiro, Brazil",1/5/2024,1/12/2024,7,Lucas Santos,25,Male,Brazilian,Airbnb,900,Flight,600 +9,"Amsterdam, Netherlands",2/14/2024,2/21/2024,7,Laura Janssen,31,Female,Dutch,Hotel,1200,Train,200 +10,"Dubai, United Arab Emirates",3/10/2024,3/17/2024,7,Mohammed Ali,39,Male,Emirati,Resort,2500,Flight,800 +11,"Cancun, Mexico",4/1/2024,4/8/2024,7,Ana Hernandez,27,Female,Mexican,Hotel,1000,Flight,500 +12,"Barcelona, Spain",5/15/2024,5/22/2024,7,Carlos Garcia,36,Male,Spanish,Airbnb,800,Train,100 +13,"Honolulu, Hawaii",6/10/2024,6/18/2024,8,Lily Wong,29,Female,Chinese,Resort,3000,Flight,1200 +14,"Berlin, Germany",7/1/2024,7/10/2024,9,Hans Mueller,48,Male,German,Hotel,1400,Flight,700 +15,"Marrakech, Morocco",8/20/2024,8/27/2024,7,Fatima Khouri,26,Female,Moroccan,Riad,600,Flight,400 +16,"Edinburgh, Scotland",9/5/2024,9/12/2024,7,James MacKenzie,32,Male,Scottish,Hotel,900,Train,150 +17,Paris,9/1/2023,9/10/2023,9,Sarah Johnson,30,Female,American,Hotel,$900 ,Plane,$400 +18,Bali,8/15/2023,8/25/2023,10,Michael Chang,28,Male,Chinese,Resort,"$1,500 ",Plane,$700 +19,London,7/22/2023,7/28/2023,6,Olivia Rodriguez,35,Female,British,Hotel,"$1,200 ",Train,$150 +20,Tokyo,10/5/2023,10/15/2023,10,Kenji Nakamura,45,Male,Japanese,Hotel,"$1,200 ",Plane,$800 +21,New York,11/20/2023,11/25/2023,5,Emily Lee,27,Female,American,Airbnb,$600 ,Bus,$100 +22,Sydney,12/5/2023,12/12/2023,7,James Wilson,32,Male,Australian,Hotel,"$1,000 ",Plane,$600 +23,Rome,11/1/2023,11/8/2023,7,Sofia Russo,29,Female,Italian,Airbnb,$700 ,Train,$80 +24,Bangkok,9/15/2023,9/23/2023,8,Raj Patel,40,Male,Indian,Hostel,$400 ,Plane,$500 +25,Paris,12/22/2023,12/28/2023,6,Lily Nguyen,24,Female,Vietnamese,Hotel,"$1,400 ",Train,$100 +26,Hawaii,8/1/2023,8/10/2023,9,David Kim,34,Male,Korean,Resort,"$2,000 ",Plane,$800 +27,Barcelona,10/20/2023,10/28/2023,8,Maria Garcia,31,Female,Spanish,Hotel,"$1,100 ",Train,$150 +28,Japan,5/10/2022,5/18/2022,8,Alice Smith,30,Female,American,Hotel,$800 ,Plane,$500 +29,Thailand,6/15/2022,6/22/2022,7,Bob Johnson,45,Male,Canadian,Hostel,$200 ,Train,$150 +30,France,7/2/2022,7/11/2022,9,Charlie Lee,25,Male,Korean,Airbnb,$600 ,Car rental,$300 +31,Australia,8/20/2022,9/2/2022,13,Emma Davis,28,Female,British,Hotel,"$1,000 ",Car rental,$500 +32,Brazil,9/5/2022,9/14/2022,9,Olivia Martin,33,Female,Australian,Hostel,$150 ,Bus,$50 +33,Greece,10/12/2022,10/20/2022,8,Harry Wilson,20,Male,American,Airbnb,$400 ,Plane,$600 +34,Egypt,11/8/2022,11/15/2022,7,Sophia Lee,37,Female,Canadian,Hotel,$700 ,Train,$100 +35,Mexico,1/5/2023,1/15/2023,10,James Brown,42,Male,British,Airbnb,$500 ,Plane,$800 +36,Italy,2/14/2023,2/20/2023,6,Mia Johnson,31,Female,American,Hostel,$180 ,Train,$120 +37,Spain,3/23/2023,3/31/2023,8,William Davis,27,Male,Korean,Hotel,$900 ,Car rental,$400 +38,Canada,4/19/2023,4/26/2023,7,Amelia Brown,38,Female,Australian,Airbnb,$350 ,Bus,$75 +39,"Paris, France",6/12/2022,6/19/2022,7,Mia Johnson,25,Female,American,Hotel,1400,Plane,600 +40,"Sydney, Australia",1/2/2023,1/9/2023,7,Adam Lee,33,Male,Canadian,Airbnb,800,Train,150 +41,"Tokyo, Japan",12/10/2022,12/18/2022,8,Sarah Wong,28,Female,Chinese,Hostel,500,Plane,900 +42,"Cancun, Mexico",7/1/2023,7/8/2023,7,John Smith,45,Male,American,Resort,2200,Plane,800 +43,"Rio de Janeiro, Brazil",11/20/2022,11/27/2022,7,Maria Silva,30,Female,Brazilian,Hotel,1200,Plane,700 +44,"London, UK",3/5/2023,3/12/2023,7,Peter Brown,55,Male,British,Airbnb,900,Train,100 +45,"Barcelona, Spain",8/18/2023,8/25/2023,7,Emma Garcia,27,Female,Spanish,Hostel,600,Plane,600 +46,"New York City, USA",9/15/2022,9/22/2022,7,Michael Davis,41,Male,American,Hotel,1500,Plane,500 +47,"Bangkok, Thailand",5/1/2023,5/7/2023,6,Nina Patel,29,Female,Indian,Airbnb,500,Bus,50 +48,"Vancouver, Canada",7/10/2022,7/17/2022,7,Kevin Kim,24,Male,Korean,Hostel,400,Train,150 +49,"Amsterdam, Netherlands",6/20/2023,6/28/2023,8,Laura van den Berg,31,Female,Dutch,Hotel,1100,Plane,700 +50,"Paris, France",8/15/2023,8/22/2023,7,Jennifer Nguyen,31,Female,Canadian,Hotel,"$1,200 ",Train,$300 +51,"Tokyo, Japan",10/10/2023,10/20/2023,10,David Kim,25,Male,American,Hostel,$500 ,Bus,$100 +52,"Sydney, AUS",11/5/2023,11/12/2023,7,Rachel Lee,27,Female,South Korean,Airbnb,$900 ,Car rental,$200 +53,"New York, USA",12/24/2023,12/31/2023,7,Jessica Wong,28,Female,Canadian,Hotel,"$1,400 ",Flight,$800 +54,"Rio de Janeiro, Brazil",1/15/2024,1/24/2024,9,Felipe Almeida,30,Male,Brazilian,Airbnb,$800 ,Train,$150 +55,"Bangkok, Thailand",2/1/2024,2/9/2024,8,Nisa Patel,23,Female,Indian,Hostel,$400 ,Bus,$50 +56,"London, UK",3/15/2024,3/23/2024,8,Ben Smith,35,Male,British,Hotel,"$1,000 ",Train,$200 +57,"Barcelona, Spain",4/5/2024,4/13/2024,8,Laura Gomez,29,Female,Spanish,Airbnb,$700 ,Car rental,$250 +58,"Seoul, South Korea",5/10/2024,5/18/2024,8,Park Min Woo,27,Male,South Korean,Hostel,$500 ,Subway,$20 +59,"Los Angeles, USA",6/20/2024,6/27/2024,7,Michael Chen,26,Male,Chinese,Hotel,"$1,200 ",Car rental,$300 +60,"Rome, Italy",7/15/2024,7/23/2024,8,Sofia Rossi,33,Female,Italian,Airbnb,$800 ,Train,$100 +61,Paris,7/12/2022,7/18/2022,6,Rachel Sanders,35,Female,American,Hotel,1200,Plane,800 +62,Tokyo,9/3/2022,9/10/2022,7,Kenji Nakamura,28,Male,Japanese,Hostel,400,Train,300 +63,Cape Town,1/7/2023,1/16/2023,9,Emily Watson,29,Female,British,Vacation rental,800,Car rental,200 +64,Sydney,6/23/2023,6/29/2023,6,David Lee,43,Male,Australian,Hotel,1500,Plane,1200 +65,Barcelona,8/18/2023,8/25/2023,7,Ana Rodriguez,31,Female,Spanish,Vacation rental,900,Plane,700 +66,Bali,2/1/2024,2/8/2024,7,Tom Wilson,27,Male,American,Resort,2200,Plane,1000 +67,Paris,5/6/2024,5/12/2024,6,Olivia Green,39,Female,French,Hotel,1100,Train,200 +68,New York,7/20/2024,7/26/2024,6,James Chen,25,Male,American,Vacation rental,1000,Plane,800 +69,Bangkok,9/8/2024,9/16/2024,8,Lila Patel,33,Female,Indian,Hostel,300,Plane,700 +70,Rome,2/14/2025,2/20/2025,6,Marco Rossi,41,Male,Italian,Hotel,1300,Train,100 +71,Bali,5/21/2025,5/29/2025,8,Sarah Brown,37,Female,British,Resort,1800,Plane,1000 +72,,,,,,,,,,,, +73,"Bali, Indonesia",8/5/2022,8/12/2022,7,Sarah Lee,35,Female,South Korean,Resort,500 USD,Plane,800 USD +74,"Tokyo, Japan",1/1/2023,1/9/2023,8,Alex Kim,29,Male,American,Hotel,1000 USD,Train,200 USD +75,"Cancun, Mexico",4/15/2023,4/22/2023,7,Maria Hernandez,42,Female,Mexican,Resort,800 USD,Plane,500 USD +76,"Paris, France",6/7/2023,6/14/2023,7,John Smith,46,Male,British,Hotel,1200 USD,Plane,700 USD +77,"Cape Town, SA",9/1/2023,9/10/2023,9,Mark Johnson,31,Male,South African,Guesthouse,400 USD,Car,300 USD +78,"Bali, Indonesia",11/12/2023,11/19/2023,7,Amanda Chen,25,Female,Taiwanese,Resort,600 USD,Plane,700 USD +79,"Sydney, Aus",2/5/2024,2/12/2024,7,David Lee,38,Male,Australian,Hotel,900 USD,Plane,600 USD +80,"Bangkok, Thai",5/15/2024,5/22/2024,7,Nana Kwon,27,Female,Korean,Hotel,400 USD,Plane,400 USD +81,"New York, USA",8/20/2024,8/27/2024,7,Tom Hanks,60,Male,American,Hotel,1500 USD,Plane,1000 USD +82,"Phuket, Thai",1/1/2025,1/8/2025,7,Emma Watson,32,Female,British,Resort,700 USD,Plane,800 USD +83,"Rome, Italy",4/15/2025,4/22/2025,7,James Kim,41,Male,American,Hotel,100,, +84,Paris,6/15/2021,6/20/2021,6,John Smith,35,Male,American,Hotel,800 USD,Plane,500 USD +85,Tokyo,7/1/2021,7/10/2021,10,Sarah Lee,28,Female,Korean,Airbnb,500 USD,Train,300 USD +86,Bali,8/10/2021,8/20/2021,11,Maria Garcia,42,Female,Spanish,Resort,1200 USD,Plane,700 USD +87,Sydney,9/1/2021,9/10/2021,9,David Lee,45,Male,Australian,Hotel,900 USD,Plane,600 USD +88,New York,10/15/2021,10/20/2021,6,Emily Davis,31,Female,American,Airbnb,700 USD,Car rental,200 USD +89,London,11/20/2021,11/30/2021,11,James Wilson,29,Male,British,Hostel,300 USD,Plane,400 USD +90,Dubai,1/1/2022,1/8/2022,8,Fatima Ahmed,24,Female,Emirati,Hotel,1000 USD,Plane,800 USD +91,Bangkok,2/14/2022,2/20/2022,7,Liam Nguyen,26,Male,Vietnamese,Airbnb,400 USD,Train,100 USD +92,Rome,3/10/2022,3/20/2022,11,Giulia Rossi,30,Female,Italian,Hostel,200 USD,Plane,350 USD +93,Bali,4/15/2022,4/25/2022,11,Putra Wijaya,33,Male,Indonesian,Villa,1500 USD,Car rental,300 USD +94,Seoul,5/1/2022,5/10/2022,10,Kim Min-ji,27,Female,Korean,Hotel,800 USD,Train,150 USD +95,Paris,6/15/2022,6/20/2022,5,John Smith,35,Male,USA,Hotel,$500 ,Plane,$800 +96,Tokyo,9/1/2022,9/10/2022,9,Emily Johnson,28,Female,Canada,Airbnb,$400 ,Train,$200 +97,Sydney,11/23/2022,12/2/2022,9,David Lee,45,Male,South Korea,Hostel,$200 ,Plane,"$1,200 " +98,London,2/14/2023,2/19/2023,5,Sarah Brown,37,Female,UK,Hotel,$600 ,Plane,$700 +99,New York,5/8/2023,5/14/2023,6,Michael Wong,50,Male,China,Airbnb,$800 ,Car rental,$300 +100,Rome,8/20/2023,8/27/2023,7,Jessica Chen,31,Female,Taiwan,Hotel,$700 ,Plane,$900 +101,Bangkok,11/12/2023,11/20/2023,8,Ken Tanaka,42,Male,Japan,Hostel,$300 ,Train,$100 +102,Cape Town,1/6/2024,1/14/2024,8,Maria Garcia,27,Female,Spain,Airbnb,$500 ,Plane,"$1,500 " +103,Rio de Janeiro,4/3/2024,4/10/2024,7,Rodrigo Oliveira,33,Male,Brazil,Hotel,$900 ,Car rental,$400 +104,Bali,7/22/2024,7/28/2024,6,Olivia Kim,29,Female,South Korea,Villa,"$1,200 ",Plane,"$1,000 " +105,Amsterdam,10/10/2024,10/17/2024,7,Robert Mueller,41,Male,Germany,Hotel,$600 ,Train,$150 +106,Paris,5/15/2022,5/20/2022,5,John Smith,35,Male,USA,Hotel,1000,Plane,800 +107,Tokyo,9/1/2022,9/10/2022,9,Sarah Lee,28,Female,South Korea,Airbnb,800,Train,500 +108,New York,6/20/2022,6/25/2022,5,Michael Wong,42,Male,Hong Kong,Hotel,1200,Car rental,200 +109,Bali,8/12/2022,8/20/2022,8,Lisa Chen,30,Female,Taiwan,Resort,1500,Plane,1200 +110,Sydney,7/1/2022,7/10/2022,9,David Kim,26,Male,Canada,Hostel,300,Plane,900 +111,London,6/10/2022,6/15/2022,5,Emily Wong,38,Female,United Kingdom,Hotel,900,Train,150 +112,Phuket,9/5/2022,9/12/2022,7,Mark Tan,45,Male,Singapore,Villa,2000,Plane,700 +113,Rome,5/1/2022,5/8/2022,7,Emma Lee,31,Female,Italy,Hotel,1100,Train,250 +114,Santorini,7/15/2022,7/22/2022,7,George Chen,27,Male,Greece,Airbnb,1000,Ferry,150 +115,Dubai,8/25/2022,8/30/2022,5,Sophia Kim,29,Female,United Arab Emirates,Hotel,1500,Car rental,300 +116,Phnom Penh,9/10/2022,9/15/2022,5,Alex Ng,33,Male,Cambodia,Hostel,200,Plane,500 +117,"Tokyo, Japan",2/5/2022,2/14/2022,9,Alice Smith,32,Female,American,Hotel,1000,Plane,700 +118,"Paris, France",3/15/2022,3/22/2022,7,Bob Johnson,47,Male,Canadian,Hotel,1200,Train,500 +119,"Sydney, Aus",5/1/2022,5/12/2022,11,Cindy Chen,26,Female,Chinese,Airbnb,800,Plane,1000 +120,"Rome, Italy",6/10/2022,6/17/2022,7,David Lee,38,Male,Korean,Hotel,900,Train,400 +121,"Bali, Indonesia",7/20/2022,7/30/2022,10,Emily Kim,29,Female,Korean,Hostel,500,Plane,800 +122,"Cancun, Mexico",8/8/2022,8/16/2022,8,Frank Li,41,Male,American,Hotel,1300,Plane,600 +123,"Athens, Greece",9/20/2022,9/30/2022,10,Gina Lee,35,Female,Korean,Airbnb,700,Plane,900 +124,"Tokyo, Japan",10/5/2022,10/13/2022,8,Henry Kim,24,Male,Korean,Hotel,1200,Plane,700 +125,"Sydney, Aus",11/11/2022,11/21/2022,10,Isabella Chen,30,Female,Chinese,Airbnb,900,Plane,1000 +126,"Paris, France",12/24/2022,1/1/2023,8,Jack Smith,28,Male,American,Hostel,400,Plane,700 +127,"Bali, Indonesia",2/10/2023,2/18/2023,8,Katie Johnson,33,Female,Canadian,Hotel,800,Plane,800 +128,,,,,,,,,,,, +129,"Paris, France",5/1/2023,5/7/2023,6,John Doe,35,Male,American,Hotel,5000,Airplane,2500 +130,"Tokyo, Japan",5/15/2023,5/22/2023,7,Jane Smith,28,Female,British,Airbnb,7000,Train,1500 +131,"Cape Town, South Africa",6/1/2023,6/10/2023,9,Michael Johnson,45,Male,South African,Hostel,3000,Car,2000 +132,"Sydney, Australia",6/15/2023,6/21/2023,6,Sarah Lee,31,Female,Australian,Hotel,6000,Airplane,3000 +133,"Rome, Italy",7/1/2023,7/8/2023,7,David Kim,42,Male,Korean,Airbnb,4000,Train,1500 +134,"New York City, USA",7/15/2023,7/22/2023,7,Emily Davis,27,Female,American,Hotel,8000,Airplane,2500 +135,"Rio de Janeiro, Brazil",8/1/2023,8/10/2023,9,Jose Perez,37,Male,Brazilian,Hostel,2500,Car,2000 +136,"Vancouver, Canada",8/15/2023,8/21/2023,6,Emma Wilson,29,Female,Canadian,Hotel,5000,Airplane,3000 +137,"Bangkok, Thailand",9/1/2023,9/8/2023,7,Ryan Chen,34,Male,Chinese,Hostel,2000,Train,1000 +138,"Barcelona, Spain",9/15/2023,9/22/2023,7,Sofia Rodriguez,25,Female,Spanish,Airbnb,6000,Airplane,2500 +139,"Auckland, New Zealand",10/1/2023,10/8/2023,7,William Brown,39,Male,New Zealander,Hotel,7000,Train,2500 diff --git a/notebooks/Untitled.ipynb b/notebooks/Untitled.ipynb new file mode 100644 index 00000000..363fcab7 --- /dev/null +++ b/notebooks/Untitled.ipynb @@ -0,0 +1,6 @@ +{ + "cells": [], + "metadata": {}, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebooks/Untitled1.ipynb b/notebooks/Untitled1.ipynb new file mode 100644 index 00000000..363fcab7 --- /dev/null +++ b/notebooks/Untitled1.ipynb @@ -0,0 +1,6 @@ +{ + "cells": [], + "metadata": {}, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebooks/anaconda_projects/db/project_filebrowser.db b/notebooks/anaconda_projects/db/project_filebrowser.db new file mode 100644 index 0000000000000000000000000000000000000000..3fa3a4a02c0753b66dd6cf65930b505be899ade0 GIT binary patch literal 32768 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 z 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%0DVD?nYoB7xzKub{T#y1;Gd6`Zr#`mPN7C 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 2\u001b[0m travel_trip_safina_df[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124maccommodation_cost\u001b[39m\u001b[38;5;124m\"\u001b[39m]\n\u001b[0;32m 3\u001b[0m \u001b[38;5;241m.\u001b[39mastype(\u001b[38;5;28mstr\u001b[39m) \u001b[38;5;66;03m# in case there are numbers/NaN in there\u001b[39;00m\n\u001b[0;32m 4\u001b[0m \u001b[38;5;241m.\u001b[39mstr\u001b[38;5;241m.\u001b[39mstrip()\n\u001b[0;32m 5\u001b[0m \u001b[38;5;241m.\u001b[39mstr\u001b[38;5;241m.\u001b[39mstrip(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m$\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m 6\u001b[0m \u001b[38;5;241m.\u001b[39mstr\u001b[38;5;241m.\u001b[39mreplace(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m,\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m\"\u001b[39m, regex\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mFalse\u001b[39;00m)\n\u001b[0;32m 7\u001b[0m \u001b[38;5;241m.\u001b[39mstr\u001b[38;5;241m.\u001b[39mreplace(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m USD\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m\"\u001b[39m, regex\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mFalse\u001b[39;00m)\n\u001b[0;32m 8\u001b[0m \u001b[38;5;241m.\u001b[39mstr\u001b[38;5;241m.\u001b[39mstrip()\n\u001b[0;32m 9\u001b[0m )\n\u001b[0;32m 11\u001b[0m travel_trip_safina_df\u001b[38;5;241m.\u001b[39mloc[:, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124maccommodation_cost\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m=\u001b[39m pd\u001b[38;5;241m.\u001b[39mto_numeric(\n\u001b[0;32m 12\u001b[0m travel_trip_safina_df[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124maccommodation_cost\u001b[39m\u001b[38;5;124m\"\u001b[39m],\n\u001b[0;32m 13\u001b[0m errors\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcoerce\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m 14\u001b[0m )\n\u001b[0;32m 16\u001b[0m travel_trip_safina_df\u001b[38;5;241m.\u001b[39mtransportation_cost\u001b[38;5;241m.\u001b[39munique()\n", - "\u001b[1;31mNameError\u001b[0m: name 'travel_trip_safina_df' is not defined" + "name": "stdout", + "output_type": "stream", + "text": [ + "File loaded successfully.\n", + "\n", + "Unique transportation costs after cleaning:\n", + "['600' '500' '700' '1000' '200' '800' '1200' '100' '400' '150' '$400 '\n", + " '$700 ' '$150 ' '$800 ' '$100 ' '$600 ' '$80 ' '$500 ' '$300 ' '$50 '\n", + " '$120 ' '$75 ' '900' '50' '$200 ' '$250 ' '$20 ' '300' nan '800 USD'\n", + " '200 USD' '500 USD' '700 USD' '300 USD' '600 USD' '400 USD' '1000 USD'\n", + " '100 USD' '350 USD' '150 USD' '$1,200 ' '$900 ' '$1,500 ' '$1,000 ' '250'\n", + " '2500' '1500' '2000' '3000']\n" ] } ], "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "# 1. DEFINE THE ABSOLUTE FILE PATH\n", + "# *** IMPORTANT *** Ensure this path is correct for your local machine.\n", + "travel_trip_data = r\"D:\\Ironhack\\Week4\\first_project\\data\\raw\\Travel details dataset.csv\"\n", + "\n", + "# --- Column Cleaning Function (Re-defined for completeness) ---\n", + "def clean_column(name):\n", + " \"\"\"Cleans column names.\"\"\"\n", + " return name.lower().strip().replace(\" \", \"_\").replace('', '') \n", + "\n", + "# --- 2. Load Data and Define DataFrame (FIXES THE NAMEERROR) ---\n", + "try:\n", + " # This line defines the DataFrame and resolves the 'NameError'\n", + " travel_trip_safina_df = pd.read_csv(travel_trip_data, encoding='ISO-8859-1')\n", + " print(\"File loaded successfully.\")\n", + "\n", + "except FileNotFoundError:\n", + " print(f\"ERROR: File not found. Please check and correct the path variable: {travel_trip_data}\")\n", + " raise\n", + "\n", + "travel_trip_safina_df.columns = [clean_column(col) for col in travel_trip_safina_df.columns] \n", + "\n", + "# -------------------------------------------------------------------\n", + "# --- 3. Accommodation Cost Cleaning (Your requested code) ---\n", + "# -------------------------------------------------------------------\n", + "\n", "travel_trip_safina_df.loc[:, \"accommodation_cost\"] = (\n", " travel_trip_safina_df[\"accommodation_cost\"]\n", - " .astype(str) # in case there are numbers/NaN in there\n", + " .astype(str)\n", " .str.strip()\n", " .str.strip(\"$\")\n", " .str.replace(\",\", \"\", regex=False)\n", " .str.replace(\" USD\", \"\", regex=False)\n", " .str.strip()\n", ")\n", - "\n", + " \n", "travel_trip_safina_df.loc[:, \"accommodation_cost\"] = pd.to_numeric(\n", " travel_trip_safina_df[\"accommodation_cost\"],\n", " errors=\"coerce\"\n", ")\n", "\n", - "travel_trip_safina_df.transportation_cost.unique()" + "# Display unique transportation costs (which were previously cleaned)\n", + "print(\"\\nUnique transportation costs after cleaning:\")\n", + "print(travel_trip_safina_df[\"transportation_cost\"].unique())" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "f5910f17-ac6a-404a-8444-6e48e0eeef94", "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "File loaded successfully.\n", + "\n", + "First 5 rows of cleaned columns (Dollar sign removed and converted to integer):\n", + " transportation_cost accommodation_cost\n", + "0 600 1200\n", + "1 500 800\n", + "2 700 1000\n", + "3 1000 2000\n", + "4 200 700\n", + "\n", + "Data Types after Integer Conversion:\n", + "\n", + "RangeIndex: 139 entries, 0 to 138\n", + "Data columns (total 2 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 transportation_cost 115 non-null object\n", + " 1 accommodation_cost 116 non-null object\n", + "dtypes: object(2)\n", + "memory usage: 2.3+ KB\n", + "None\n" + ] + } + ], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "# 1. DEFINE THE ABSOLUTE FILE PATH\n", + "# *** IMPORTANT *** Please ensure this path is correct for your local machine.\n", + "travel_trip_data = r\"D:\\Ironhack\\Week4\\first_project\\data\\raw\\Travel details dataset.csv\"\n", + "\n", + "# --- Column Cleaning Function ---\n", + "def clean_column(name):\n", + " \"\"\"Cleans column names.\"\"\"\n", + " return name.lower().strip().replace(\" \", \"_\").replace('', '') \n", + "\n", + "# --- 2. Load Data and Clean Columns ---\n", + "try:\n", + " travel_trip_safina_df = pd.read_csv(travel_trip_data, encoding='ISO-8859-1')\n", + " print(\"File loaded successfully.\")\n", + "\n", + "except FileNotFoundError:\n", + " print(f\"ERROR: File not found. Please check and correct the path variable: {travel_trip_data}\")\n", + " raise\n", + "\n", + "travel_trip_safina_df.columns = [clean_column(col) for col in travel_trip_safina_df.columns] \n", + "\n", + "# --- 3. Cleaning Currency Columns (Removing $ and Converting to Int64) ---\n", + "\n", + "columns_to_clean = [\"transportation_cost\", \"accommodation_cost\"]\n", + "\n", + "for col in columns_to_clean:\n", + " # 3a. Clean currency symbols ($, comma, USD) and convert to numeric (float)\n", + " travel_trip_safina_df.loc[:, col] = (\n", + " travel_trip_safina_df[col]\n", + " .astype(str)\n", + " .str.strip()\n", + " .str.strip(\"$\") # <-- REMOVES THE DOLLAR SIGN\n", + " .str.replace(\",\", \"\", regex=False)\n", + " .str.replace(\" usd\", \"\", regex=False)\n", + " .str.strip()\n", + " )\n", + " travel_trip_safina_df.loc[:, col] = pd.to_numeric(\n", + " travel_trip_safina_df[col],\n", + " errors=\"coerce\"\n", + " )\n", + " \n", + " # 3b. Convert to Nullable Integer (Int64)\n", + " travel_trip_safina_df.loc[:, col] = travel_trip_safina_df[col].astype('Int64')\n", + "\n", + "# --- 4. Verify the Result ---\n", + "print(\"\\nFirst 5 rows of cleaned columns (Dollar sign removed and converted to integer):\")\n", + "print(travel_trip_safina_df[columns_to_clean].head())\n", + "print(\"\\nData Types after Integer Conversion:\")\n", + "print(travel_trip_safina_df[columns_to_clean].info())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a5eb7f52-14ba-4944-bf74-f9e24b7373b4", + "metadata": {}, "outputs": [], "source": [] } From 98dcca8af009d340a1f1c1af2db750802d8771f1 Mon Sep 17 00:00:00 2001 From: Hoai Thuong TRAN Date: Mon, 8 Dec 2025 21:40:47 +0100 Subject: [PATCH 05/14] HoaiThuong Branch Monday commit --- .../traveler_trip_dataset_hoaithuong.ipynb | 1982 +++++++++++++++++ 1 file changed, 1982 insertions(+) create mode 100644 notebooks/traveler_trip_dataset_hoaithuong.ipynb diff --git a/notebooks/traveler_trip_dataset_hoaithuong.ipynb b/notebooks/traveler_trip_dataset_hoaithuong.ipynb new file mode 100644 index 00000000..a76fee8a --- /dev/null +++ b/notebooks/traveler_trip_dataset_hoaithuong.ipynb @@ -0,0 +1,1982 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 98, + "id": "eaa9e1ba-9051-4a18-8857-97b56f4b8140", + "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", + "
Trip IDDestinationStart dateEnd dateDuration (days)Traveler nameTraveler ageTraveler genderTraveler nationalityAccommodation typeAccommodation costTransportation typeTransportation cost
01London, UK5/1/20235/8/20237.0John Smith35.0MaleAmericanHotel1200Flight600
12Phuket, Thailand6/15/20236/20/20235.0Jane Doe28.0FemaleCanadianResort800Flight500
23Bali, Indonesia7/1/20237/8/20237.0David Lee45.0MaleKoreanVilla1000Flight700
34New York, USA8/15/20238/29/202314.0Sarah Johnson29.0FemaleBritishHotel2000Flight1000
45Tokyo, Japan9/10/20239/17/20237.0Kim Nguyen26.0FemaleVietnameseAirbnb700Train200
56Paris, France10/5/202310/10/20235.0Michael Brown42.0MaleAmericanHotel1500Flight800
67Sydney, Australia11/20/202311/30/202310.0Emily Davis33.0FemaleAustralianHostel500Flight1200
78Rio de Janeiro, Brazil1/5/20241/12/20247.0Lucas Santos25.0MaleBrazilianAirbnb900Flight600
89Amsterdam, Netherlands2/14/20242/21/20247.0Laura Janssen31.0FemaleDutchHotel1200Train200
910Dubai, United Arab Emirates3/10/20243/17/20247.0Mohammed Ali39.0MaleEmiratiResort2500Flight800
\n", + "
" + ], + "text/plain": [ + " Trip ID Destination Start date End date \\\n", + "0 1 London, UK 5/1/2023 5/8/2023 \n", + "1 2 Phuket, Thailand 6/15/2023 6/20/2023 \n", + "2 3 Bali, Indonesia 7/1/2023 7/8/2023 \n", + "3 4 New York, USA 8/15/2023 8/29/2023 \n", + "4 5 Tokyo, Japan 9/10/2023 9/17/2023 \n", + "5 6 Paris, France 10/5/2023 10/10/2023 \n", + "6 7 Sydney, Australia 11/20/2023 11/30/2023 \n", + "7 8 Rio de Janeiro, Brazil 1/5/2024 1/12/2024 \n", + "8 9 Amsterdam, Netherlands 2/14/2024 2/21/2024 \n", + "9 10 Dubai, United Arab Emirates 3/10/2024 3/17/2024 \n", + "\n", + " Duration (days) Traveler name Traveler age Traveler gender \\\n", + "0 7.0 John Smith 35.0 Male \n", + "1 5.0 Jane Doe 28.0 Female \n", + "2 7.0 David Lee 45.0 Male \n", + "3 14.0 Sarah Johnson 29.0 Female \n", + "4 7.0 Kim Nguyen 26.0 Female \n", + "5 5.0 Michael Brown 42.0 Male \n", + "6 10.0 Emily Davis 33.0 Female \n", + "7 7.0 Lucas Santos 25.0 Male \n", + "8 7.0 Laura Janssen 31.0 Female \n", + "9 7.0 Mohammed Ali 39.0 Male \n", + "\n", + " Traveler nationality Accommodation type Accommodation cost \\\n", + "0 American Hotel 1200 \n", + "1 Canadian Resort 800 \n", + "2 Korean Villa 1000 \n", + "3 British Hotel 2000 \n", + "4 Vietnamese Airbnb 700 \n", + "5 American Hotel 1500 \n", + "6 Australian Hostel 500 \n", + "7 Brazilian Airbnb 900 \n", + "8 Dutch Hotel 1200 \n", + "9 Emirati Resort 2500 \n", + "\n", + " Transportation type Transportation cost \n", + "0 Flight 600 \n", + "1 Flight 500 \n", + "2 Flight 700 \n", + "3 Flight 1000 \n", + "4 Train 200 \n", + "5 Flight 800 \n", + "6 Flight 1200 \n", + "7 Flight 600 \n", + "8 Train 200 \n", + "9 Flight 800 " + ] + }, + "execution_count": 98, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandas as pd\n", + "\n", + "travel_trip_data = \"../data/raw/Travel details dataset.csv\"\n", + "travel_trip_hoaithuong_df = pd.read_csv(travel_trip_data, encoding='ISO-8859-1')\n", + "travel_trip_hoaithuong_df.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 99, + "id": "5215913a-b54e-4a6d-a07e-5e702c75ede4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(139, 13)" + ] + }, + "execution_count": 99, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_hoaithuong_df.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 100, + "id": "d0ae93e3-d769-4e0b-b4b1-9a8f7dee6b9b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['Trip ID', 'Destination', 'Start date', 'End date',\n", + " 'Duration (days)', 'Traveler name', 'Traveler age', 'Traveler gender',\n", + " 'Traveler nationality', 'Accommodation type', 'Accommodation cost',\n", + " 'Transportation type', 'Transportation cost'],\n", + " dtype='object')" + ] + }, + "execution_count": 100, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_hoaithuong_df.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 101, + "id": "f6b0a039-7cdc-461c-958f-4ee1634601be", + "metadata": {}, + "outputs": [], + "source": [ + "travel_trip_hoaithuong_df.columns = travel_trip_hoaithuong_df.columns.str.replace(\"\", \"\", regex=False).str.replace(r\"[()]\", \"\", regex=True).str.strip(\")\").str.replace(\" \",\"_\").str.lower()" + ] + }, + { + "cell_type": "code", + "execution_count": 102, + "id": "6785b96f-411c-4f9e-82a6-d00dbc033aaf", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['trip_id', 'destination', 'start_date', 'end_date', 'duration_days',\n", + " 'traveler_name', 'traveler_age', 'traveler_gender',\n", + " 'traveler_nationality', 'accommodation_type', 'accommodation_cost',\n", + " 'transportation_type', 'transportation_cost'],\n", + " dtype='object')" + ] + }, + "execution_count": 102, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_hoaithuong_df.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 103, + "id": "4835cbff-9092-476f-bd78-1ba752ecec33", + "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", + "
trip_iddestinationstart_dateend_dateduration_daystraveler_nametraveler_agetraveler_gendertraveler_nationalityaccommodation_typeaccommodation_costtransportation_typetransportation_cost
01London, UK5/1/20235/8/20237.0John Smith35.0MaleAmericanHotel1200Flight600
12Phuket, Thailand6/15/20236/20/20235.0Jane Doe28.0FemaleCanadianResort800Flight500
23Bali, Indonesia7/1/20237/8/20237.0David Lee45.0MaleKoreanVilla1000Flight700
34New York, USA8/15/20238/29/202314.0Sarah Johnson29.0FemaleBritishHotel2000Flight1000
45Tokyo, Japan9/10/20239/17/20237.0Kim Nguyen26.0FemaleVietnameseAirbnb700Train200
\n", + "
" + ], + "text/plain": [ + " trip_id destination start_date end_date duration_days \\\n", + "0 1 London, UK 5/1/2023 5/8/2023 7.0 \n", + "1 2 Phuket, Thailand 6/15/2023 6/20/2023 5.0 \n", + "2 3 Bali, Indonesia 7/1/2023 7/8/2023 7.0 \n", + "3 4 New York, USA 8/15/2023 8/29/2023 14.0 \n", + "4 5 Tokyo, Japan 9/10/2023 9/17/2023 7.0 \n", + "\n", + " traveler_name traveler_age traveler_gender traveler_nationality \\\n", + "0 John Smith 35.0 Male American \n", + "1 Jane Doe 28.0 Female Canadian \n", + "2 David Lee 45.0 Male Korean \n", + "3 Sarah Johnson 29.0 Female British \n", + "4 Kim Nguyen 26.0 Female Vietnamese \n", + "\n", + " accommodation_type accommodation_cost transportation_type \\\n", + "0 Hotel 1200 Flight \n", + "1 Resort 800 Flight \n", + "2 Villa 1000 Flight \n", + "3 Hotel 2000 Flight \n", + "4 Airbnb 700 Train \n", + "\n", + " transportation_cost \n", + "0 600 \n", + "1 500 \n", + "2 700 \n", + "3 1000 \n", + "4 200 " + ] + }, + "execution_count": 103, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_hoaithuong_df.head(5)" + ] + }, + { + "cell_type": "code", + "execution_count": 104, + "id": "eacb80fb-b3a0-49a8-81b9-259bcb54911b", + "metadata": {}, + "outputs": [], + "source": [ + "# Clean columns start_date" + ] + }, + { + "cell_type": "code", + "execution_count": 105, + "id": "d02c1da1-0f38-4260-92be-bb53a6a8791a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['5/1/2023', '6/15/2023', '7/1/2023', '8/15/2023', '9/10/2023',\n", + " '10/5/2023', '11/20/2023', '1/5/2024', '2/14/2024', '3/10/2024',\n", + " '4/1/2024', '5/15/2024', '6/10/2024', '7/1/2024', '8/20/2024',\n", + " '9/5/2024', '9/1/2023', '7/22/2023', '12/5/2023', '11/1/2023',\n", + " '9/15/2023', '12/22/2023', '8/1/2023', '10/20/2023', '5/10/2022',\n", + " '6/15/2022', '7/2/2022', '8/20/2022', '9/5/2022', '10/12/2022',\n", + " '11/8/2022', '1/5/2023', '2/14/2023', '3/23/2023', '4/19/2023',\n", + " '6/12/2022', '1/2/2023', '12/10/2022', '11/20/2022', '3/5/2023',\n", + " '8/18/2023', '9/15/2022', '7/10/2022', '6/20/2023', '10/10/2023',\n", + " '11/5/2023', '12/24/2023', '1/15/2024', '2/1/2024', '3/15/2024',\n", + " '4/5/2024', '5/10/2024', '6/20/2024', '7/15/2024', '7/12/2022',\n", + " '9/3/2022', '1/7/2023', '6/23/2023', '5/6/2024', '7/20/2024',\n", + " '9/8/2024', '2/14/2025', '5/21/2025', nan, '8/5/2022', '1/1/2023',\n", + " '4/15/2023', '6/7/2023', '11/12/2023', '2/5/2024', '1/1/2025',\n", + " '4/15/2025', '6/15/2021', '7/1/2021', '8/10/2021', '9/1/2021',\n", + " '10/15/2021', '11/20/2021', '1/1/2022', '2/14/2022', '3/10/2022',\n", + " '4/15/2022', '5/1/2022', '9/1/2022', '11/23/2022', '5/8/2023',\n", + " '8/20/2023', '1/6/2024', '4/3/2024', '7/22/2024', '10/10/2024',\n", + " '5/15/2022', '6/20/2022', '8/12/2022', '7/1/2022', '6/10/2022',\n", + " '7/15/2022', '8/25/2022', '9/10/2022', '2/5/2022', '3/15/2022',\n", + " '7/20/2022', '8/8/2022', '9/20/2022', '10/5/2022', '11/11/2022',\n", + " '12/24/2022', '2/10/2023', '5/15/2023', '6/1/2023', '7/15/2023',\n", + " '10/1/2023'], dtype=object)" + ] + }, + "execution_count": 105, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_hoaithuong_df['start_date'].unique()\n", + "#extract the list of unique values" + ] + }, + { + "cell_type": "code", + "execution_count": 106, + "id": "ce61b023-32f0-4052-b222-3e0dce231312", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "dtype('O')" + ] + }, + "execution_count": 106, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_hoaithuong_df['start_date'].dtype" + ] + }, + { + "cell_type": "code", + "execution_count": 107, + "id": "146c5905-e3ef-435a-a341-603a057d1b58", + "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", + "
trip_iddestinationstart_dateend_dateduration_daystraveler_nametraveler_agetraveler_gendertraveler_nationalityaccommodation_typeaccommodation_costtransportation_typetransportation_cost
7172NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
127128NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN
\n", + "
" + ], + "text/plain": [ + " trip_id destination start_date end_date duration_days traveler_name \\\n", + "71 72 NaN NaN NaN NaN NaN \n", + "127 128 NaN NaN NaN NaN NaN \n", + "\n", + " traveler_age traveler_gender traveler_nationality accommodation_type \\\n", + "71 NaN NaN NaN NaN \n", + "127 NaN NaN NaN NaN \n", + "\n", + " accommodation_cost transportation_type transportation_cost \n", + "71 NaN NaN NaN \n", + "127 NaN NaN NaN " + ] + }, + "execution_count": 107, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_hoaithuong_df[travel_trip_hoaithuong_df['start_date'].isna()]" + ] + }, + { + "cell_type": "code", + "execution_count": 108, + "id": "caf55e0d-37c1-4211-8978-43f323f88eb7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "np.int64(2)" + ] + }, + "execution_count": 108, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_hoaithuong_df[\"start_date\"].isna().sum()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 109, + "id": "14139d28-be33-449f-9b2b-6c1266dad526", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "111" + ] + }, + "execution_count": 109, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_hoaithuong_df[\"start_date\"].nunique()" + ] + }, + { + "cell_type": "code", + "execution_count": 110, + "id": "622ecee8-8cc1-495e-a9d2-4e3c2fb6b05d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0 2023-05-01\n", + "1 2023-06-15\n", + "2 2023-07-01\n", + "3 2023-08-15\n", + "4 2023-09-10\n", + " ... \n", + "134 2023-08-01\n", + "135 2023-08-15\n", + "136 2023-09-01\n", + "137 2023-09-15\n", + "138 2023-10-01\n", + "Name: start_date, Length: 139, dtype: datetime64[ns]\n" + ] + } + ], + "source": [ + "travel_trip_hoaithuong_df['start_date'] = pd.to_datetime(travel_trip_hoaithuong_df['start_date'], format='%m/%d/%Y')\n", + "print(travel_trip_hoaithuong_df['start_date'])" + ] + }, + { + "cell_type": "code", + "execution_count": 111, + "id": "9517424f-c607-4eca-a11b-18de715df887", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " start_date\n", + "0 2023-05\n", + "1 2023-06\n", + "2 2023-07\n", + "3 2023-08\n", + "4 2023-09\n" + ] + } + ], + "source": [ + "# Convert the 'end_date' column to datetime first (if not already done)\n", + "travel_trip_hoaithuong_df['start_date'] = pd.to_datetime(\n", + " travel_trip_hoaithuong_df['start_date'], \n", + " errors='coerce'\n", + ")\n", + "\n", + "# Use .dt.strftime('%Y-%m') to format the date to Year and Month only.\n", + "travel_trip_hoaithuong_df['start_date'] = travel_trip_hoaithuong_df['start_date'].dt.strftime('%Y-%m')\n", + "\n", + "# Optional: Display the new data type and values\n", + "print(travel_trip_hoaithuong_df[['start_date']].head())" + ] + }, + { + "cell_type": "code", + "execution_count": 112, + "id": "6c20800d-1a44-4695-a500-70bbaf5f1399", + "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", + "
trip_iddestinationstart_dateend_dateduration_daystraveler_nametraveler_agetraveler_gendertraveler_nationalityaccommodation_typeaccommodation_costtransportation_typetransportation_cost
01London, UK2023-055/8/20237.0John Smith35.0MaleAmericanHotel1200Flight600
12Phuket, Thailand2023-066/20/20235.0Jane Doe28.0FemaleCanadianResort800Flight500
23Bali, Indonesia2023-077/8/20237.0David Lee45.0MaleKoreanVilla1000Flight700
34New York, USA2023-088/29/202314.0Sarah Johnson29.0FemaleBritishHotel2000Flight1000
45Tokyo, Japan2023-099/17/20237.0Kim Nguyen26.0FemaleVietnameseAirbnb700Train200
..........................................
134135Rio de Janeiro, Brazil2023-088/10/20239.0Jose Perez37.0MaleBrazilianHostel2500Car2000
135136Vancouver, Canada2023-088/21/20236.0Emma Wilson29.0FemaleCanadianHotel5000Airplane3000
136137Bangkok, Thailand2023-099/8/20237.0Ryan Chen34.0MaleChineseHostel2000Train1000
137138Barcelona, Spain2023-099/22/20237.0Sofia Rodriguez25.0FemaleSpanishAirbnb6000Airplane2500
138139Auckland, New Zealand2023-1010/8/20237.0William Brown39.0MaleNew ZealanderHotel7000Train2500
\n", + "

139 rows × 13 columns

\n", + "
" + ], + "text/plain": [ + " trip_id destination start_date end_date duration_days \\\n", + "0 1 London, UK 2023-05 5/8/2023 7.0 \n", + "1 2 Phuket, Thailand 2023-06 6/20/2023 5.0 \n", + "2 3 Bali, Indonesia 2023-07 7/8/2023 7.0 \n", + "3 4 New York, USA 2023-08 8/29/2023 14.0 \n", + "4 5 Tokyo, Japan 2023-09 9/17/2023 7.0 \n", + ".. ... ... ... ... ... \n", + "134 135 Rio de Janeiro, Brazil 2023-08 8/10/2023 9.0 \n", + "135 136 Vancouver, Canada 2023-08 8/21/2023 6.0 \n", + "136 137 Bangkok, Thailand 2023-09 9/8/2023 7.0 \n", + "137 138 Barcelona, Spain 2023-09 9/22/2023 7.0 \n", + "138 139 Auckland, New Zealand 2023-10 10/8/2023 7.0 \n", + "\n", + " traveler_name traveler_age traveler_gender traveler_nationality \\\n", + "0 John Smith 35.0 Male American \n", + "1 Jane Doe 28.0 Female Canadian \n", + "2 David Lee 45.0 Male Korean \n", + "3 Sarah Johnson 29.0 Female British \n", + "4 Kim Nguyen 26.0 Female Vietnamese \n", + ".. ... ... ... ... \n", + "134 Jose Perez 37.0 Male Brazilian \n", + "135 Emma Wilson 29.0 Female Canadian \n", + "136 Ryan Chen 34.0 Male Chinese \n", + "137 Sofia Rodriguez 25.0 Female Spanish \n", + "138 William Brown 39.0 Male New Zealander \n", + "\n", + " accommodation_type accommodation_cost transportation_type \\\n", + "0 Hotel 1200 Flight \n", + "1 Resort 800 Flight \n", + "2 Villa 1000 Flight \n", + "3 Hotel 2000 Flight \n", + "4 Airbnb 700 Train \n", + ".. ... ... ... \n", + "134 Hostel 2500 Car \n", + "135 Hotel 5000 Airplane \n", + "136 Hostel 2000 Train \n", + "137 Airbnb 6000 Airplane \n", + "138 Hotel 7000 Train \n", + "\n", + " transportation_cost \n", + "0 600 \n", + "1 500 \n", + "2 700 \n", + "3 1000 \n", + "4 200 \n", + ".. ... \n", + "134 2000 \n", + "135 3000 \n", + "136 1000 \n", + "137 2500 \n", + "138 2500 \n", + "\n", + "[139 rows x 13 columns]" + ] + }, + "execution_count": 112, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + " travel_trip_hoaithuong_df" + ] + }, + { + "cell_type": "code", + "execution_count": 119, + "id": "9b426ca7-b105-4e6c-a965-a3d2f9e1794d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 2023-05-01\n", + "1 2023-06-01\n", + "2 2023-07-01\n", + "3 2023-08-01\n", + "4 2023-09-01\n", + " ... \n", + "134 2023-08-01\n", + "135 2023-08-01\n", + "136 2023-09-01\n", + "137 2023-09-01\n", + "138 2023-10-01\n", + "Name: start_date, Length: 139, dtype: datetime64[ns]" + ] + }, + "execution_count": 119, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_hoaithuong_df['start_date'] = pd.to_datetime(travel_trip_hoaithuong_df['start_date'], errors='coerce')\n", + "travel_trip_hoaithuong_df['start_date']" + ] + }, + { + "cell_type": "code", + "execution_count": 120, + "id": "8ed625ad-7d44-4c07-a604-8d2e7f84843c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 May\n", + "1 June\n", + "2 July\n", + "3 August\n", + "4 September\n", + " ... \n", + "134 August\n", + "135 August\n", + "136 September\n", + "137 September\n", + "138 October\n", + "Name: start_month, Length: 139, dtype: object" + ] + }, + "execution_count": 120, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_hoaithuong_df['start_month'] = travel_trip_hoaithuong_df['start_date'].dt.strftime('%B')\n", + "travel_trip_hoaithuong_df['start_month']" + ] + }, + { + "cell_type": "code", + "execution_count": 121, + "id": "f450c9cf-f145-4683-be6d-966e7b034201", + "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", + "
trip_iddestinationstart_dateend_dateduration_daystraveler_nametraveler_agetraveler_gendertraveler_nationalityaccommodation_typeaccommodation_costtransportation_typetransportation_coststart_monthstart_year
01London, UK2023-05-015/8/20237.0John Smith35.0MaleAmericanHotel1200Flight600May2023.0
12Phuket, Thailand2023-06-016/20/20235.0Jane Doe28.0FemaleCanadianResort800Flight500June2023.0
23Bali, Indonesia2023-07-017/8/20237.0David Lee45.0MaleKoreanVilla1000Flight700July2023.0
34New York, USA2023-08-018/29/202314.0Sarah Johnson29.0FemaleBritishHotel2000Flight1000August2023.0
45Tokyo, Japan2023-09-019/17/20237.0Kim Nguyen26.0FemaleVietnameseAirbnb700Train200September2023.0
\n", + "
" + ], + "text/plain": [ + " trip_id destination start_date end_date duration_days \\\n", + "0 1 London, UK 2023-05-01 5/8/2023 7.0 \n", + "1 2 Phuket, Thailand 2023-06-01 6/20/2023 5.0 \n", + "2 3 Bali, Indonesia 2023-07-01 7/8/2023 7.0 \n", + "3 4 New York, USA 2023-08-01 8/29/2023 14.0 \n", + "4 5 Tokyo, Japan 2023-09-01 9/17/2023 7.0 \n", + "\n", + " traveler_name traveler_age traveler_gender traveler_nationality \\\n", + "0 John Smith 35.0 Male American \n", + "1 Jane Doe 28.0 Female Canadian \n", + "2 David Lee 45.0 Male Korean \n", + "3 Sarah Johnson 29.0 Female British \n", + "4 Kim Nguyen 26.0 Female Vietnamese \n", + "\n", + " accommodation_type accommodation_cost transportation_type \\\n", + "0 Hotel 1200 Flight \n", + "1 Resort 800 Flight \n", + "2 Villa 1000 Flight \n", + "3 Hotel 2000 Flight \n", + "4 Airbnb 700 Train \n", + "\n", + " transportation_cost start_month start_year \n", + "0 600 May 2023.0 \n", + "1 500 June 2023.0 \n", + "2 700 July 2023.0 \n", + "3 1000 August 2023.0 \n", + "4 200 September 2023.0 " + ] + }, + "execution_count": 121, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_hoaithuong_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 124, + "id": "90974fd4-9cbc-414b-a0c9-790f5685badc", + "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", + "
trip_iddestinationstart_dateend_dateduration_daystraveler_nametraveler_agetraveler_gendertraveler_nationalityaccommodation_typeaccommodation_costtransportation_typetransportation_coststart_monthstart_year
01London, UK2023-05-015/8/20237.0John Smith35.0MaleAmericanHotel1200Flight600May2023
12Phuket, Thailand2023-06-016/20/20235.0Jane Doe28.0FemaleCanadianResort800Flight500June2023
23Bali, Indonesia2023-07-017/8/20237.0David Lee45.0MaleKoreanVilla1000Flight700July2023
34New York, USA2023-08-018/29/202314.0Sarah Johnson29.0FemaleBritishHotel2000Flight1000August2023
45Tokyo, Japan2023-09-019/17/20237.0Kim Nguyen26.0FemaleVietnameseAirbnb700Train200September2023
\n", + "
" + ], + "text/plain": [ + " trip_id destination start_date end_date duration_days \\\n", + "0 1 London, UK 2023-05-01 5/8/2023 7.0 \n", + "1 2 Phuket, Thailand 2023-06-01 6/20/2023 5.0 \n", + "2 3 Bali, Indonesia 2023-07-01 7/8/2023 7.0 \n", + "3 4 New York, USA 2023-08-01 8/29/2023 14.0 \n", + "4 5 Tokyo, Japan 2023-09-01 9/17/2023 7.0 \n", + "\n", + " traveler_name traveler_age traveler_gender traveler_nationality \\\n", + "0 John Smith 35.0 Male American \n", + "1 Jane Doe 28.0 Female Canadian \n", + "2 David Lee 45.0 Male Korean \n", + "3 Sarah Johnson 29.0 Female British \n", + "4 Kim Nguyen 26.0 Female Vietnamese \n", + "\n", + " accommodation_type accommodation_cost transportation_type \\\n", + "0 Hotel 1200 Flight \n", + "1 Resort 800 Flight \n", + "2 Villa 1000 Flight \n", + "3 Hotel 2000 Flight \n", + "4 Airbnb 700 Train \n", + "\n", + " transportation_cost start_month start_year \n", + "0 600 May 2023 \n", + "1 500 June 2023 \n", + "2 700 July 2023 \n", + "3 1000 August 2023 \n", + "4 200 September 2023 " + ] + }, + "execution_count": 124, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_hoaithuong_df[\"start_date\"] = pd.to_datetime(\n", + " travel_trip_hoaithuong_df[\"start_date\"], errors=\"coerce\"\n", + ")\n", + "\n", + "travel_trip_hoaithuong_df[\"start_year\"] = (\n", + " travel_trip_hoaithuong_df[\"start_date\"].dt.year.astype(\"Int64\")\n", + ")\n", + "travel_trip_hoaithuong_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 125, + "id": "2cd814fb-da83-4583-9f34-97372e41ee74", + "metadata": {}, + "outputs": [], + "source": [ + "#Clean columns: traveler_nationality" + ] + }, + { + "cell_type": "code", + "execution_count": 126, + "id": "d36774ee-16ad-4b7c-8b92-5b4ac81c589f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['American', 'Canadian', 'Korean', 'British', 'Vietnamese',\n", + " 'Australian', 'Brazilian', 'Dutch', 'Emirati', 'Mexican',\n", + " 'Spanish', 'Chinese', 'German', 'Moroccan', 'Scottish', 'Japanese',\n", + " 'Italian', 'Indian', 'South Korean', 'French', nan,\n", + " 'South African', 'Taiwanese', 'Indonesian', 'USA', 'Canada',\n", + " 'South Korea', 'UK', 'China', 'Taiwan', 'Japan', 'Spain', 'Brazil',\n", + " 'Germany', 'Hong Kong', 'United Kingdom', 'Singapore', 'Italy',\n", + " 'Greece', 'United Arab Emirates', 'Cambodia', 'New Zealander'],\n", + " dtype=object)" + ] + }, + "execution_count": 126, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + " travel_trip_hoaithuong_df['traveler_nationality'].unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 127, + "id": "2e165506-1ee0-44c9-91a5-907d9e6884bf", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 American\n", + "1 Canadian\n", + "2 Korean\n", + "3 British\n", + "4 Vietnamese\n", + " ... \n", + "134 Brazilian\n", + "135 Canadian\n", + "136 Chinese\n", + "137 Spanish\n", + "138 New Zealander\n", + "Name: traveler_nationality, Length: 139, dtype: object" + ] + }, + "execution_count": 127, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_hoaithuong_df['traveler_nationality'].str.strip().str.lower().str.title()" + ] + }, + { + "cell_type": "code", + "execution_count": 128, + "id": "2ea7355a-8df1-4bc6-b29b-e893e1221394", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "traveler_nationality\n", + "American 24\n", + "Korean 13\n", + "British 12\n", + "Canadian 9\n", + "Australian 8\n", + "Spanish 7\n", + "Chinese 7\n", + "Italian 4\n", + "Brazilian 4\n", + "Indian 4\n", + "Vietnamese 3\n", + "South Korea 3\n", + "South Korean 3\n", + "Taiwan 2\n", + "Canada 2\n", + "USA 2\n", + "South African 2\n", + "Japanese 2\n", + "Mexican 2\n", + "Emirati 2\n", + "Dutch 2\n", + "Brazil 1\n", + "Cambodia 1\n", + "United Arab Emirates 1\n", + "Greece 1\n", + "Italy 1\n", + "Singapore 1\n", + "United Kingdom 1\n", + "Hong Kong 1\n", + "Germany 1\n", + "Japan 1\n", + "Spain 1\n", + "Scottish 1\n", + "China 1\n", + "UK 1\n", + "German 1\n", + "Indonesian 1\n", + "Taiwanese 1\n", + "Moroccan 1\n", + "French 1\n", + "New Zealander 1\n", + "Name: count, dtype: int64" + ] + }, + "execution_count": 128, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_hoaithuong_df['traveler_nationality'].value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 129, + "id": "b4b7ab06-6da3-40c9-9bbf-62a0d321cd76", + "metadata": {}, + "outputs": [], + "source": [ + "mapping = {\n", + " 'American': 'United States',\n", + " 'USA': 'United States',\n", + " 'Canada': 'Canada',\n", + " 'Canadian': 'Canada',\n", + " 'UK': 'United Kingdom',\n", + " 'United Kingdom': 'United Kingdom',\n", + " 'British': 'United Kingdom',\n", + " 'Scottish': 'United Kingdom',\n", + " 'Korean': 'South Korea',\n", + " 'South Korea': 'South Korea',\n", + " 'South Korean': 'South Korea',\n", + " 'China': 'China',\n", + " 'Chinese': 'China',\n", + " 'Italy': 'Italy',\n", + " 'Italian': 'Italy',\n", + " 'Brazil': 'Brazil',\n", + " 'Brazilian': 'Brazil',\n", + " 'Emirati': 'United Arab Emirates',\n", + " 'United Arab Emirates': 'United Arab Emirates',\n", + " 'Taiwan': 'Taiwan',\n", + " 'Taiwanese': 'Taiwan',\n", + " 'Germany': 'Germany',\n", + " 'German': 'Germany',\n", + " 'Spain': 'Spain',\n", + " 'Spanish': 'Spain',\n", + " 'Japan': 'Japan',\n", + " 'Japanese': 'Japan'\n", + "}\n", + "\n", + "travel_trip_hoaithuong_df['traveler_nationality_clean'] = travel_trip_hoaithuong_df['traveler_nationality'].replace(mapping)" + ] + }, + { + "cell_type": "code", + "execution_count": 130, + "id": "6044065c-4763-4f33-8e14-4d404c9de96c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "traveler_nationality_clean\n", + "United States 26\n", + "South Korea 19\n", + "United Kingdom 15\n", + "Canada 11\n", + "China 8\n", + "Spain 8\n", + "Australian 8\n", + "Brazil 5\n", + "Italy 5\n", + "Indian 4\n", + "United Arab Emirates 3\n", + "Vietnamese 3\n", + "Japan 3\n", + "Taiwan 3\n", + "Dutch 2\n", + "Mexican 2\n", + "Germany 2\n", + "South African 2\n", + "Singapore 1\n", + "Cambodia 1\n", + "Greece 1\n", + "Moroccan 1\n", + "Hong Kong 1\n", + "Indonesian 1\n", + "French 1\n", + "New Zealander 1\n", + "Name: count, dtype: int64" + ] + }, + "execution_count": 130, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_hoaithuong_df['traveler_nationality_clean'].value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 131, + "id": "f473b554-a78f-4431-8c5e-06980976e343", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "dtype('O')" + ] + }, + "execution_count": 131, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_hoaithuong_df['traveler_nationality'].dtype" + ] + }, + { + "cell_type": "code", + "execution_count": 132, + "id": "5bfed24f-5b63-4330-9e2d-7d6edfce67a8", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 American\n", + "1 Canadian\n", + "2 Korean\n", + "3 British\n", + "4 Vietnamese\n", + " ... \n", + "134 Brazilian\n", + "135 Canadian\n", + "136 Chinese\n", + "137 Spanish\n", + "138 New Zealander\n", + "Name: traveler_nationality, Length: 139, dtype: string" + ] + }, + "execution_count": 132, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_hoaithuong_df['traveler_nationality'].astype('string')" + ] + }, + { + "cell_type": "code", + "execution_count": 133, + "id": "9c363536-ca86-417a-aa9a-59b37db0119c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "np.int64(2)" + ] + }, + "execution_count": 133, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_hoaithuong_df['traveler_nationality'].isna().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 134, + "id": "85f9faa5-c85d-48b3-b0b0-3dcea796fdaf", + "metadata": {}, + "outputs": [], + "source": [ + "# Clean columns traveler_gender" + ] + }, + { + "cell_type": "code", + "execution_count": 135, + "id": "68ceab2f-3ae5-425d-ba28-704a44289be7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['Male', 'Female', nan], dtype=object)" + ] + }, + "execution_count": 135, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_hoaithuong_df['traveler_gender'].unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 136, + "id": "0e794a05-5879-4857-84f9-1674d4212a1e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "traveler_gender\n", + "Female 70\n", + "Male 67\n", + "Name: count, dtype: int64" + ] + }, + "execution_count": 136, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_hoaithuong_df['traveler_gender'].value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 137, + "id": "e87e63d4-c180-4263-820b-abf80afe31e4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "np.int64(2)" + ] + }, + "execution_count": 137, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_hoaithuong_df['traveler_gender'].isna().sum() " + ] + }, + { + "cell_type": "code", + "execution_count": 138, + "id": "8a073849-ae87-44aa-bd84-3916171634f4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 Male\n", + "1 Female\n", + "2 Male\n", + "3 Female\n", + "4 Female\n", + " ... \n", + "134 Male\n", + "135 Female\n", + "136 Male\n", + "137 Female\n", + "138 Male\n", + "Name: traveler_gender, Length: 139, dtype: object" + ] + }, + "execution_count": 138, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_hoaithuong_df['traveler_gender'].str.strip().str.title()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 140, + "id": "7a432295-fa6c-474e-b3ad-98835f8dc5db", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "traveler_gender\n", + "Female 70\n", + "Male 67\n", + "Unknown 2\n", + "Name: count, dtype: int64" + ] + }, + "execution_count": 140, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_hoaithuong_df[\"traveler_gender\"] = (\n", + " travel_trip_hoaithuong_df[\"traveler_gender\"].fillna(\"Unknown\")\n", + ")\n", + "travel_trip_hoaithuong_df['traveler_gender'].value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bb6b32cd-c090-4b88-97a6-f9c8d647e7b7", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.13.9" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 3521598b416baf94256ba4ffdc9ebc990e3c7da7 Mon Sep 17 00:00:00 2001 From: Christos Vachakis Date: Tue, 9 Dec 2025 10:50:50 +0100 Subject: [PATCH 06/14] Remove unused untitled notebooks --- notebooks/Untitled.ipynb | 6 ------ notebooks/Untitled1.ipynb | 6 ------ 2 files changed, 12 deletions(-) delete mode 100644 notebooks/Untitled.ipynb delete mode 100644 notebooks/Untitled1.ipynb diff --git a/notebooks/Untitled.ipynb b/notebooks/Untitled.ipynb deleted file mode 100644 index 363fcab7..00000000 --- a/notebooks/Untitled.ipynb +++ /dev/null @@ -1,6 +0,0 @@ -{ - "cells": [], - "metadata": {}, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/notebooks/Untitled1.ipynb b/notebooks/Untitled1.ipynb deleted file mode 100644 index 363fcab7..00000000 --- a/notebooks/Untitled1.ipynb +++ /dev/null @@ -1,6 +0,0 @@ -{ - "cells": [], - "metadata": {}, - "nbformat": 4, - "nbformat_minor": 5 -} From 006eddcfaf2ea12c36d3bcd5ed9aa82b72ccf7ab Mon Sep 17 00:00:00 2001 From: Christos Vachakis Date: Tue, 9 Dec 2025 10:53:45 +0100 Subject: [PATCH 07/14] Remove unused username notebooks --- notebooks/explore_clean_data_username.ipynb | 1 - notebooks/load_and_clean_data_username.ipynb | 1 - 2 files changed, 2 deletions(-) delete mode 100644 notebooks/explore_clean_data_username.ipynb delete mode 100644 notebooks/load_and_clean_data_username.ipynb diff --git a/notebooks/explore_clean_data_username.ipynb b/notebooks/explore_clean_data_username.ipynb deleted file mode 100644 index 792d6005..00000000 --- a/notebooks/explore_clean_data_username.ipynb +++ /dev/null @@ -1 +0,0 @@ -# diff --git a/notebooks/load_and_clean_data_username.ipynb b/notebooks/load_and_clean_data_username.ipynb deleted file mode 100644 index 792d6005..00000000 --- a/notebooks/load_and_clean_data_username.ipynb +++ /dev/null @@ -1 +0,0 @@ -# From 4d7fd7a5cfd2fa7b004d7b5feb69e72745d28c45 Mon Sep 17 00:00:00 2001 From: Hoai Thuong TRAN Date: Tue, 9 Dec 2025 11:09:38 +0100 Subject: [PATCH 08/14] thuong clean --- .../traveler_trip_dataset_hoaithuong.ipynb | 148 +++++++++--------- 1 file changed, 75 insertions(+), 73 deletions(-) diff --git a/notebooks/traveler_trip_dataset_hoaithuong.ipynb b/notebooks/traveler_trip_dataset_hoaithuong.ipynb index a76fee8a..bf217058 100644 --- a/notebooks/traveler_trip_dataset_hoaithuong.ipynb +++ b/notebooks/traveler_trip_dataset_hoaithuong.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 98, + "execution_count": 142, "id": "eaa9e1ba-9051-4a18-8857-97b56f4b8140", "metadata": {}, "outputs": [ @@ -257,7 +257,7 @@ "9 Flight 800 " ] }, - "execution_count": 98, + "execution_count": 142, "metadata": {}, "output_type": "execute_result" } @@ -272,7 +272,7 @@ }, { "cell_type": "code", - "execution_count": 99, + "execution_count": 143, "id": "5215913a-b54e-4a6d-a07e-5e702c75ede4", "metadata": {}, "outputs": [ @@ -282,7 +282,7 @@ "(139, 13)" ] }, - "execution_count": 99, + "execution_count": 143, "metadata": {}, "output_type": "execute_result" } @@ -293,7 +293,7 @@ }, { "cell_type": "code", - "execution_count": 100, + "execution_count": 144, "id": "d0ae93e3-d769-4e0b-b4b1-9a8f7dee6b9b", "metadata": {}, "outputs": [ @@ -307,7 +307,7 @@ " dtype='object')" ] }, - "execution_count": 100, + "execution_count": 144, "metadata": {}, "output_type": "execute_result" } @@ -318,7 +318,7 @@ }, { "cell_type": "code", - "execution_count": 101, + "execution_count": 145, "id": "f6b0a039-7cdc-461c-958f-4ee1634601be", "metadata": {}, "outputs": [], @@ -328,7 +328,7 @@ }, { "cell_type": "code", - "execution_count": 102, + "execution_count": 146, "id": "6785b96f-411c-4f9e-82a6-d00dbc033aaf", "metadata": {}, "outputs": [ @@ -342,7 +342,7 @@ " dtype='object')" ] }, - "execution_count": 102, + "execution_count": 146, "metadata": {}, "output_type": "execute_result" } @@ -353,7 +353,7 @@ }, { "cell_type": "code", - "execution_count": 103, + "execution_count": 147, "id": "4835cbff-9092-476f-bd78-1ba752ecec33", "metadata": {}, "outputs": [ @@ -508,7 +508,7 @@ "4 200 " ] }, - "execution_count": 103, + "execution_count": 147, "metadata": {}, "output_type": "execute_result" } @@ -519,7 +519,7 @@ }, { "cell_type": "code", - "execution_count": 104, + "execution_count": 148, "id": "eacb80fb-b3a0-49a8-81b9-259bcb54911b", "metadata": {}, "outputs": [], @@ -529,7 +529,7 @@ }, { "cell_type": "code", - "execution_count": 105, + "execution_count": 149, "id": "d02c1da1-0f38-4260-92be-bb53a6a8791a", "metadata": {}, "outputs": [ @@ -561,7 +561,7 @@ " '10/1/2023'], dtype=object)" ] }, - "execution_count": 105, + "execution_count": 149, "metadata": {}, "output_type": "execute_result" } @@ -573,7 +573,7 @@ }, { "cell_type": "code", - "execution_count": 106, + "execution_count": 150, "id": "ce61b023-32f0-4052-b222-3e0dce231312", "metadata": {}, "outputs": [ @@ -583,7 +583,7 @@ "dtype('O')" ] }, - "execution_count": 106, + "execution_count": 150, "metadata": {}, "output_type": "execute_result" } @@ -594,7 +594,7 @@ }, { "cell_type": "code", - "execution_count": 107, + "execution_count": 151, "id": "146c5905-e3ef-435a-a341-603a057d1b58", "metadata": {}, "outputs": [ @@ -685,7 +685,7 @@ "127 NaN NaN NaN " ] }, - "execution_count": 107, + "execution_count": 151, "metadata": {}, "output_type": "execute_result" } @@ -696,7 +696,7 @@ }, { "cell_type": "code", - "execution_count": 108, + "execution_count": 152, "id": "caf55e0d-37c1-4211-8978-43f323f88eb7", "metadata": {}, "outputs": [ @@ -706,7 +706,7 @@ "np.int64(2)" ] }, - "execution_count": 108, + "execution_count": 152, "metadata": {}, "output_type": "execute_result" } @@ -717,7 +717,7 @@ }, { "cell_type": "code", - "execution_count": 109, + "execution_count": 153, "id": "14139d28-be33-449f-9b2b-6c1266dad526", "metadata": {}, "outputs": [ @@ -727,7 +727,7 @@ "111" ] }, - "execution_count": 109, + "execution_count": 153, "metadata": {}, "output_type": "execute_result" } @@ -738,7 +738,7 @@ }, { "cell_type": "code", - "execution_count": 110, + "execution_count": 154, "id": "622ecee8-8cc1-495e-a9d2-4e3c2fb6b05d", "metadata": {}, "outputs": [ @@ -768,7 +768,7 @@ }, { "cell_type": "code", - "execution_count": 111, + "execution_count": 155, "id": "9517424f-c607-4eca-a11b-18de715df887", "metadata": {}, "outputs": [ @@ -801,7 +801,7 @@ }, { "cell_type": "code", - "execution_count": 112, + "execution_count": 156, "id": "6c20800d-1a44-4695-a500-70bbaf5f1399", "metadata": {}, "outputs": [ @@ -1079,7 +1079,7 @@ "[139 rows x 13 columns]" ] }, - "execution_count": 112, + "execution_count": 156, "metadata": {}, "output_type": "execute_result" } @@ -1090,7 +1090,7 @@ }, { "cell_type": "code", - "execution_count": 119, + "execution_count": 157, "id": "9b426ca7-b105-4e6c-a965-a3d2f9e1794d", "metadata": {}, "outputs": [ @@ -1111,7 +1111,7 @@ "Name: start_date, Length: 139, dtype: datetime64[ns]" ] }, - "execution_count": 119, + "execution_count": 157, "metadata": {}, "output_type": "execute_result" } @@ -1123,7 +1123,7 @@ }, { "cell_type": "code", - "execution_count": 120, + "execution_count": 158, "id": "8ed625ad-7d44-4c07-a604-8d2e7f84843c", "metadata": {}, "outputs": [ @@ -1144,7 +1144,7 @@ "Name: start_month, Length: 139, dtype: object" ] }, - "execution_count": 120, + "execution_count": 158, "metadata": {}, "output_type": "execute_result" } @@ -1156,7 +1156,7 @@ }, { "cell_type": "code", - "execution_count": 121, + "execution_count": 159, "id": "f450c9cf-f145-4683-be6d-966e7b034201", "metadata": {}, "outputs": [ @@ -1195,7 +1195,6 @@ " transportation_type\n", " transportation_cost\n", " start_month\n", - " start_year\n", " \n", " \n", " \n", @@ -1215,7 +1214,6 @@ " Flight\n", " 600\n", " May\n", - " 2023.0\n", " \n", " \n", " 1\n", @@ -1233,7 +1231,6 @@ " Flight\n", " 500\n", " June\n", - " 2023.0\n", " \n", " \n", " 2\n", @@ -1251,7 +1248,6 @@ " Flight\n", " 700\n", " July\n", - " 2023.0\n", " \n", " \n", " 3\n", @@ -1269,7 +1265,6 @@ " Flight\n", " 1000\n", " August\n", - " 2023.0\n", " \n", " \n", " 4\n", @@ -1287,7 +1282,6 @@ " Train\n", " 200\n", " September\n", - " 2023.0\n", " \n", " \n", "\n", @@ -1315,15 +1309,15 @@ "3 Hotel 2000 Flight \n", "4 Airbnb 700 Train \n", "\n", - " transportation_cost start_month start_year \n", - "0 600 May 2023.0 \n", - "1 500 June 2023.0 \n", - "2 700 July 2023.0 \n", - "3 1000 August 2023.0 \n", - "4 200 September 2023.0 " + " transportation_cost start_month \n", + "0 600 May \n", + "1 500 June \n", + "2 700 July \n", + "3 1000 August \n", + "4 200 September " ] }, - "execution_count": 121, + "execution_count": 159, "metadata": {}, "output_type": "execute_result" } @@ -1334,7 +1328,7 @@ }, { "cell_type": "code", - "execution_count": 124, + "execution_count": 160, "id": "90974fd4-9cbc-414b-a0c9-790f5685badc", "metadata": {}, "outputs": [ @@ -1501,7 +1495,7 @@ "4 200 September 2023 " ] }, - "execution_count": 124, + "execution_count": 160, "metadata": {}, "output_type": "execute_result" } @@ -1519,7 +1513,7 @@ }, { "cell_type": "code", - "execution_count": 125, + "execution_count": 161, "id": "2cd814fb-da83-4583-9f34-97372e41ee74", "metadata": {}, "outputs": [], @@ -1529,7 +1523,7 @@ }, { "cell_type": "code", - "execution_count": 126, + "execution_count": 162, "id": "d36774ee-16ad-4b7c-8b92-5b4ac81c589f", "metadata": {}, "outputs": [ @@ -1547,7 +1541,7 @@ " dtype=object)" ] }, - "execution_count": 126, + "execution_count": 162, "metadata": {}, "output_type": "execute_result" } @@ -1558,7 +1552,7 @@ }, { "cell_type": "code", - "execution_count": 127, + "execution_count": 163, "id": "2e165506-1ee0-44c9-91a5-907d9e6884bf", "metadata": {}, "outputs": [ @@ -1579,7 +1573,7 @@ "Name: traveler_nationality, Length: 139, dtype: object" ] }, - "execution_count": 127, + "execution_count": 163, "metadata": {}, "output_type": "execute_result" } @@ -1590,7 +1584,7 @@ }, { "cell_type": "code", - "execution_count": 128, + "execution_count": 164, "id": "2ea7355a-8df1-4bc6-b29b-e893e1221394", "metadata": {}, "outputs": [ @@ -1642,7 +1636,7 @@ "Name: count, dtype: int64" ] }, - "execution_count": 128, + "execution_count": 164, "metadata": {}, "output_type": "execute_result" } @@ -1653,7 +1647,7 @@ }, { "cell_type": "code", - "execution_count": 129, + "execution_count": 165, "id": "b4b7ab06-6da3-40c9-9bbf-62a0d321cd76", "metadata": {}, "outputs": [], @@ -1693,7 +1687,7 @@ }, { "cell_type": "code", - "execution_count": 130, + "execution_count": 166, "id": "6044065c-4763-4f33-8e14-4d404c9de96c", "metadata": {}, "outputs": [ @@ -1730,7 +1724,7 @@ "Name: count, dtype: int64" ] }, - "execution_count": 130, + "execution_count": 166, "metadata": {}, "output_type": "execute_result" } @@ -1741,7 +1735,7 @@ }, { "cell_type": "code", - "execution_count": 131, + "execution_count": 167, "id": "f473b554-a78f-4431-8c5e-06980976e343", "metadata": {}, "outputs": [ @@ -1751,7 +1745,7 @@ "dtype('O')" ] }, - "execution_count": 131, + "execution_count": 167, "metadata": {}, "output_type": "execute_result" } @@ -1762,7 +1756,7 @@ }, { "cell_type": "code", - "execution_count": 132, + "execution_count": 168, "id": "5bfed24f-5b63-4330-9e2d-7d6edfce67a8", "metadata": {}, "outputs": [ @@ -1783,7 +1777,7 @@ "Name: traveler_nationality, Length: 139, dtype: string" ] }, - "execution_count": 132, + "execution_count": 168, "metadata": {}, "output_type": "execute_result" } @@ -1794,7 +1788,7 @@ }, { "cell_type": "code", - "execution_count": 133, + "execution_count": 169, "id": "9c363536-ca86-417a-aa9a-59b37db0119c", "metadata": {}, "outputs": [ @@ -1804,7 +1798,7 @@ "np.int64(2)" ] }, - "execution_count": 133, + "execution_count": 169, "metadata": {}, "output_type": "execute_result" } @@ -1815,7 +1809,7 @@ }, { "cell_type": "code", - "execution_count": 134, + "execution_count": 170, "id": "85f9faa5-c85d-48b3-b0b0-3dcea796fdaf", "metadata": {}, "outputs": [], @@ -1825,7 +1819,7 @@ }, { "cell_type": "code", - "execution_count": 135, + "execution_count": 171, "id": "68ceab2f-3ae5-425d-ba28-704a44289be7", "metadata": {}, "outputs": [ @@ -1835,7 +1829,7 @@ "array(['Male', 'Female', nan], dtype=object)" ] }, - "execution_count": 135, + "execution_count": 171, "metadata": {}, "output_type": "execute_result" } @@ -1846,7 +1840,7 @@ }, { "cell_type": "code", - "execution_count": 136, + "execution_count": 172, "id": "0e794a05-5879-4857-84f9-1674d4212a1e", "metadata": {}, "outputs": [ @@ -1859,7 +1853,7 @@ "Name: count, dtype: int64" ] }, - "execution_count": 136, + "execution_count": 172, "metadata": {}, "output_type": "execute_result" } @@ -1870,7 +1864,7 @@ }, { "cell_type": "code", - "execution_count": 137, + "execution_count": 173, "id": "e87e63d4-c180-4263-820b-abf80afe31e4", "metadata": {}, "outputs": [ @@ -1880,7 +1874,7 @@ "np.int64(2)" ] }, - "execution_count": 137, + "execution_count": 173, "metadata": {}, "output_type": "execute_result" } @@ -1891,7 +1885,7 @@ }, { "cell_type": "code", - "execution_count": 138, + "execution_count": 174, "id": "8a073849-ae87-44aa-bd84-3916171634f4", "metadata": {}, "outputs": [ @@ -1912,7 +1906,7 @@ "Name: traveler_gender, Length: 139, dtype: object" ] }, - "execution_count": 138, + "execution_count": 174, "metadata": {}, "output_type": "execute_result" } @@ -1923,7 +1917,7 @@ }, { "cell_type": "code", - "execution_count": 140, + "execution_count": 175, "id": "7a432295-fa6c-474e-b3ad-98835f8dc5db", "metadata": {}, "outputs": [ @@ -1937,7 +1931,7 @@ "Name: count, dtype: int64" ] }, - "execution_count": 140, + "execution_count": 175, "metadata": {}, "output_type": "execute_result" } @@ -1956,6 +1950,14 @@ "metadata": {}, "outputs": [], "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e9a0312b-3d0f-4561-bd4c-7591e903ce7d", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { From f9315821e27d7bddbc98a503a128a0bd6eb6d190 Mon Sep 17 00:00:00 2001 From: Hoai Thuong TRAN Date: Tue, 9 Dec 2025 12:02:19 +0100 Subject: [PATCH 09/14] thuong clean accommodation --- .../traveler_trip_dataset_hoaithuong.ipynb | 255 +++++++++++++++++- 1 file changed, 254 insertions(+), 1 deletion(-) diff --git a/notebooks/traveler_trip_dataset_hoaithuong.ipynb b/notebooks/traveler_trip_dataset_hoaithuong.ipynb index bf217058..5c15042e 100644 --- a/notebooks/traveler_trip_dataset_hoaithuong.ipynb +++ b/notebooks/traveler_trip_dataset_hoaithuong.ipynb @@ -1949,7 +1949,106 @@ "id": "bb6b32cd-c090-4b88-97a6-f9c8d647e7b7", "metadata": {}, "outputs": [], - "source": [] + "source": [ + "# Clean columns accommodation_type\t" + ] + }, + { + "cell_type": "code", + "execution_count": 176, + "id": "d5a09621-5c8a-4ce7-8226-4551ff7c1d63", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['Hotel', 'Resort', 'Villa', 'Airbnb', 'Hostel', 'Riad',\n", + " 'Vacation rental', nan, 'Guesthouse'], dtype=object)" + ] + }, + "execution_count": 176, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_hoaithuong_df['accommodation_type'].unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 182, + "id": "0254376d-d53b-4c6a-9af3-ca28eb0e9362", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "accommodation_type\n", + "Hotel 60\n", + "Airbnb 30\n", + "Hostel 24\n", + "Resort 14\n", + "Villa 4\n", + "Vacation rental 3\n", + "Unknown 2\n", + "Riad 1\n", + "Guesthouse 1\n", + "Name: count, dtype: int64" + ] + }, + "execution_count": 182, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_hoaithuong_df['accommodation_type'] = travel_trip_hoaithuong_df['accommodation_type'].fillna('Unknown')\n", + "travel_trip_hoaithuong_df['accommodation_type'].value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 190, + "id": "9984dfd6-d64f-4f42-b81f-98c9348fc02a", + "metadata": {}, + "outputs": [], + "source": [ + "mapping = {\n", + " 'Riad': 'Villa',\n", + " 'Guesthouse': 'Vacation rental'\n", + "}\n", + "travel_trip_hoaithuong_df['accommodation_type'] = travel_trip_hoaithuong_df['accommodation_type'].replace(mapping)" + ] + }, + { + "cell_type": "code", + "execution_count": 193, + "id": "7bcd31a9-b3b5-449d-bc05-f81d548a16c5", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "accommodation_type\n", + "Hotel 60\n", + "Airbnb 30\n", + "Hostel 24\n", + "Resort 14\n", + "Villa 5\n", + "Vacation rental 4\n", + "Unknown 2\n", + "Name: count, dtype: int64" + ] + }, + "execution_count": 193, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_hoaithuong_df['accommodation_type'].value_counts()" + ] }, { "cell_type": "code", @@ -1957,6 +2056,160 @@ "id": "e9a0312b-3d0f-4561-bd4c-7591e903ce7d", "metadata": {}, "outputs": [], + "source": [ + "# Clean columns accommodation_cost" + ] + }, + { + "cell_type": "code", + "execution_count": 183, + "id": "11f5f892-2539-47cf-887f-d895e51e5fdb", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "dtype('O')" + ] + }, + "execution_count": 183, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_hoaithuong_df['accommodation_cost'].dtype" + ] + }, + { + "cell_type": "code", + "execution_count": 184, + "id": "962d2623-d149-48b2-9316-25c10187073f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "count 137\n", + "unique 53\n", + "top 1200\n", + "freq 7\n", + "Name: accommodation_cost, dtype: object" + ] + }, + "execution_count": 184, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_hoaithuong_df['accommodation_cost'].describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 188, + "id": "b0213cdd-019e-4c30-8243-5577bcb8945a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 1200.0\n", + "1 800.0\n", + "2 1000.0\n", + "3 2000.0\n", + "4 700.0\n", + " ... \n", + "134 2500.0\n", + "135 5000.0\n", + "136 2000.0\n", + "137 6000.0\n", + "138 7000.0\n", + "Name: accommodation_cost, Length: 139, dtype: float64" + ] + }, + "execution_count": 188, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "median_cost = travel_trip_hoaithuong_df['accommodation_cost'].median()\n", + "travel_trip_hoaithuong_df['accommodation_cost'] = travel_trip_hoaithuong_df['accommodation_cost'].fillna(median_cost)\n", + "travel_trip_hoaithuong_df['accommodation_cost']" + ] + }, + { + "cell_type": "code", + "execution_count": 189, + "id": "b440a948-399f-44b0-a607-732a6cd4257e", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/63/sqz7vhsn42v0_qx7gj0dnxfr0000gn/T/ipykernel_31891/1662941867.py:1: FutureWarning: Setting an item of incompatible dtype is deprecated and will raise in a future error of pandas. Value '['1200.0' '800.0' '1000.0' '2000.0' '700.0' '1500.0' '500.0' '900.0'\n", + " '1200.0' '2500.0' '1000.0' '800.0' '3000.0' '1400.0' '600.0' '900.0'\n", + " '1100.0' '1100.0' '1100.0' '1100.0' '1100.0' '1100.0' '1100.0' '1100.0'\n", + " '1100.0' '1100.0' '1100.0' '1100.0' '1100.0' '1100.0' '1100.0' '1100.0'\n", + " '1100.0' '1100.0' '1100.0' '1100.0' '1100.0' '1100.0' '1400.0' '800.0'\n", + " '500.0' '2200.0' '1200.0' '900.0' '600.0' '1500.0' '500.0' '400.0'\n", + " '1100.0' '1100.0' '1100.0' '1100.0' '1100.0' '1100.0' '1100.0' '1100.0'\n", + " '1100.0' '1100.0' '1100.0' '1100.0' '1200.0' '400.0' '800.0' '1500.0'\n", + " '900.0' '2200.0' '1100.0' '1000.0' '300.0' '1300.0' '1800.0' '1100.0'\n", + " '1100.0' '1100.0' '1100.0' '1100.0' '1100.0' '1100.0' '1100.0' '1100.0'\n", + " '1100.0' '1100.0' '100.0' '1100.0' '1100.0' '1100.0' '1100.0' '1100.0'\n", + " '1100.0' '1100.0' '1100.0' '1100.0' '1100.0' '1100.0' '1100.0' '1100.0'\n", + " '1100.0' '1100.0' '1100.0' '1100.0' '1100.0' '1100.0' '1100.0' '1100.0'\n", + " '1100.0' '1000.0' '800.0' '1200.0' '1500.0' '300.0' '900.0' '2000.0'\n", + " '1100.0' '1000.0' '1500.0' '200.0' '1000.0' '1200.0' '800.0' '900.0'\n", + " '500.0' '1300.0' '700.0' '1200.0' '900.0' '400.0' '800.0' '1100.0'\n", + " '5000.0' '7000.0' '3000.0' '6000.0' '4000.0' '8000.0' '2500.0' '5000.0'\n", + " '2000.0' '6000.0' '7000.0']' has dtype incompatible with float64, please explicitly cast to a compatible dtype first.\n", + " travel_trip_hoaithuong_df.loc[:, \"accommodation_cost\"] = (\n" + ] + }, + { + "data": { + "text/plain": [ + "array([1200.0, 800.0, 1000.0, 2000.0, 700.0, 1500.0, 500.0, 900.0, 2500.0,\n", + " 3000.0, 1400.0, 600.0, 1100.0, 2200.0, 400.0, 300.0, 1300.0,\n", + " 1800.0, 100.0, 200.0, 5000.0, 7000.0, 6000.0, 4000.0, 8000.0],\n", + " dtype=object)" + ] + }, + "execution_count": 189, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_hoaithuong_df.loc[:, \"accommodation_cost\"] = (\n", + " travel_trip_hoaithuong_df[\"accommodation_cost\"]\n", + " .astype(str) # in case there are numbers/NaN in there\n", + " .str.strip()\n", + " .str.strip(\"$\")\n", + " .str.replace(\",\", \"\", regex=False)\n", + " .str.replace(\" USD\", \"\", regex=False)\n", + " .str.strip()\n", + ")\n", + "\n", + "travel_trip_hoaithuong_df.loc[:, \"accommodation_cost\"] = pd.to_numeric(\n", + " travel_trip_hoaithuong_df[\"accommodation_cost\"],\n", + " errors=\"coerce\"\n", + ")\n", + "\n", + "travel_trip_hoaithuong_df.accommodation_cost.unique()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e70cd09b-adc6-425f-be9e-85d231377d23", + "metadata": {}, + "outputs": [], "source": [] } ], From 4d016ed6689d37649bf65d58b886bc84f52c4ba1 Mon Sep 17 00:00:00 2001 From: Christos Vachakis Date: Tue, 9 Dec 2025 12:57:10 +0100 Subject: [PATCH 10/14] Add cleaning and analysis notebooks for travel trips --- notebooks/analysis_travel_trip.ipynb | 442 ++ notebooks/clean_databse.ipynb | 6027 ++++++++++++++++++++++++++ 2 files changed, 6469 insertions(+) create mode 100644 notebooks/analysis_travel_trip.ipynb create mode 100644 notebooks/clean_databse.ipynb diff --git a/notebooks/analysis_travel_trip.ipynb b/notebooks/analysis_travel_trip.ipynb new file mode 100644 index 00000000..471ee7b7 --- /dev/null +++ b/notebooks/analysis_travel_trip.ipynb @@ -0,0 +1,442 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "2d59f052-76ef-41c8-ae22-d76d2e3f7cb1", + "metadata": {}, + "source": [ + "# Calling the cleaned dataframe from the respective notebook" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "f1d024cc-bea2-4cb3-bb4d-fb7fa0c48b1b", + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
destinationtrip_iddestination_countrydestination_citystart_dateend_dateduration_daystraveler_nametraveler_agetraveler_gender...accommodation_costtransportation_typetransportation_costend_yearend_monthstart_yearstart_monthstart_month_nameend_month_nametraveler_nationality_clean
0London, UK1UKLondon2023-05-012023-05-017.0john smith35.0Male...1200Flight600.02023520235MayMayUnited States
1Phuket, Thailand2ThailandPhuket2023-06-012023-06-015.0jane doe28.0Female...800Flight500.02023620236JuneJuneCanada
2Bali, Indonesia3IndonesiaBali2023-07-012023-07-017.0david lee45.0Male...1000Flight700.02023720237JulyJulySouth Korea
3New York, USA4USANew York2023-08-012023-08-0114.0sarah johnson29.0Female...2000Flight1000.02023820238AugustAugustUnited Kingdom
4Tokyo, Japan5JapanTokyo2023-09-012023-09-017.0kim nguyen26.0Female...700Train200.02023920239SeptemberSeptemberVietnamese
..................................................................
132Rio de Janeiro, Brazil135BrazilRio de Janeiro2023-08-012023-08-019.0jose perez37.0Male...2500Private Car2000.02023820238AugustAugustBrazil
133Vancouver, Canada136CanadaVancouver2023-08-012023-08-016.0emma wilson29.0Female...5000Airplane3000.02023820238AugustAugustCanada
134Bangkok, Thailand137ThailandBangkok2023-09-012023-09-017.0ryan chen34.0Male...2000Train1000.02023920239SeptemberSeptemberChina
135Barcelona, Spain138SpainBarcelona2023-09-012023-09-017.0sofia rodriguez25.0Female...6000Airplane2500.02023920239SeptemberSeptemberSpain
136Auckland, New Zealand139New ZealandAuckland2023-10-012023-10-017.0william brown39.0Male...7000Train2500.0202310202310OctoberOctoberNew Zealander
\n", + "

137 rows × 22 columns

\n", + "
" + ], + "text/plain": [ + " destination trip_id destination_country destination_city \\\n", + "0 London, UK 1 UK London \n", + "1 Phuket, Thailand 2 Thailand Phuket \n", + "2 Bali, Indonesia 3 Indonesia Bali \n", + "3 New York, USA 4 USA New York \n", + "4 Tokyo, Japan 5 Japan Tokyo \n", + ".. ... ... ... ... \n", + "132 Rio de Janeiro, Brazil 135 Brazil Rio de Janeiro \n", + "133 Vancouver, Canada 136 Canada Vancouver \n", + "134 Bangkok, Thailand 137 Thailand Bangkok \n", + "135 Barcelona, Spain 138 Spain Barcelona \n", + "136 Auckland, New Zealand 139 New Zealand Auckland \n", + "\n", + " start_date end_date duration_days traveler_name traveler_age \\\n", + "0 2023-05-01 2023-05-01 7.0 john smith 35.0 \n", + "1 2023-06-01 2023-06-01 5.0 jane doe 28.0 \n", + "2 2023-07-01 2023-07-01 7.0 david lee 45.0 \n", + "3 2023-08-01 2023-08-01 14.0 sarah johnson 29.0 \n", + "4 2023-09-01 2023-09-01 7.0 kim nguyen 26.0 \n", + ".. ... ... ... ... ... \n", + "132 2023-08-01 2023-08-01 9.0 jose perez 37.0 \n", + "133 2023-08-01 2023-08-01 6.0 emma wilson 29.0 \n", + "134 2023-09-01 2023-09-01 7.0 ryan chen 34.0 \n", + "135 2023-09-01 2023-09-01 7.0 sofia rodriguez 25.0 \n", + "136 2023-10-01 2023-10-01 7.0 william brown 39.0 \n", + "\n", + " traveler_gender ... accommodation_cost transportation_type \\\n", + "0 Male ... 1200 Flight \n", + "1 Female ... 800 Flight \n", + "2 Male ... 1000 Flight \n", + "3 Female ... 2000 Flight \n", + "4 Female ... 700 Train \n", + ".. ... ... ... ... \n", + "132 Male ... 2500 Private Car \n", + "133 Female ... 5000 Airplane \n", + "134 Male ... 2000 Train \n", + "135 Female ... 6000 Airplane \n", + "136 Male ... 7000 Train \n", + "\n", + " transportation_cost end_year end_month start_year start_month \\\n", + "0 600.0 2023 5 2023 5 \n", + "1 500.0 2023 6 2023 6 \n", + "2 700.0 2023 7 2023 7 \n", + "3 1000.0 2023 8 2023 8 \n", + "4 200.0 2023 9 2023 9 \n", + ".. ... ... ... ... ... \n", + "132 2000.0 2023 8 2023 8 \n", + "133 3000.0 2023 8 2023 8 \n", + "134 1000.0 2023 9 2023 9 \n", + "135 2500.0 2023 9 2023 9 \n", + "136 2500.0 2023 10 2023 10 \n", + "\n", + " start_month_name end_month_name traveler_nationality_clean \n", + "0 May May United States \n", + "1 June June Canada \n", + "2 July July South Korea \n", + "3 August August United Kingdom \n", + "4 September September Vietnamese \n", + ".. ... ... ... \n", + "132 August August Brazil \n", + "133 August August Canada \n", + "134 September September China \n", + "135 September September Spain \n", + "136 October October New Zealander \n", + "\n", + "[137 rows x 22 columns]" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandas as pd\n", + "\n", + "travel_trip_complete_df = pd.read_parquet(\"../data/clean/travel_trip_complete.parquet\")\n", + "travel_trip_complete_df" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0ec9b9e2-f3f1-4f73-a64c-473495fc02b3", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python [conda env:base] *", + "language": "python", + "name": "conda-base-py" + }, + "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.13.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebooks/clean_databse.ipynb b/notebooks/clean_databse.ipynb new file mode 100644 index 00000000..8d4fdf52 --- /dev/null +++ b/notebooks/clean_databse.ipynb @@ -0,0 +1,6027 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "44384538-89c5-467f-93f1-ea71d83d7cba", + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, + "source": [ + "# Creating a clean database" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "e77d16e1-f639-40cb-acec-9497635332e9", + "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", + "
Trip IDDestinationStart dateEnd dateDuration (days)Traveler nameTraveler ageTraveler genderTraveler nationalityAccommodation typeAccommodation costTransportation typeTransportation cost
01London, UK5/1/20235/8/20237.0John Smith35.0MaleAmericanHotel1200Flight600
12Phuket, Thailand6/15/20236/20/20235.0Jane Doe28.0FemaleCanadianResort800Flight500
23Bali, Indonesia7/1/20237/8/20237.0David Lee45.0MaleKoreanVilla1000Flight700
34New York, USA8/15/20238/29/202314.0Sarah Johnson29.0FemaleBritishHotel2000Flight1000
45Tokyo, Japan9/10/20239/17/20237.0Kim Nguyen26.0FemaleVietnameseAirbnb700Train200
56Paris, France10/5/202310/10/20235.0Michael Brown42.0MaleAmericanHotel1500Flight800
67Sydney, Australia11/20/202311/30/202310.0Emily Davis33.0FemaleAustralianHostel500Flight1200
78Rio de Janeiro, Brazil1/5/20241/12/20247.0Lucas Santos25.0MaleBrazilianAirbnb900Flight600
89Amsterdam, Netherlands2/14/20242/21/20247.0Laura Janssen31.0FemaleDutchHotel1200Train200
910Dubai, United Arab Emirates3/10/20243/17/20247.0Mohammed Ali39.0MaleEmiratiResort2500Flight800
\n", + "
" + ], + "text/plain": [ + " Trip ID Destination Start date End date \\\n", + "0 1 London, UK 5/1/2023 5/8/2023 \n", + "1 2 Phuket, Thailand 6/15/2023 6/20/2023 \n", + "2 3 Bali, Indonesia 7/1/2023 7/8/2023 \n", + "3 4 New York, USA 8/15/2023 8/29/2023 \n", + "4 5 Tokyo, Japan 9/10/2023 9/17/2023 \n", + "5 6 Paris, France 10/5/2023 10/10/2023 \n", + "6 7 Sydney, Australia 11/20/2023 11/30/2023 \n", + "7 8 Rio de Janeiro, Brazil 1/5/2024 1/12/2024 \n", + "8 9 Amsterdam, Netherlands 2/14/2024 2/21/2024 \n", + "9 10 Dubai, United Arab Emirates 3/10/2024 3/17/2024 \n", + "\n", + " Duration (days) Traveler name Traveler age Traveler gender \\\n", + "0 7.0 John Smith 35.0 Male \n", + "1 5.0 Jane Doe 28.0 Female \n", + "2 7.0 David Lee 45.0 Male \n", + "3 14.0 Sarah Johnson 29.0 Female \n", + "4 7.0 Kim Nguyen 26.0 Female \n", + "5 5.0 Michael Brown 42.0 Male \n", + "6 10.0 Emily Davis 33.0 Female \n", + "7 7.0 Lucas Santos 25.0 Male \n", + "8 7.0 Laura Janssen 31.0 Female \n", + "9 7.0 Mohammed Ali 39.0 Male \n", + "\n", + " Traveler nationality Accommodation type Accommodation cost \\\n", + "0 American Hotel 1200 \n", + "1 Canadian Resort 800 \n", + "2 Korean Villa 1000 \n", + "3 British Hotel 2000 \n", + "4 Vietnamese Airbnb 700 \n", + "5 American Hotel 1500 \n", + "6 Australian Hostel 500 \n", + "7 Brazilian Airbnb 900 \n", + "8 Dutch Hotel 1200 \n", + "9 Emirati Resort 2500 \n", + "\n", + " Transportation type Transportation cost \n", + "0 Flight 600 \n", + "1 Flight 500 \n", + "2 Flight 700 \n", + "3 Flight 1000 \n", + "4 Train 200 \n", + "5 Flight 800 \n", + "6 Flight 1200 \n", + "7 Flight 600 \n", + "8 Train 200 \n", + "9 Flight 800 " + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandas as pd\n", + "\n", + "travel_trip_data = \"../data/raw/Travel details dataset.csv\"\n", + "travel_trip_full_df = pd.read_csv(travel_trip_data, encoding='ISO-8859-1')\n", + "travel_trip_full_df.head(10)" + ] + }, + { + "cell_type": "markdown", + "id": "d008abb1-c592-4c7a-9f0c-4f74a1625544", + "metadata": {}, + "source": [ + "## Christos code" + ] + }, + { + "cell_type": "markdown", + "id": "4add126f-85e7-4a60-a842-31b1490b8992", + "metadata": {}, + "source": [ + "### Cleaning column names" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "581a6aa8-363d-46d6-becc-9e2d9b99a766", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['trip_id', 'destination', 'start_date', 'end_date', 'duration_days',\n", + " 'traveler_name', 'traveler_age', 'traveler_gender',\n", + " 'traveler_nationality', 'accommodation_type', 'accommodation_cost',\n", + " 'transportation_type', 'transportation_cost'],\n", + " dtype='object')" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_full_df.columns = travel_trip_full_df.columns.str.replace(\"\", \"\", regex=False).str.replace(r\"[()]\", \"\", regex=True).str.strip(\")\").str.replace(\" \",\"_\").str.lower()\n", + "travel_trip_full_df.columns " + ] + }, + { + "cell_type": "markdown", + "id": "3bda05a4-4610-4c4f-89ce-e6ce4526a79f", + "metadata": {}, + "source": [ + "### Cleaning destination" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "93e860c1-f699-4732-9cf7-66ea050c4464", + "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", + "
trip_iddestinationstart_dateend_dateduration_daystraveler_nametraveler_agetraveler_gendertraveler_nationalityaccommodation_typeaccommodation_costtransportation_typetransportation_costdestination_citydestination_country
01London, UK5/1/20235/8/20237.0John Smith35.0MaleAmericanHotel1200Flight600LondonUK
12Phuket, Thailand6/15/20236/20/20235.0Jane Doe28.0FemaleCanadianResort800Flight500PhuketThailand
23Bali, Indonesia7/1/20237/8/20237.0David Lee45.0MaleKoreanVilla1000Flight700BaliIndonesia
34New York, USA8/15/20238/29/202314.0Sarah Johnson29.0FemaleBritishHotel2000Flight1000New YorkUSA
45Tokyo, Japan9/10/20239/17/20237.0Kim Nguyen26.0FemaleVietnameseAirbnb700Train200TokyoJapan
................................................
134135Rio de Janeiro, Brazil8/1/20238/10/20239.0Jose Perez37.0MaleBrazilianHostel2500Car2000Rio de JaneiroBrazil
135136Vancouver, Canada8/15/20238/21/20236.0Emma Wilson29.0FemaleCanadianHotel5000Airplane3000VancouverCanada
136137Bangkok, Thailand9/1/20239/8/20237.0Ryan Chen34.0MaleChineseHostel2000Train1000BangkokThailand
137138Barcelona, Spain9/15/20239/22/20237.0Sofia Rodriguez25.0FemaleSpanishAirbnb6000Airplane2500BarcelonaSpain
138139Auckland, New Zealand10/1/202310/8/20237.0William Brown39.0MaleNew ZealanderHotel7000Train2500AucklandNew Zealand
\n", + "

139 rows × 15 columns

\n", + "
" + ], + "text/plain": [ + " trip_id destination start_date end_date duration_days \\\n", + "0 1 London, UK 5/1/2023 5/8/2023 7.0 \n", + "1 2 Phuket, Thailand 6/15/2023 6/20/2023 5.0 \n", + "2 3 Bali, Indonesia 7/1/2023 7/8/2023 7.0 \n", + "3 4 New York, USA 8/15/2023 8/29/2023 14.0 \n", + "4 5 Tokyo, Japan 9/10/2023 9/17/2023 7.0 \n", + ".. ... ... ... ... ... \n", + "134 135 Rio de Janeiro, Brazil 8/1/2023 8/10/2023 9.0 \n", + "135 136 Vancouver, Canada 8/15/2023 8/21/2023 6.0 \n", + "136 137 Bangkok, Thailand 9/1/2023 9/8/2023 7.0 \n", + "137 138 Barcelona, Spain 9/15/2023 9/22/2023 7.0 \n", + "138 139 Auckland, New Zealand 10/1/2023 10/8/2023 7.0 \n", + "\n", + " traveler_name traveler_age traveler_gender traveler_nationality \\\n", + "0 John Smith 35.0 Male American \n", + "1 Jane Doe 28.0 Female Canadian \n", + "2 David Lee 45.0 Male Korean \n", + "3 Sarah Johnson 29.0 Female British \n", + "4 Kim Nguyen 26.0 Female Vietnamese \n", + ".. ... ... ... ... \n", + "134 Jose Perez 37.0 Male Brazilian \n", + "135 Emma Wilson 29.0 Female Canadian \n", + "136 Ryan Chen 34.0 Male Chinese \n", + "137 Sofia Rodriguez 25.0 Female Spanish \n", + "138 William Brown 39.0 Male New Zealander \n", + "\n", + " accommodation_type accommodation_cost transportation_type \\\n", + "0 Hotel 1200 Flight \n", + "1 Resort 800 Flight \n", + "2 Villa 1000 Flight \n", + "3 Hotel 2000 Flight \n", + "4 Airbnb 700 Train \n", + ".. ... ... ... \n", + "134 Hostel 2500 Car \n", + "135 Hotel 5000 Airplane \n", + "136 Hostel 2000 Train \n", + "137 Airbnb 6000 Airplane \n", + "138 Hotel 7000 Train \n", + "\n", + " transportation_cost destination_city destination_country \n", + "0 600 London UK \n", + "1 500 Phuket Thailand \n", + "2 700 Bali Indonesia \n", + "3 1000 New York USA \n", + "4 200 Tokyo Japan \n", + ".. ... ... ... \n", + "134 2000 Rio de Janeiro Brazil \n", + "135 3000 Vancouver Canada \n", + "136 1000 Bangkok Thailand \n", + "137 2500 Barcelona Spain \n", + "138 2500 Auckland New Zealand \n", + "\n", + "[139 rows x 15 columns]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# I want to take the column destination, and rather split it in two, destination_city and destination_country\n", + "\n", + "# Split on the first comma into two columns\n", + "travel_trip_full_df[[\"destination_city\", \"destination_country\"]] = (\n", + " travel_trip_full_df[\"destination\"]\n", + " .str.split(\",\", n=1, expand=True)\n", + ")\n", + "\n", + "# Clean up whitespace\n", + "travel_trip_full_df[\"destination_city\"] = (\n", + " travel_trip_full_df[\"destination_city\"].str.strip()\n", + ")\n", + "travel_trip_full_df[\"destination_country\"] = (\n", + " travel_trip_full_df[\"destination_country\"].str.strip()\n", + ")\n", + "\n", + "travel_trip_full_df" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "db820e15-7113-434d-83aa-dab843a8a26b", + "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", + "
destinationtrip_iddestination_countrydestination_citystart_dateend_dateduration_daystraveler_nametraveler_agetraveler_gendertraveler_nationalityaccommodation_typeaccommodation_costtransportation_typetransportation_cost
0London, UK1UKLondon5/1/20235/8/20237.0John Smith35.0MaleAmericanHotel1200Flight600
1Phuket, Thailand2ThailandPhuket6/15/20236/20/20235.0Jane Doe28.0FemaleCanadianResort800Flight500
2Bali, Indonesia3IndonesiaBali7/1/20237/8/20237.0David Lee45.0MaleKoreanVilla1000Flight700
3New York, USA4USANew York8/15/20238/29/202314.0Sarah Johnson29.0FemaleBritishHotel2000Flight1000
4Tokyo, Japan5JapanTokyo9/10/20239/17/20237.0Kim Nguyen26.0FemaleVietnameseAirbnb700Train200
................................................
134Rio de Janeiro, Brazil135BrazilRio de Janeiro8/1/20238/10/20239.0Jose Perez37.0MaleBrazilianHostel2500Car2000
135Vancouver, Canada136CanadaVancouver8/15/20238/21/20236.0Emma Wilson29.0FemaleCanadianHotel5000Airplane3000
136Bangkok, Thailand137ThailandBangkok9/1/20239/8/20237.0Ryan Chen34.0MaleChineseHostel2000Train1000
137Barcelona, Spain138SpainBarcelona9/15/20239/22/20237.0Sofia Rodriguez25.0FemaleSpanishAirbnb6000Airplane2500
138Auckland, New Zealand139New ZealandAuckland10/1/202310/8/20237.0William Brown39.0MaleNew ZealanderHotel7000Train2500
\n", + "

139 rows × 15 columns

\n", + "
" + ], + "text/plain": [ + " destination trip_id destination_country destination_city \\\n", + "0 London, UK 1 UK London \n", + "1 Phuket, Thailand 2 Thailand Phuket \n", + "2 Bali, Indonesia 3 Indonesia Bali \n", + "3 New York, USA 4 USA New York \n", + "4 Tokyo, Japan 5 Japan Tokyo \n", + ".. ... ... ... ... \n", + "134 Rio de Janeiro, Brazil 135 Brazil Rio de Janeiro \n", + "135 Vancouver, Canada 136 Canada Vancouver \n", + "136 Bangkok, Thailand 137 Thailand Bangkok \n", + "137 Barcelona, Spain 138 Spain Barcelona \n", + "138 Auckland, New Zealand 139 New Zealand Auckland \n", + "\n", + " start_date end_date duration_days traveler_name traveler_age \\\n", + "0 5/1/2023 5/8/2023 7.0 John Smith 35.0 \n", + "1 6/15/2023 6/20/2023 5.0 Jane Doe 28.0 \n", + "2 7/1/2023 7/8/2023 7.0 David Lee 45.0 \n", + "3 8/15/2023 8/29/2023 14.0 Sarah Johnson 29.0 \n", + "4 9/10/2023 9/17/2023 7.0 Kim Nguyen 26.0 \n", + ".. ... ... ... ... ... \n", + "134 8/1/2023 8/10/2023 9.0 Jose Perez 37.0 \n", + "135 8/15/2023 8/21/2023 6.0 Emma Wilson 29.0 \n", + "136 9/1/2023 9/8/2023 7.0 Ryan Chen 34.0 \n", + "137 9/15/2023 9/22/2023 7.0 Sofia Rodriguez 25.0 \n", + "138 10/1/2023 10/8/2023 7.0 William Brown 39.0 \n", + "\n", + " traveler_gender traveler_nationality accommodation_type \\\n", + "0 Male American Hotel \n", + "1 Female Canadian Resort \n", + "2 Male Korean Villa \n", + "3 Female British Hotel \n", + "4 Female Vietnamese Airbnb \n", + ".. ... ... ... \n", + "134 Male Brazilian Hostel \n", + "135 Female Canadian Hotel \n", + "136 Male Chinese Hostel \n", + "137 Female Spanish Airbnb \n", + "138 Male New Zealander Hotel \n", + "\n", + " accommodation_cost transportation_type transportation_cost \n", + "0 1200 Flight 600 \n", + "1 800 Flight 500 \n", + "2 1000 Flight 700 \n", + "3 2000 Flight 1000 \n", + "4 700 Train 200 \n", + ".. ... ... ... \n", + "134 2500 Car 2000 \n", + "135 5000 Airplane 3000 \n", + "136 2000 Train 1000 \n", + "137 6000 Airplane 2500 \n", + "138 7000 Train 2500 \n", + "\n", + "[139 rows x 15 columns]" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# will however first move the two new columns on the right and next to destination\n", + "cols = list(travel_trip_full_df.columns)\n", + "cols.insert(cols.index(\"destination\") + 1, cols.pop(cols.index(\"destination_city\")))\n", + "travel_trip_full_df = travel_trip_full_df.loc[:, cols]\n", + "\n", + "cols = list(travel_trip_full_df.columns)\n", + "cols.insert(cols.index(\"destination_city\") - 1, cols.pop(cols.index(\"destination_country\")))\n", + "travel_trip_full_df = travel_trip_full_df.loc[:, cols]\n", + "\n", + "cols = list(travel_trip_full_df.columns)\n", + "cols.insert(cols.index(\"destination_country\") - 1, cols.pop(cols.index(\"destination\")))\n", + "travel_trip_full_df = travel_trip_full_df.loc[:, cols]\n", + "\n", + "travel_trip_full_df" + ] + }, + { + "cell_type": "markdown", + "id": "f4179c0e-4771-4e20-9be3-183e3386071c", + "metadata": {}, + "source": [ + "### Searching for NaN values" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "6653399a-1ec9-4f8c-b39f-0bd093f2a72a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "destination 2\n", + "trip_id 0\n", + "destination_country 68\n", + "destination_city 2\n", + "start_date 2\n", + "end_date 2\n", + "duration_days 2\n", + "traveler_name 2\n", + "traveler_age 2\n", + "traveler_gender 2\n", + "traveler_nationality 2\n", + "accommodation_type 2\n", + "accommodation_cost 2\n", + "transportation_type 3\n", + "transportation_cost 3\n", + "dtype: int64" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_full_df.isnull().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "40a6909d-672b-4f4d-bea8-52bef702f595", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['London, UK', 'Phuket, Thailand', 'Bali, Indonesia',\n", + " 'New York, USA', 'Tokyo, Japan', 'Paris, France',\n", + " 'Sydney, Australia', 'Rio de Janeiro, Brazil',\n", + " 'Amsterdam, Netherlands', 'Dubai, United Arab Emirates',\n", + " 'Cancun, Mexico', 'Barcelona, Spain', 'Honolulu, Hawaii',\n", + " 'Berlin, Germany', 'Marrakech, Morocco', 'Edinburgh, Scotland',\n", + " 'Paris', 'Bali', 'London', 'Tokyo', 'New York', 'Sydney', 'Rome',\n", + " 'Bangkok', 'Hawaii', 'Barcelona', 'Japan', 'Thailand', 'France',\n", + " 'Australia', 'Brazil', 'Greece', 'Egypt', 'Mexico', 'Italy',\n", + " 'Spain', 'Canada', 'New York City, USA', 'Bangkok, Thailand',\n", + " 'Vancouver, Canada', 'Sydney, AUS', 'Seoul, South Korea',\n", + " 'Los Angeles, USA', 'Rome, Italy', 'Cape Town', nan,\n", + " 'Cape Town, SA', 'Sydney, Aus', 'Bangkok, Thai', 'Phuket, Thai',\n", + " 'Dubai', 'Seoul', 'Rio de Janeiro', 'Amsterdam', 'Phuket',\n", + " 'Santorini', 'Phnom Penh', 'Athens, Greece',\n", + " 'Cape Town, South Africa', 'Auckland, New Zealand'], dtype=object)" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# checking the destinatio column to see what destination_city has so many NaN values. \n", + "# It shows that for many rows we only have information about the city. \n", + "# That's no problem, we can easily extrapolate the country frrom it.\n", + "travel_trip_full_df.destination.unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "73b2ed10-040e-4391-bef6-b20b06011d7f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2\n" + ] + } + ], + "source": [ + "# we can immediately identify that most columns have 2 NaN values. Will do a test to check whether those values are in the same rows\n", + "\n", + "assumption_columns = [\n", + " \"destination\",\n", + " \"destination_city\",\n", + " \"start_date\",\n", + " \"end_date\",\n", + " \"duration_days\",\n", + " \"traveler_name\",\n", + " \"traveler_age\",\n", + " \"traveler_gender\",\n", + " \"traveler_nationality\",\n", + " \"accommodation_type\",\n", + " \"accommodation_cost\"\n", + "]\n", + "\n", + "all_null_test = travel_trip_full_df[assumption_columns].isna().all(axis=1)\n", + "all_null_count = all_null_test.sum()\n", + "print(all_null_count)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "8d070289-cdfe-40a5-9a71-bc5297aad981", + "metadata": {}, + "outputs": [], + "source": [ + "# our assumption is true, those two rows are fully empty and we can drop them\n", + "travel_trip_full_df = travel_trip_full_df.dropna(thresh=2)" + ] + }, + { + "cell_type": "markdown", + "id": "68754ac4-78c3-45c8-88b7-df363141a9e5", + "metadata": {}, + "source": [ + "### Checking for duplicates" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "a897c610-eafd-4189-812a-5f03ed34c5e3", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "np.int64(0)" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_full_df.duplicated().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "7c821eec-659f-4324-8905-ea250cb8f601", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "np.int64(28)" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_full_df.traveler_name.duplicated().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "f42acbdc-91c1-474f-908f-c8e1b288393f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['John Smith', 'Jane Doe', 'David Lee', 'Sarah Johnson',\n", + " 'Kim Nguyen', 'Michael Brown', 'Emily Davis', 'Lucas Santos',\n", + " 'Laura Janssen', 'Mohammed Ali', 'Ana Hernandez', 'Carlos Garcia',\n", + " 'Lily Wong', 'Hans Mueller', 'Fatima Khouri', 'James MacKenzie',\n", + " 'Michael Chang', 'Olivia Rodriguez', 'Kenji Nakamura', 'Emily Lee',\n", + " 'James Wilson', 'Sofia Russo', 'Raj Patel', 'Lily Nguyen',\n", + " 'David Kim', 'Maria Garcia', 'Alice Smith', 'Bob Johnson',\n", + " 'Charlie Lee', 'Emma Davis', 'Olivia Martin', 'Harry Wilson',\n", + " 'Sophia Lee', 'James Brown', 'Mia Johnson', 'William Davis',\n", + " 'Amelia Brown', 'Adam Lee', 'Sarah Wong', 'Maria Silva',\n", + " 'Peter Brown', 'Emma Garcia', 'Michael Davis', 'Nina Patel',\n", + " 'Kevin Kim', 'Laura van den Berg', 'Jennifer Nguyen', 'Rachel Lee',\n", + " 'Jessica Wong', 'Felipe Almeida', 'Nisa Patel', 'Ben Smith',\n", + " 'Laura Gomez', 'Park Min Woo', 'Michael Chen', 'Sofia Rossi',\n", + " 'Rachel Sanders', 'Emily Watson', 'Ana Rodriguez', 'Tom Wilson',\n", + " 'Olivia Green', 'James Chen', 'Lila Patel', 'Marco Rossi',\n", + " 'Sarah Brown', 'Sarah Lee', 'Alex Kim', 'Maria Hernandez',\n", + " 'Mark Johnson', 'Amanda Chen', 'Nana Kwon', 'Tom Hanks',\n", + " 'Emma Watson', 'James Kim', 'Fatima Ahmed', 'Liam Nguyen',\n", + " 'Giulia Rossi', 'Putra Wijaya', 'Kim Min-ji', 'Emily Johnson',\n", + " 'Michael Wong', 'Jessica Chen', 'Ken Tanaka', 'Rodrigo Oliveira',\n", + " 'Olivia Kim', 'Robert Mueller', 'Lisa Chen', 'Emily Wong',\n", + " 'Mark Tan', 'Emma Lee', 'George Chen', 'Sophia Kim', 'Alex Ng',\n", + " 'Cindy Chen', 'Emily Kim', 'Frank Li', 'Gina Lee', 'Henry Kim',\n", + " 'Isabella Chen', 'Jack Smith', 'Katie Johnson', 'John Doe',\n", + " 'Jane Smith', 'Michael Johnson', 'Jose Perez', 'Emma Wilson',\n", + " 'Ryan Chen', 'Sofia Rodriguez', 'William Brown'], dtype=object)" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_full_df.traveler_name.unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "7b984db1-013f-42a0-b2d3-f0416eee17db", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['john smith', 'jane doe', 'david lee', 'sarah johnson',\n", + " 'kim nguyen', 'michael brown', 'emily davis', 'lucas santos',\n", + " 'laura janssen', 'mohammed ali', 'ana hernandez', 'carlos garcia',\n", + " 'lily wong', 'hans mueller', 'fatima khouri', 'james mackenzie',\n", + " 'michael chang', 'olivia rodriguez', 'kenji nakamura', 'emily lee',\n", + " 'james wilson', 'sofia russo', 'raj patel', 'lily nguyen',\n", + " 'david kim', 'maria garcia', 'alice smith', 'bob johnson',\n", + " 'charlie lee', 'emma davis', 'olivia martin', 'harry wilson',\n", + " 'sophia lee', 'james brown', 'mia johnson', 'william davis',\n", + " 'amelia brown', 'adam lee', 'sarah wong', 'maria silva',\n", + " 'peter brown', 'emma garcia', 'michael davis', 'nina patel',\n", + " 'kevin kim', 'laura van den berg', 'jennifer nguyen', 'rachel lee',\n", + " 'jessica wong', 'felipe almeida', 'nisa patel', 'ben smith',\n", + " 'laura gomez', 'park min woo', 'michael chen', 'sofia rossi',\n", + " 'rachel sanders', 'emily watson', 'ana rodriguez', 'tom wilson',\n", + " 'olivia green', 'james chen', 'lila patel', 'marco rossi',\n", + " 'sarah brown', 'sarah lee', 'alex kim', 'maria hernandez',\n", + " 'mark johnson', 'amanda chen', 'nana kwon', 'tom hanks',\n", + " 'emma watson', 'james kim', 'fatima ahmed', 'liam nguyen',\n", + " 'giulia rossi', 'putra wijaya', 'kim min ji', 'emily johnson',\n", + " 'michael wong', 'jessica chen', 'ken tanaka', 'rodrigo oliveira',\n", + " 'olivia kim', 'robert mueller', 'lisa chen', 'emily wong',\n", + " 'mark tan', 'emma lee', 'george chen', 'sophia kim', 'alex ng',\n", + " 'cindy chen', 'emily kim', 'frank li', 'gina lee', 'henry kim',\n", + " 'isabella chen', 'jack smith', 'katie johnson', 'john doe',\n", + " 'jane smith', 'michael johnson', 'jose perez', 'emma wilson',\n", + " 'ryan chen', 'sofia rodriguez', 'william brown'], dtype=object)" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# I will make sure that the column traveler_name is lowercased and stripped from double spaces or dashes, just in case this might hide more duplicates\n", + "# ideally, when you created travel_trip_christos_df, you already did:\n", + "# travel_trip_christos_df = original_df[...].copy()\n", + "\n", + "travel_trip_full_df.loc[:, \"traveler_name\"] = (\n", + " travel_trip_full_df[\"traveler_name\"]\n", + " .str.strip() # trims whitespace at both ends\n", + " .str.replace(\"-\", \" \", regex=False) # replace hyphen with space\n", + " .str.lower()\n", + ")\n", + "travel_trip_full_df.traveler_name.unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "faefb471-4314-4019-a36a-1c0ae5e12e7c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "np.int64(28)" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_full_df.traveler_name.duplicated().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "0a4df7e5-ef55-4140-86ad-b1e83f4fc0c6", + "metadata": {}, + "outputs": [], + "source": [ + "# we can see that there are no exact full string duplicates of the column traveler_name. \n", + "# The number 28 above probalby comes from partial dupication, like only first name or only last name" + ] + }, + { + "cell_type": "markdown", + "id": "3bea2d28-f076-4627-a75e-96263dfb0e66", + "metadata": {}, + "source": [ + "### More NaN values" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "22588870-2949-4e9d-96a9-27a4cc900653", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "destination 0\n", + "trip_id 0\n", + "destination_country 66\n", + "destination_city 0\n", + "start_date 0\n", + "end_date 0\n", + "duration_days 0\n", + "traveler_name 0\n", + "traveler_age 0\n", + "traveler_gender 0\n", + "traveler_nationality 0\n", + "accommodation_type 0\n", + "accommodation_cost 0\n", + "transportation_type 1\n", + "transportation_cost 1\n", + "dtype: int64" + ] + }, + "execution_count": 15, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_full_df.isnull().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "bc76fde3-b159-4020-b8db-a90445d30f42", + "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", + "
destinationtrip_iddestination_countrydestination_citystart_dateend_dateduration_daystraveler_nametraveler_agetraveler_gendertraveler_nationalityaccommodation_typeaccommodation_costtransportation_typetransportation_cost
82Rome, Italy83ItalyRome4/15/20254/22/20257.0james kim41.0MaleAmericanHotel100NaNNaN
\n", + "
" + ], + "text/plain": [ + " destination trip_id destination_country destination_city start_date \\\n", + "82 Rome, Italy 83 Italy Rome 4/15/2025 \n", + "\n", + " end_date duration_days traveler_name traveler_age traveler_gender \\\n", + "82 4/22/2025 7.0 james kim 41.0 Male \n", + "\n", + " traveler_nationality accommodation_type accommodation_cost \\\n", + "82 American Hotel 100 \n", + "\n", + " transportation_type transportation_cost \n", + "82 NaN NaN " + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# let's find out the NaN values in \n", + "mask = travel_trip_full_df[\"transportation_type\"].isna() & \\\n", + " travel_trip_full_df[\"transportation_cost\"].isna()\n", + "\n", + "travel_trip_full_df[mask]" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "592eb5ac-8ca5-424f-8769-2eea320016d3", + "metadata": {}, + "outputs": [], + "source": [ + "# for transportation type and transportation_cost NaN values, we will group by destination_city and calculate the count of transportation_type and mean transportation_cost, and filter for Rome.\n", + "\n", + "# we will need to cast the data type of the column transportation_cost to float, before we can proceed with grouping.\n", + "\n", + "# for this to happen we will need to clean the column transportation_cost" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "522b02a3-4f4a-44f4-879e-1bd3c6c2ec6d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "destination object\n", + "trip_id int64\n", + "destination_country object\n", + "destination_city object\n", + "start_date object\n", + "end_date object\n", + "duration_days float64\n", + "traveler_name object\n", + "traveler_age float64\n", + "traveler_gender object\n", + "traveler_nationality object\n", + "accommodation_type object\n", + "accommodation_cost object\n", + "transportation_type object\n", + "transportation_cost object\n", + "dtype: object" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_full_df.dtypes" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "bbfc9401-9153-403b-8f0f-77b3058e7a6c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['600', '500', '700', '1000', '200', '800', '1200', '100', '400',\n", + " '150', '$400 ', '$700 ', '$150 ', '$800 ', '$100 ', '$600 ',\n", + " '$80 ', '$500 ', '$300 ', '$50 ', '$120 ', '$75 ', '900', '50',\n", + " '$200 ', '$250 ', '$20 ', '300', '800 USD', '200 USD', '500 USD',\n", + " '700 USD', '300 USD', '600 USD', '400 USD', '1000 USD', nan,\n", + " '100 USD', '350 USD', '150 USD', '$1,200 ', '$900 ', '$1,500 ',\n", + " '$1,000 ', '250', '2500', '1500', '2000', '3000'], dtype=object)" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_full_df.transportation_cost.unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "ffdead4b-a8cf-4bfe-a108-a488628630d6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([600.0, 500.0, 700.0, 1000.0, 200.0, 800.0, 1200.0, 100.0, 400.0,\n", + " 150.0, 80.0, 300.0, 50.0, 120.0, 75.0, 900.0, 250.0, 20.0, nan,\n", + " 350.0, 1500.0, 2500.0, 2000.0, 3000.0], dtype=object)" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# we will need to remove anything but the numbers\n", + "travel_trip_full_df.loc[:, \"transportation_cost\"] = (\n", + " travel_trip_full_df[\"transportation_cost\"]\n", + " .astype(str) # in case there are numbers/NaN in there\n", + " .str.strip()\n", + " .str.strip(\"$\")\n", + " .str.replace(\",\", \"\", regex=False)\n", + " .str.replace(\" USD\", \"\", regex=False)\n", + " .str.strip()\n", + ")\n", + "\n", + "travel_trip_full_df.loc[:, \"transportation_cost\"] = pd.to_numeric(\n", + " travel_trip_full_df[\"transportation_cost\"],\n", + " errors=\"coerce\"\n", + ")\n", + "\n", + "travel_trip_full_df.transportation_cost.unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "9c22669e-2e77-4ffa-915d-78790f7ddbe3", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "destination object\n", + "trip_id int64\n", + "destination_country object\n", + "destination_city object\n", + "start_date object\n", + "end_date object\n", + "duration_days float64\n", + "traveler_name object\n", + "traveler_age float64\n", + "traveler_gender object\n", + "traveler_nationality object\n", + "accommodation_type object\n", + "accommodation_cost object\n", + "transportation_type object\n", + "transportation_cost object\n", + "dtype: object" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# now we cast, in order to be able to group later\n", + "\n", + "travel_trip_full_df.loc[:, \"transportation_cost\"] = (\n", + " travel_trip_full_df[\"transportation_cost\"].astype(\"float64\")\n", + ")\n", + "\n", + "travel_trip_full_df.dtypes" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "57a6080b-7d3c-42cd-9088-622054931a31", + "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", + "
transportation_type_counttransportation_cost_mean
destination_citytransportation_type
RomePlane2625.0
Train6405.0
\n", + "
" + ], + "text/plain": [ + " transportation_type_count \\\n", + "destination_city transportation_type \n", + "Rome Plane 2 \n", + " Train 6 \n", + "\n", + " transportation_cost_mean \n", + "destination_city transportation_type \n", + "Rome Plane 625.0 \n", + " Train 405.0 " + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# for transportation type and transportation_cost NaN values, we will group by destination_city and calculate the count of transportation_type and mean transportation_cost, and filter for Rome.\n", + "\n", + "grouped_df = (travel_trip_full_df.groupby([\"destination_city\", \"transportation_type\"]).agg(transportation_type_count = (\"transportation_type\", \"count\"), transportation_cost_mean = (\"transportation_cost\", \"mean\")))\n", + "filtered_grouped_df = grouped_df.loc[[\"Rome\"]]\n", + "filtered_grouped_df" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "8d80602c-b519-4c42-b88e-42baf5603a0e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "np.int64(0)" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# therefore, we will fill the empty values transportation_type with \"Train\", and transportation_cost with \"405.0\"\n", + "travel_trip_full_df.loc[:, \"transportation_type\"] = (\n", + " travel_trip_full_df[\"transportation_type\"].fillna(\"Train\")\n", + ")\n", + "\n", + "travel_trip_full_df.transportation_type.isnull().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "e14c95b1-fcbf-4de4-9525-6a4a9c6701d1", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/13/s00136yd6q5bvv6x74_x_m204g4004/T/ipykernel_39449/1427628029.py:3: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`\n", + " travel_trip_full_df[\"transportation_cost\"].fillna(405.0)\n" + ] + }, + { + "data": { + "text/plain": [ + "np.int64(0)" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# now let's replace the NaN, with the mean value.\n", + "travel_trip_full_df.loc[:, \"transportation_cost\"] = (\n", + " travel_trip_full_df[\"transportation_cost\"].fillna(405.0)\n", + ")\n", + "\n", + "travel_trip_full_df.transportation_cost.isnull().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "54d5abe2-8cea-48f7-baa1-f497b8768ec5", + "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", + "
destinationtrip_iddestination_countrydestination_citystart_dateend_dateduration_daystraveler_nametraveler_agetraveler_gendertraveler_nationalityaccommodation_typeaccommodation_costtransportation_typetransportation_cost
0London, UK1UKLondon5/1/20235/8/20237.0john smith35.0MaleAmericanHotel1200Flight600.0
1Phuket, Thailand2ThailandPhuket6/15/20236/20/20235.0jane doe28.0FemaleCanadianResort800Flight500.0
2Bali, Indonesia3IndonesiaBali7/1/20237/8/20237.0david lee45.0MaleKoreanVilla1000Flight700.0
3New York, USA4USANew York8/15/20238/29/202314.0sarah johnson29.0FemaleBritishHotel2000Flight1000.0
4Tokyo, Japan5JapanTokyo9/10/20239/17/20237.0kim nguyen26.0FemaleVietnameseAirbnb700Train200.0
................................................
134Rio de Janeiro, Brazil135BrazilRio de Janeiro8/1/20238/10/20239.0jose perez37.0MaleBrazilianHostel2500Car2000.0
135Vancouver, Canada136CanadaVancouver8/15/20238/21/20236.0emma wilson29.0FemaleCanadianHotel5000Airplane3000.0
136Bangkok, Thailand137ThailandBangkok9/1/20239/8/20237.0ryan chen34.0MaleChineseHostel2000Train1000.0
137Barcelona, Spain138SpainBarcelona9/15/20239/22/20237.0sofia rodriguez25.0FemaleSpanishAirbnb6000Airplane2500.0
138Auckland, New Zealand139New ZealandAuckland10/1/202310/8/20237.0william brown39.0MaleNew ZealanderHotel7000Train2500.0
\n", + "

137 rows × 15 columns

\n", + "
" + ], + "text/plain": [ + " destination trip_id destination_country destination_city \\\n", + "0 London, UK 1 UK London \n", + "1 Phuket, Thailand 2 Thailand Phuket \n", + "2 Bali, Indonesia 3 Indonesia Bali \n", + "3 New York, USA 4 USA New York \n", + "4 Tokyo, Japan 5 Japan Tokyo \n", + ".. ... ... ... ... \n", + "134 Rio de Janeiro, Brazil 135 Brazil Rio de Janeiro \n", + "135 Vancouver, Canada 136 Canada Vancouver \n", + "136 Bangkok, Thailand 137 Thailand Bangkok \n", + "137 Barcelona, Spain 138 Spain Barcelona \n", + "138 Auckland, New Zealand 139 New Zealand Auckland \n", + "\n", + " start_date end_date duration_days traveler_name traveler_age \\\n", + "0 5/1/2023 5/8/2023 7.0 john smith 35.0 \n", + "1 6/15/2023 6/20/2023 5.0 jane doe 28.0 \n", + "2 7/1/2023 7/8/2023 7.0 david lee 45.0 \n", + "3 8/15/2023 8/29/2023 14.0 sarah johnson 29.0 \n", + "4 9/10/2023 9/17/2023 7.0 kim nguyen 26.0 \n", + ".. ... ... ... ... ... \n", + "134 8/1/2023 8/10/2023 9.0 jose perez 37.0 \n", + "135 8/15/2023 8/21/2023 6.0 emma wilson 29.0 \n", + "136 9/1/2023 9/8/2023 7.0 ryan chen 34.0 \n", + "137 9/15/2023 9/22/2023 7.0 sofia rodriguez 25.0 \n", + "138 10/1/2023 10/8/2023 7.0 william brown 39.0 \n", + "\n", + " traveler_gender traveler_nationality accommodation_type \\\n", + "0 Male American Hotel \n", + "1 Female Canadian Resort \n", + "2 Male Korean Villa \n", + "3 Female British Hotel \n", + "4 Female Vietnamese Airbnb \n", + ".. ... ... ... \n", + "134 Male Brazilian Hostel \n", + "135 Female Canadian Hotel \n", + "136 Male Chinese Hostel \n", + "137 Female Spanish Airbnb \n", + "138 Male New Zealander Hotel \n", + "\n", + " accommodation_cost transportation_type transportation_cost \n", + "0 1200 Flight 600.0 \n", + "1 800 Flight 500.0 \n", + "2 1000 Flight 700.0 \n", + "3 2000 Flight 1000.0 \n", + "4 700 Train 200.0 \n", + ".. ... ... ... \n", + "134 2500 Car 2000.0 \n", + "135 5000 Airplane 3000.0 \n", + "136 2000 Train 1000.0 \n", + "137 6000 Airplane 2500.0 \n", + "138 7000 Train 2500.0 \n", + "\n", + "[137 rows x 15 columns]" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_full_df" + ] + }, + { + "cell_type": "markdown", + "id": "57314993-3c5a-4f8e-8732-f8e58e416a42", + "metadata": {}, + "source": [ + "### Checking if we need to cluster vlues together" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "3033d934-5386-4cdd-a826-34faf4a80c42", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['Flight', 'Train', 'Plane', 'Bus', 'Car rental', 'Subway', 'Car',\n", + " 'Ferry', 'Airplane'], dtype=object)" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# let's quickly check the transportation_types\n", + "\n", + "travel_trip_full_df.transportation_type.unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "73ac01c2-5e07-4f23-8dcc-cd3ef04cdc1f", + "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", + "
transportation_type_counttransportation_cost_mean
transportation_type
Subway120.0
Train38346.184211
\n", + "
" + ], + "text/plain": [ + " transportation_type_count transportation_cost_mean\n", + "transportation_type \n", + "Subway 1 20.0\n", + "Train 38 346.184211" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# do we need to also change \"Subway\" to train? Maybe, who travels to a city using a subway, subways are intra city transportation modes.\n", + "subway_df = travel_trip_full_df.groupby(\"transportation_type\").agg(transportation_type_count = (\"transportation_type\", \"count\"), transportation_cost_mean = (\"transportation_cost\", \"mean\"))\n", + "filtered_subway_df = subway_df.loc[[\"Subway\", \"Train\"]]\n", + "filtered_subway_df" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "582a8278-2dc1-4d57-9975-1da8396275bc", + "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", + "
transportation_type_counttransportation_cost_min
transportation_type
Subway120.0
Train3880.0
\n", + "
" + ], + "text/plain": [ + " transportation_type_count transportation_cost_min\n", + "transportation_type \n", + "Subway 1 20.0\n", + "Train 38 80.0" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Subway seems to be an outlier data, but let's check at least if the transportation_cost of the \"Subway\" is at least close to the minimum cost for \"Train\"\n", + "subway_df = travel_trip_full_df.groupby(\"transportation_type\").agg(transportation_type_count = (\"transportation_type\", \"count\"), transportation_cost_min = (\"transportation_cost\", \"min\"))\n", + "filtered_subway_min_df = subway_df.loc[[\"Subway\", \"Train\"]]\n", + "filtered_subway_min_df" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "078eb0ee-4daf-4279-a31a-379e862d108a", + "metadata": {}, + "outputs": [], + "source": [ + "# this is not the case, therefore, we will exclude it from our calculations of \"Train\"" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "91d2f8c0-d3b2-4082-9ab5-9dce3cd41437", + "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", + "
transportation_type_counttransportation_cost_mean
transportation_type
Car rental13296.153846
Car31433.333333
\n", + "
" + ], + "text/plain": [ + " transportation_type_count transportation_cost_mean\n", + "transportation_type \n", + "Car rental 13 296.153846\n", + "Car 3 1433.333333" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# and \"Car\" and \"Car rental\" under \"Car\"?\n", + "car_df = travel_trip_full_df.groupby(\"transportation_type\").agg(transportation_type_count = (\"transportation_type\", \"count\"), transportation_cost_mean = (\"transportation_cost\", \"mean\"))\n", + "filtered_car_df = car_df.loc[[\"Car rental\", \"Car\"]]\n", + "filtered_car_df" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "8ddffc45-7e45-4c73-93c9-c9a5b161f4de", + "metadata": {}, + "outputs": [], + "source": [ + "# no, we see that there is a massive difference in the mean cost between the two categories, suggesting that it is indeed two different transportation modes. \n", + "# Car rental suggests that someone rented a car at the destnation, where car probably indicates that someone did a road trip using a car to destination.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "f88afc99-4462-4759-b430-15dc97b1c569", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['Flight', 'Train', 'Airplane', 'Bus', 'Rental Car', 'Subway',\n", + " 'Private Car', 'Ferry'], dtype=object)" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# ok, we will merge \"Plane\" and \"Airplane\" under \"Airplane\", and \"Car rental\" to \"Rental Car\", and \"Car\" to \"Private Car\"\n", + "travel_trip_full_df.loc[:, \"transportation_type\"] = (\n", + " travel_trip_full_df[\"transportation_type\"]\n", + " .replace({\"Plane\": \"Airplane\"})\n", + ")\n", + "\n", + "travel_trip_full_df.loc[:, \"transportation_type\"] = (\n", + " travel_trip_full_df[\"transportation_type\"]\n", + " .replace({\"Car rental\": \"Rental Car\"})\n", + ")\n", + "\n", + "travel_trip_full_df.loc[:, \"transportation_type\"] = (\n", + " travel_trip_full_df[\"transportation_type\"]\n", + " .replace({\"Car\": \"Private Car\"})\n", + ")\n", + "\n", + "travel_trip_full_df[\"transportation_type\"].unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "3fd9e24c-9b63-47eb-b555-c60e60b5a55f", + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
destinationtrip_iddestination_countrydestination_citystart_dateend_dateduration_daystraveler_nametraveler_agetraveler_gendertraveler_nationalityaccommodation_typeaccommodation_costtransportation_typetransportation_cost
123Tokyo, Japan124JapanTokyo10/5/202210/13/20228.0henry kim24.0MaleKoreanHotel1200Airplane700.0
124Sydney, Aus125AusSydney11/11/202211/21/202210.0isabella chen30.0FemaleChineseAirbnb900Airplane1000.0
125Paris, France126FranceParis12/24/20221/1/20238.0jack smith28.0MaleAmericanHostel400Airplane700.0
126Bali, Indonesia127IndonesiaBali2/10/20232/18/20238.0katie johnson33.0FemaleCanadianHotel800Airplane800.0
128Paris, France129FranceParis5/1/20235/7/20236.0john doe35.0MaleAmericanHotel5000Airplane2500.0
129Tokyo, Japan130JapanTokyo5/15/20235/22/20237.0jane smith28.0FemaleBritishAirbnb7000Train1500.0
130Cape Town, South Africa131South AfricaCape Town6/1/20236/10/20239.0michael johnson45.0MaleSouth AfricanHostel3000Private Car2000.0
131Sydney, Australia132AustraliaSydney6/15/20236/21/20236.0sarah lee31.0FemaleAustralianHotel6000Airplane3000.0
132Rome, Italy133ItalyRome7/1/20237/8/20237.0david kim42.0MaleKoreanAirbnb4000Train1500.0
133New York City, USA134USANew York City7/15/20237/22/20237.0emily davis27.0FemaleAmericanHotel8000Airplane2500.0
134Rio de Janeiro, Brazil135BrazilRio de Janeiro8/1/20238/10/20239.0jose perez37.0MaleBrazilianHostel2500Private Car2000.0
135Vancouver, Canada136CanadaVancouver8/15/20238/21/20236.0emma wilson29.0FemaleCanadianHotel5000Airplane3000.0
136Bangkok, Thailand137ThailandBangkok9/1/20239/8/20237.0ryan chen34.0MaleChineseHostel2000Train1000.0
137Barcelona, Spain138SpainBarcelona9/15/20239/22/20237.0sofia rodriguez25.0FemaleSpanishAirbnb6000Airplane2500.0
138Auckland, New Zealand139New ZealandAuckland10/1/202310/8/20237.0william brown39.0MaleNew ZealanderHotel7000Train2500.0
\n", + "
" + ], + "text/plain": [ + " destination trip_id destination_country destination_city \\\n", + "123 Tokyo, Japan 124 Japan Tokyo \n", + "124 Sydney, Aus 125 Aus Sydney \n", + "125 Paris, France 126 France Paris \n", + "126 Bali, Indonesia 127 Indonesia Bali \n", + "128 Paris, France 129 France Paris \n", + "129 Tokyo, Japan 130 Japan Tokyo \n", + "130 Cape Town, South Africa 131 South Africa Cape Town \n", + "131 Sydney, Australia 132 Australia Sydney \n", + "132 Rome, Italy 133 Italy Rome \n", + "133 New York City, USA 134 USA New York City \n", + "134 Rio de Janeiro, Brazil 135 Brazil Rio de Janeiro \n", + "135 Vancouver, Canada 136 Canada Vancouver \n", + "136 Bangkok, Thailand 137 Thailand Bangkok \n", + "137 Barcelona, Spain 138 Spain Barcelona \n", + "138 Auckland, New Zealand 139 New Zealand Auckland \n", + "\n", + " start_date end_date duration_days traveler_name traveler_age \\\n", + "123 10/5/2022 10/13/2022 8.0 henry kim 24.0 \n", + "124 11/11/2022 11/21/2022 10.0 isabella chen 30.0 \n", + "125 12/24/2022 1/1/2023 8.0 jack smith 28.0 \n", + "126 2/10/2023 2/18/2023 8.0 katie johnson 33.0 \n", + "128 5/1/2023 5/7/2023 6.0 john doe 35.0 \n", + "129 5/15/2023 5/22/2023 7.0 jane smith 28.0 \n", + "130 6/1/2023 6/10/2023 9.0 michael johnson 45.0 \n", + "131 6/15/2023 6/21/2023 6.0 sarah lee 31.0 \n", + "132 7/1/2023 7/8/2023 7.0 david kim 42.0 \n", + "133 7/15/2023 7/22/2023 7.0 emily davis 27.0 \n", + "134 8/1/2023 8/10/2023 9.0 jose perez 37.0 \n", + "135 8/15/2023 8/21/2023 6.0 emma wilson 29.0 \n", + "136 9/1/2023 9/8/2023 7.0 ryan chen 34.0 \n", + "137 9/15/2023 9/22/2023 7.0 sofia rodriguez 25.0 \n", + "138 10/1/2023 10/8/2023 7.0 william brown 39.0 \n", + "\n", + " traveler_gender traveler_nationality accommodation_type \\\n", + "123 Male Korean Hotel \n", + "124 Female Chinese Airbnb \n", + "125 Male American Hostel \n", + "126 Female Canadian Hotel \n", + "128 Male American Hotel \n", + "129 Female British Airbnb \n", + "130 Male South African Hostel \n", + "131 Female Australian Hotel \n", + "132 Male Korean Airbnb \n", + "133 Female American Hotel \n", + "134 Male Brazilian Hostel \n", + "135 Female Canadian Hotel \n", + "136 Male Chinese Hostel \n", + "137 Female Spanish Airbnb \n", + "138 Male New Zealander Hotel \n", + "\n", + " accommodation_cost transportation_type transportation_cost \n", + "123 1200 Airplane 700.0 \n", + "124 900 Airplane 1000.0 \n", + "125 400 Airplane 700.0 \n", + "126 800 Airplane 800.0 \n", + "128 5000 Airplane 2500.0 \n", + "129 7000 Train 1500.0 \n", + "130 3000 Private Car 2000.0 \n", + "131 6000 Airplane 3000.0 \n", + "132 4000 Train 1500.0 \n", + "133 8000 Airplane 2500.0 \n", + "134 2500 Private Car 2000.0 \n", + "135 5000 Airplane 3000.0 \n", + "136 2000 Train 1000.0 \n", + "137 6000 Airplane 2500.0 \n", + "138 7000 Train 2500.0 " + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_full_df.tail(15)" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "7cc68b39-819a-4158-a71e-7a52ae25ba86", + "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", + "
destinationtrip_iddestination_countrydestination_citystart_dateend_dateduration_daystraveler_nametraveler_agetraveler_gendertraveler_nationalityaccommodation_typeaccommodation_costtransportation_typetransportation_cost
0London, UK1UKLondon5/1/20235/8/20237.0john smith35.0MaleAmericanHotel1200Flight600.0
1Phuket, Thailand2ThailandPhuket6/15/20236/20/20235.0jane doe28.0FemaleCanadianResort800Flight500.0
2Bali, Indonesia3IndonesiaBali7/1/20237/8/20237.0david lee45.0MaleKoreanVilla1000Flight700.0
3New York, USA4USANew York8/15/20238/29/202314.0sarah johnson29.0FemaleBritishHotel2000Flight1000.0
4Tokyo, Japan5JapanTokyo9/10/20239/17/20237.0kim nguyen26.0FemaleVietnameseAirbnb700Train200.0
................................................
134Rio de Janeiro, Brazil135BrazilRio de Janeiro8/1/20238/10/20239.0jose perez37.0MaleBrazilianHostel2500Private Car2000.0
135Vancouver, Canada136CanadaVancouver8/15/20238/21/20236.0emma wilson29.0FemaleCanadianHotel5000Airplane3000.0
136Bangkok, Thailand137ThailandBangkok9/1/20239/8/20237.0ryan chen34.0MaleChineseHostel2000Train1000.0
137Barcelona, Spain138SpainBarcelona9/15/20239/22/20237.0sofia rodriguez25.0FemaleSpanishAirbnb6000Airplane2500.0
138Auckland, New Zealand139New ZealandAuckland10/1/202310/8/20237.0william brown39.0MaleNew ZealanderHotel7000Train2500.0
\n", + "

137 rows × 15 columns

\n", + "
" + ], + "text/plain": [ + " destination trip_id destination_country destination_city \\\n", + "0 London, UK 1 UK London \n", + "1 Phuket, Thailand 2 Thailand Phuket \n", + "2 Bali, Indonesia 3 Indonesia Bali \n", + "3 New York, USA 4 USA New York \n", + "4 Tokyo, Japan 5 Japan Tokyo \n", + ".. ... ... ... ... \n", + "134 Rio de Janeiro, Brazil 135 Brazil Rio de Janeiro \n", + "135 Vancouver, Canada 136 Canada Vancouver \n", + "136 Bangkok, Thailand 137 Thailand Bangkok \n", + "137 Barcelona, Spain 138 Spain Barcelona \n", + "138 Auckland, New Zealand 139 New Zealand Auckland \n", + "\n", + " start_date end_date duration_days traveler_name traveler_age \\\n", + "0 5/1/2023 5/8/2023 7.0 john smith 35.0 \n", + "1 6/15/2023 6/20/2023 5.0 jane doe 28.0 \n", + "2 7/1/2023 7/8/2023 7.0 david lee 45.0 \n", + "3 8/15/2023 8/29/2023 14.0 sarah johnson 29.0 \n", + "4 9/10/2023 9/17/2023 7.0 kim nguyen 26.0 \n", + ".. ... ... ... ... ... \n", + "134 8/1/2023 8/10/2023 9.0 jose perez 37.0 \n", + "135 8/15/2023 8/21/2023 6.0 emma wilson 29.0 \n", + "136 9/1/2023 9/8/2023 7.0 ryan chen 34.0 \n", + "137 9/15/2023 9/22/2023 7.0 sofia rodriguez 25.0 \n", + "138 10/1/2023 10/8/2023 7.0 william brown 39.0 \n", + "\n", + " traveler_gender traveler_nationality accommodation_type \\\n", + "0 Male American Hotel \n", + "1 Female Canadian Resort \n", + "2 Male Korean Villa \n", + "3 Female British Hotel \n", + "4 Female Vietnamese Airbnb \n", + ".. ... ... ... \n", + "134 Male Brazilian Hostel \n", + "135 Female Canadian Hotel \n", + "136 Male Chinese Hostel \n", + "137 Female Spanish Airbnb \n", + "138 Male New Zealander Hotel \n", + "\n", + " accommodation_cost transportation_type transportation_cost \n", + "0 1200 Flight 600.0 \n", + "1 800 Flight 500.0 \n", + "2 1000 Flight 700.0 \n", + "3 2000 Flight 1000.0 \n", + "4 700 Train 200.0 \n", + ".. ... ... ... \n", + "134 2500 Private Car 2000.0 \n", + "135 5000 Airplane 3000.0 \n", + "136 2000 Train 1000.0 \n", + "137 6000 Airplane 2500.0 \n", + "138 7000 Train 2500.0 \n", + "\n", + "[137 rows x 15 columns]" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_full_2_df = travel_trip_full_df.copy()\n", + "travel_trip_full_2_df" + ] + }, + { + "cell_type": "markdown", + "id": "e64d0c06-9952-45c9-b068-416cb9903e81", + "metadata": {}, + "source": [ + "## Safina code" + ] + }, + { + "cell_type": "markdown", + "id": "37ec4caa-97fb-431b-8752-25933ddad108", + "metadata": {}, + "source": [ + "### Cleaning end dates" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "id": "2a1b4394-8569-4ae3-97ee-9ad35a1b4b9a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "All steps completed successfully with the updated file path.\n", + "DataFrame variable name: travel_trip_full_df\n", + "Data type of 'end_date': object\n", + "\n", + "First 5 rows of the converted 'end_date' column:\n", + " end_date\n", + "0 2023-05-08\n", + "1 2023-06-20\n", + "2 2023-07-08\n", + "3 2023-08-29\n", + "4 2023-09-17\n" + ] + } + ], + "source": [ + "import pandas as pd\n", + "\n", + "travel_trip_full_2_df[\"end_date\"] = pd.to_datetime(\n", + " travel_trip_full_2_df[\"end_date\"],\n", + " errors=\"coerce\"\n", + ")\n", + "travel_trip_full_2_df[\"end_date\"] = travel_trip_full_2_df[\"end_date\"].dt.strftime(\"%Y-%m-%d\")\n", + "\n", + "print(\"All steps completed successfully with the updated file path.\")\n", + "print(f\"DataFrame variable name: travel_trip_full_df\")\n", + "print(f\"Data type of 'end_date': {travel_trip_full_2_df['end_date'].dtype}\")\n", + "print(\"\\nFirst 5 rows of the converted 'end_date' column:\")\n", + "print(travel_trip_full_2_df[[\"end_date\"]].head())\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "id": "9536b058-9e4a-4bf2-be90-5f0e1e6362c4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0 2023-05\n", + "1 2023-06\n", + "2 2023-07\n", + "3 2023-08\n", + "4 2023-09\n", + " ... \n", + "134 2023-08\n", + "135 2023-08\n", + "136 2023-09\n", + "137 2023-09\n", + "138 2023-10\n", + "Name: end_date, Length: 137, dtype: object\n" + ] + } + ], + "source": [ + "# Assuming travel_trip_safina_df is loaded and 'end_date' is currently datetime (or has been converted in the steps above).\n", + "\n", + "# Convert the 'end_date' column to datetime first (if not already done)\n", + "travel_trip_full_2_df['end_date'] = pd.to_datetime(\n", + " travel_trip_full_2_df['end_date'], \n", + " errors='coerce'\n", + ")\n", + "\n", + "# Use .dt.strftime('%Y-%m') to format the date to Year and Month only.\n", + "travel_trip_full_2_df['end_date'] = travel_trip_full_2_df['end_date'].dt.strftime('%Y-%m')\n", + "\n", + "# Optional: Display the new data type and values\n", + "print(travel_trip_full_2_df['end_date'])" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "id": "366bc3e2-1ebd-46ea-aad6-3fd61099a833", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Data loading and feature engineering complete.\n", + "\n", + "First 5 rows of all date columns:\n", + " start_date start_year start_month end_date end_year end_month\n", + "0 2023-05-01 2023 5 2023-05-01 2023 5\n", + "1 2023-06-15 2023 6 2023-06-01 2023 6\n", + "2 2023-07-01 2023 7 2023-07-01 2023 7\n", + "3 2023-08-15 2023 8 2023-08-01 2023 8\n", + "4 2023-09-10 2023 9 2023-09-01 2023 9\n" + ] + } + ], + "source": [ + "import pandas as pd \n", + "\n", + "# 4. CLEAN AND EXTRACT DATE COMPONENTS\n", + "\n", + "# --- Process 'end_date' column ---\n", + "# Convert to a clean datetime object\n", + "travel_trip_full_2_df['end_date'] = pd.to_datetime(\n", + " travel_trip_full_2_df['end_date'], \n", + " errors='coerce'\n", + ")\n", + "\n", + "# Create the 'end_year' and 'end_month' integer columns\n", + "travel_trip_full_2_df['end_year'] = travel_trip_full_2_df['end_date'].dt.year.astype('Int64')\n", + "travel_trip_full_2_df['end_month'] = travel_trip_full_2_df['end_date'].dt.month.astype('Int64')\n", + "\n", + "\n", + "# --- Process 'start_date' column ---\n", + "# Convert to a clean datetime object\n", + "travel_trip_full_2_df['start_date'] = pd.to_datetime(\n", + " travel_trip_full_2_df['start_date'], \n", + " errors='coerce'\n", + ")\n", + "\n", + "# Create the 'start_year' and 'start_month' integer columns\n", + "travel_trip_full_2_df['start_year'] = travel_trip_full_2_df['start_date'].dt.year.astype('Int64')\n", + "travel_trip_full_2_df['start_month'] = travel_trip_full_2_df['start_date'].dt.month.astype('Int64')\n", + "\n", + "\n", + "# 5. DISPLAY VERIFICATION (Optional)\n", + "print(\"Data loading and feature engineering complete.\")\n", + "print(\"\\nFirst 5 rows of all date columns:\")\n", + "print(travel_trip_full_2_df[['start_date', 'start_year', 'start_month', \n", + " 'end_date', 'end_year', 'end_month']].head())" + ] + }, + { + "cell_type": "code", + "execution_count": 54, + "id": "6f832cc1-4ff3-473b-b754-64872d2c261e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " start_month start_month_name end_month end_month_name\n", + "0 5 May 5 May\n", + "1 6 June 6 June\n", + "2 7 July 7 July\n", + "3 8 August 8 August\n", + "4 9 September 9 September\n" + ] + } + ], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "# 1. Define the month mapping dictionary\n", + "month_map = {\n", + " 1: 'January', 2: 'February', 3: 'March', 4: 'April', \n", + " 5: 'May', 6: 'June', 7: 'July', 8: 'August', \n", + " 9: 'September', 10: 'October', 11: 'November', 12: 'December'\n", + "}\n", + "\n", + "# 2. Create 'start_month_name' by mapping the integer month to its name\n", + "travel_trip_full_2_df['start_month_name'] = travel_trip_full_2_df['start_month'].map(month_map)\n", + "\n", + "# 3. Create 'end_month_name' by mapping the integer month to its name\n", + "travel_trip_full_2_df['end_month_name'] = travel_trip_full_2_df['end_month'].map(month_map)\n", + "\n", + "# Optional: Display the first few rows for verification\n", + "print(travel_trip_full_2_df[['start_month', 'start_month_name', 'end_month', 'end_month_name']].head())" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "id": "910ebca3-9ace-404c-9682-7c683bb790f7", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " start_year start_month_name end_year end_month_name\n", + "0 2023 May 2023 May\n", + "1 2023 June 2023 June\n", + "2 2023 July 2023 July\n", + "3 2023 August 2023 August\n", + "4 2023 September 2023 September\n" + ] + } + ], + "source": [ + "print(travel_trip_full_2_df[['start_year', 'start_month_name', 'end_year', 'end_month_name']].head())" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "id": "de7b48de-ec77-43b6-9c0f-b5c33dafd29b", + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
destinationtrip_iddestination_countrydestination_citystart_dateend_dateduration_daystraveler_nametraveler_agetraveler_gender...accommodation_typeaccommodation_costtransportation_typetransportation_costend_yearend_monthstart_yearstart_monthstart_month_nameend_month_name
0London, UK1UKLondon2023-05-012023-05-017.0john smith35.0Male...Hotel1200Flight600.02023520235MayMay
1Phuket, Thailand2ThailandPhuket2023-06-152023-06-015.0jane doe28.0Female...Resort800Flight500.02023620236JuneJune
2Bali, Indonesia3IndonesiaBali2023-07-012023-07-017.0david lee45.0Male...Villa1000Flight700.02023720237JulyJuly
3New York, USA4USANew York2023-08-152023-08-0114.0sarah johnson29.0Female...Hotel2000Flight1000.02023820238AugustAugust
4Tokyo, Japan5JapanTokyo2023-09-102023-09-017.0kim nguyen26.0Female...Airbnb700Train200.02023920239SeptemberSeptember
..................................................................
134Rio de Janeiro, Brazil135BrazilRio de Janeiro2023-08-012023-08-019.0jose perez37.0Male...Hostel2500Private Car2000.02023820238AugustAugust
135Vancouver, Canada136CanadaVancouver2023-08-152023-08-016.0emma wilson29.0Female...Hotel5000Airplane3000.02023820238AugustAugust
136Bangkok, Thailand137ThailandBangkok2023-09-012023-09-017.0ryan chen34.0Male...Hostel2000Train1000.02023920239SeptemberSeptember
137Barcelona, Spain138SpainBarcelona2023-09-152023-09-017.0sofia rodriguez25.0Female...Airbnb6000Airplane2500.02023920239SeptemberSeptember
138Auckland, New Zealand139New ZealandAuckland2023-10-012023-10-017.0william brown39.0Male...Hotel7000Train2500.0202310202310OctoberOctober
\n", + "

137 rows × 21 columns

\n", + "
" + ], + "text/plain": [ + " destination trip_id destination_country destination_city \\\n", + "0 London, UK 1 UK London \n", + "1 Phuket, Thailand 2 Thailand Phuket \n", + "2 Bali, Indonesia 3 Indonesia Bali \n", + "3 New York, USA 4 USA New York \n", + "4 Tokyo, Japan 5 Japan Tokyo \n", + ".. ... ... ... ... \n", + "134 Rio de Janeiro, Brazil 135 Brazil Rio de Janeiro \n", + "135 Vancouver, Canada 136 Canada Vancouver \n", + "136 Bangkok, Thailand 137 Thailand Bangkok \n", + "137 Barcelona, Spain 138 Spain Barcelona \n", + "138 Auckland, New Zealand 139 New Zealand Auckland \n", + "\n", + " start_date end_date duration_days traveler_name traveler_age \\\n", + "0 2023-05-01 2023-05-01 7.0 john smith 35.0 \n", + "1 2023-06-15 2023-06-01 5.0 jane doe 28.0 \n", + "2 2023-07-01 2023-07-01 7.0 david lee 45.0 \n", + "3 2023-08-15 2023-08-01 14.0 sarah johnson 29.0 \n", + "4 2023-09-10 2023-09-01 7.0 kim nguyen 26.0 \n", + ".. ... ... ... ... ... \n", + "134 2023-08-01 2023-08-01 9.0 jose perez 37.0 \n", + "135 2023-08-15 2023-08-01 6.0 emma wilson 29.0 \n", + "136 2023-09-01 2023-09-01 7.0 ryan chen 34.0 \n", + "137 2023-09-15 2023-09-01 7.0 sofia rodriguez 25.0 \n", + "138 2023-10-01 2023-10-01 7.0 william brown 39.0 \n", + "\n", + " traveler_gender ... accommodation_type accommodation_cost \\\n", + "0 Male ... Hotel 1200 \n", + "1 Female ... Resort 800 \n", + "2 Male ... Villa 1000 \n", + "3 Female ... Hotel 2000 \n", + "4 Female ... Airbnb 700 \n", + ".. ... ... ... ... \n", + "134 Male ... Hostel 2500 \n", + "135 Female ... Hotel 5000 \n", + "136 Male ... Hostel 2000 \n", + "137 Female ... Airbnb 6000 \n", + "138 Male ... Hotel 7000 \n", + "\n", + " transportation_type transportation_cost end_year end_month start_year \\\n", + "0 Flight 600.0 2023 5 2023 \n", + "1 Flight 500.0 2023 6 2023 \n", + "2 Flight 700.0 2023 7 2023 \n", + "3 Flight 1000.0 2023 8 2023 \n", + "4 Train 200.0 2023 9 2023 \n", + ".. ... ... ... ... ... \n", + "134 Private Car 2000.0 2023 8 2023 \n", + "135 Airplane 3000.0 2023 8 2023 \n", + "136 Train 1000.0 2023 9 2023 \n", + "137 Airplane 2500.0 2023 9 2023 \n", + "138 Train 2500.0 2023 10 2023 \n", + "\n", + " start_month start_month_name end_month_name \n", + "0 5 May May \n", + "1 6 June June \n", + "2 7 July July \n", + "3 8 August August \n", + "4 9 September September \n", + ".. ... ... ... \n", + "134 8 August August \n", + "135 8 August August \n", + "136 9 September September \n", + "137 9 September September \n", + "138 10 October October \n", + "\n", + "[137 rows x 21 columns]" + ] + }, + "execution_count": 56, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_full_2_df" + ] + }, + { + "cell_type": "code", + "execution_count": 57, + "id": "13a57d3d-5679-40b5-bcde-1bd284b0e262", + "metadata": {}, + "outputs": [], + "source": [ + "travel_trip_dull_3_df = travel_trip_full_2_df.copy()" + ] + }, + { + "cell_type": "code", + "execution_count": 58, + "id": "983bd27a-3888-4608-96f7-d8061d75e7ae", + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
destinationtrip_iddestination_countrydestination_citystart_dateend_dateduration_daystraveler_nametraveler_agetraveler_gender...accommodation_typeaccommodation_costtransportation_typetransportation_costend_yearend_monthstart_yearstart_monthstart_month_nameend_month_name
0London, UK1UKLondon2023-05-012023-05-017.0john smith35.0Male...Hotel1200Flight600.02023520235MayMay
1Phuket, Thailand2ThailandPhuket2023-06-152023-06-015.0jane doe28.0Female...Resort800Flight500.02023620236JuneJune
2Bali, Indonesia3IndonesiaBali2023-07-012023-07-017.0david lee45.0Male...Villa1000Flight700.02023720237JulyJuly
3New York, USA4USANew York2023-08-152023-08-0114.0sarah johnson29.0Female...Hotel2000Flight1000.02023820238AugustAugust
4Tokyo, Japan5JapanTokyo2023-09-102023-09-017.0kim nguyen26.0Female...Airbnb700Train200.02023920239SeptemberSeptember
..................................................................
134Rio de Janeiro, Brazil135BrazilRio de Janeiro2023-08-012023-08-019.0jose perez37.0Male...Hostel2500Private Car2000.02023820238AugustAugust
135Vancouver, Canada136CanadaVancouver2023-08-152023-08-016.0emma wilson29.0Female...Hotel5000Airplane3000.02023820238AugustAugust
136Bangkok, Thailand137ThailandBangkok2023-09-012023-09-017.0ryan chen34.0Male...Hostel2000Train1000.02023920239SeptemberSeptember
137Barcelona, Spain138SpainBarcelona2023-09-152023-09-017.0sofia rodriguez25.0Female...Airbnb6000Airplane2500.02023920239SeptemberSeptember
138Auckland, New Zealand139New ZealandAuckland2023-10-012023-10-017.0william brown39.0Male...Hotel7000Train2500.0202310202310OctoberOctober
\n", + "

137 rows × 21 columns

\n", + "
" + ], + "text/plain": [ + " destination trip_id destination_country destination_city \\\n", + "0 London, UK 1 UK London \n", + "1 Phuket, Thailand 2 Thailand Phuket \n", + "2 Bali, Indonesia 3 Indonesia Bali \n", + "3 New York, USA 4 USA New York \n", + "4 Tokyo, Japan 5 Japan Tokyo \n", + ".. ... ... ... ... \n", + "134 Rio de Janeiro, Brazil 135 Brazil Rio de Janeiro \n", + "135 Vancouver, Canada 136 Canada Vancouver \n", + "136 Bangkok, Thailand 137 Thailand Bangkok \n", + "137 Barcelona, Spain 138 Spain Barcelona \n", + "138 Auckland, New Zealand 139 New Zealand Auckland \n", + "\n", + " start_date end_date duration_days traveler_name traveler_age \\\n", + "0 2023-05-01 2023-05-01 7.0 john smith 35.0 \n", + "1 2023-06-15 2023-06-01 5.0 jane doe 28.0 \n", + "2 2023-07-01 2023-07-01 7.0 david lee 45.0 \n", + "3 2023-08-15 2023-08-01 14.0 sarah johnson 29.0 \n", + "4 2023-09-10 2023-09-01 7.0 kim nguyen 26.0 \n", + ".. ... ... ... ... ... \n", + "134 2023-08-01 2023-08-01 9.0 jose perez 37.0 \n", + "135 2023-08-15 2023-08-01 6.0 emma wilson 29.0 \n", + "136 2023-09-01 2023-09-01 7.0 ryan chen 34.0 \n", + "137 2023-09-15 2023-09-01 7.0 sofia rodriguez 25.0 \n", + "138 2023-10-01 2023-10-01 7.0 william brown 39.0 \n", + "\n", + " traveler_gender ... accommodation_type accommodation_cost \\\n", + "0 Male ... Hotel 1200 \n", + "1 Female ... Resort 800 \n", + "2 Male ... Villa 1000 \n", + "3 Female ... Hotel 2000 \n", + "4 Female ... Airbnb 700 \n", + ".. ... ... ... ... \n", + "134 Male ... Hostel 2500 \n", + "135 Female ... Hotel 5000 \n", + "136 Male ... Hostel 2000 \n", + "137 Female ... Airbnb 6000 \n", + "138 Male ... Hotel 7000 \n", + "\n", + " transportation_type transportation_cost end_year end_month start_year \\\n", + "0 Flight 600.0 2023 5 2023 \n", + "1 Flight 500.0 2023 6 2023 \n", + "2 Flight 700.0 2023 7 2023 \n", + "3 Flight 1000.0 2023 8 2023 \n", + "4 Train 200.0 2023 9 2023 \n", + ".. ... ... ... ... ... \n", + "134 Private Car 2000.0 2023 8 2023 \n", + "135 Airplane 3000.0 2023 8 2023 \n", + "136 Train 1000.0 2023 9 2023 \n", + "137 Airplane 2500.0 2023 9 2023 \n", + "138 Train 2500.0 2023 10 2023 \n", + "\n", + " start_month start_month_name end_month_name \n", + "0 5 May May \n", + "1 6 June June \n", + "2 7 July July \n", + "3 8 August August \n", + "4 9 September September \n", + ".. ... ... ... \n", + "134 8 August August \n", + "135 8 August August \n", + "136 9 September September \n", + "137 9 September September \n", + "138 10 October October \n", + "\n", + "[137 rows x 21 columns]" + ] + }, + "execution_count": 58, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_dull_3_df" + ] + }, + { + "cell_type": "markdown", + "id": "d269ab47-6761-4245-a4b8-83dc6cb9f8a4", + "metadata": {}, + "source": [ + "## Hoaithuong code" + ] + }, + { + "cell_type": "markdown", + "id": "814e1d2c-8869-43b8-af88-72298ae127bb", + "metadata": {}, + "source": [ + "### Cleaning starting date" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "id": "538c4178-b5a4-4d74-82b0-354ebce597c7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\n", + "['2023-05-01 00:00:00', '2023-06-15 00:00:00', '2023-07-01 00:00:00',\n", + " '2023-08-15 00:00:00', '2023-09-10 00:00:00', '2023-10-05 00:00:00',\n", + " '2023-11-20 00:00:00', '2024-01-05 00:00:00', '2024-02-14 00:00:00',\n", + " '2024-03-10 00:00:00',\n", + " ...\n", + " '2022-08-08 00:00:00', '2022-09-20 00:00:00', '2022-10-05 00:00:00',\n", + " '2022-11-11 00:00:00', '2022-12-24 00:00:00', '2023-02-10 00:00:00',\n", + " '2023-05-15 00:00:00', '2023-06-01 00:00:00', '2023-07-15 00:00:00',\n", + " '2023-10-01 00:00:00']\n", + "Length: 111, dtype: datetime64[ns]" + ] + }, + "execution_count": 59, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_dull_3_df['start_date'].unique()\n", + "#extract the list of unique values" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "id": "628a1d1b-c931-470a-8952-c4e3b69d4f64", + "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", + "
destinationtrip_iddestination_countrydestination_citystart_dateend_dateduration_daystraveler_nametraveler_agetraveler_gender...accommodation_typeaccommodation_costtransportation_typetransportation_costend_yearend_monthstart_yearstart_monthstart_month_nameend_month_name
\n", + "

0 rows × 21 columns

\n", + "
" + ], + "text/plain": [ + "Empty DataFrame\n", + "Columns: [destination, trip_id, destination_country, destination_city, start_date, end_date, duration_days, traveler_name, traveler_age, traveler_gender, traveler_nationality, accommodation_type, accommodation_cost, transportation_type, transportation_cost, end_year, end_month, start_year, start_month, start_month_name, end_month_name]\n", + "Index: []\n", + "\n", + "[0 rows x 21 columns]" + ] + }, + "execution_count": 60, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_dull_3_df[travel_trip_dull_3_df['start_date'].isna()]" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "id": "c9e2afab-2a3a-4fa2-998f-cdf4a69df80c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "np.int64(0)" + ] + }, + "execution_count": 61, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_dull_3_df[\"start_date\"].isna().sum()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "id": "780d1f7f-0667-48c4-90ed-4a7ed1853719", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "111" + ] + }, + "execution_count": 62, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_dull_3_df[\"start_date\"].nunique()" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "id": "7485f668-0bb0-4a8e-92ce-69a5d90f5553", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0 2023-05-01\n", + "1 2023-06-15\n", + "2 2023-07-01\n", + "3 2023-08-15\n", + "4 2023-09-10\n", + " ... \n", + "134 2023-08-01\n", + "135 2023-08-15\n", + "136 2023-09-01\n", + "137 2023-09-15\n", + "138 2023-10-01\n", + "Name: start_date, Length: 137, dtype: datetime64[ns]\n" + ] + } + ], + "source": [ + "travel_trip_dull_3_df['start_date'] = pd.to_datetime(travel_trip_dull_3_df['start_date'], format='%m/%d/%Y')\n", + "print(travel_trip_dull_3_df['start_date'])" + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "id": "807deb28-e6c6-43d7-b186-56149f7de432", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " start_date\n", + "0 2023-05\n", + "1 2023-06\n", + "2 2023-07\n", + "3 2023-08\n", + "4 2023-09\n" + ] + } + ], + "source": [ + "# Convert the 'end_date' column to datetime first (if not already done)\n", + "travel_trip_dull_3_df['start_date'] = pd.to_datetime(\n", + " travel_trip_dull_3_df['start_date'], \n", + " errors='coerce'\n", + ")\n", + "\n", + "# Use .dt.strftime('%Y-%m') to format the date to Year and Month only.\n", + "travel_trip_dull_3_df['start_date'] = travel_trip_dull_3_df['start_date'].dt.strftime('%Y-%m')\n", + "\n", + "# Optional: Display the new data type and values\n", + "print(travel_trip_dull_3_df[['start_date']].head())" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "id": "2e47bcfc-add0-493f-9a65-8bf9d8286e05", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 2023-05-01\n", + "1 2023-06-01\n", + "2 2023-07-01\n", + "3 2023-08-01\n", + "4 2023-09-01\n", + " ... \n", + "134 2023-08-01\n", + "135 2023-08-01\n", + "136 2023-09-01\n", + "137 2023-09-01\n", + "138 2023-10-01\n", + "Name: start_date, Length: 137, dtype: datetime64[ns]" + ] + }, + "execution_count": 65, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_dull_3_df['start_date'] = pd.to_datetime(travel_trip_dull_3_df['start_date'], errors='coerce')\n", + "travel_trip_dull_3_df['start_date']" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "id": "c6b6912b-e1d7-44b8-bfd3-9c1970130824", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 May\n", + "1 June\n", + "2 July\n", + "3 August\n", + "4 September\n", + " ... \n", + "134 August\n", + "135 August\n", + "136 September\n", + "137 September\n", + "138 October\n", + "Name: start_month, Length: 137, dtype: object" + ] + }, + "execution_count": 50, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_dull_3_df['start_month'] = travel_trip_dull_3_df['start_date'].dt.strftime('%B')\n", + "travel_trip_dull_3_df['start_month']" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "id": "2f617b44-ca2d-4777-86c5-914acc4fcf04", + "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", + "
destinationtrip_iddestination_countrydestination_citystart_dateend_dateduration_daystraveler_nametraveler_agetraveler_gender...accommodation_typeaccommodation_costtransportation_typetransportation_costend_yearend_monthstart_yearstart_monthstart_month_nameend_month_name
0London, UK1UKLondon2023-05-012023-05-017.0john smith35.0Male...Hotel1200Flight600.02023520235MayMay
1Phuket, Thailand2ThailandPhuket2023-06-012023-06-015.0jane doe28.0Female...Resort800Flight500.02023620236JuneJune
2Bali, Indonesia3IndonesiaBali2023-07-012023-07-017.0david lee45.0Male...Villa1000Flight700.02023720237JulyJuly
3New York, USA4USANew York2023-08-012023-08-0114.0sarah johnson29.0Female...Hotel2000Flight1000.02023820238AugustAugust
4Tokyo, Japan5JapanTokyo2023-09-012023-09-017.0kim nguyen26.0Female...Airbnb700Train200.02023920239SeptemberSeptember
\n", + "

5 rows × 21 columns

\n", + "
" + ], + "text/plain": [ + " destination trip_id destination_country destination_city start_date \\\n", + "0 London, UK 1 UK London 2023-05-01 \n", + "1 Phuket, Thailand 2 Thailand Phuket 2023-06-01 \n", + "2 Bali, Indonesia 3 Indonesia Bali 2023-07-01 \n", + "3 New York, USA 4 USA New York 2023-08-01 \n", + "4 Tokyo, Japan 5 Japan Tokyo 2023-09-01 \n", + "\n", + " end_date duration_days traveler_name traveler_age traveler_gender ... \\\n", + "0 2023-05-01 7.0 john smith 35.0 Male ... \n", + "1 2023-06-01 5.0 jane doe 28.0 Female ... \n", + "2 2023-07-01 7.0 david lee 45.0 Male ... \n", + "3 2023-08-01 14.0 sarah johnson 29.0 Female ... \n", + "4 2023-09-01 7.0 kim nguyen 26.0 Female ... \n", + "\n", + " accommodation_type accommodation_cost transportation_type \\\n", + "0 Hotel 1200 Flight \n", + "1 Resort 800 Flight \n", + "2 Villa 1000 Flight \n", + "3 Hotel 2000 Flight \n", + "4 Airbnb 700 Train \n", + "\n", + " transportation_cost end_year end_month start_year start_month \\\n", + "0 600.0 2023 5 2023 5 \n", + "1 500.0 2023 6 2023 6 \n", + "2 700.0 2023 7 2023 7 \n", + "3 1000.0 2023 8 2023 8 \n", + "4 200.0 2023 9 2023 9 \n", + "\n", + " start_month_name end_month_name \n", + "0 May May \n", + "1 June June \n", + "2 July July \n", + "3 August August \n", + "4 September September \n", + "\n", + "[5 rows x 21 columns]" + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_dull_3_df[\"start_date\"] = pd.to_datetime(\n", + " travel_trip_dull_3_df[\"start_date\"], errors=\"coerce\"\n", + ")\n", + "\n", + "travel_trip_dull_3_df[\"start_year\"] = (\n", + " travel_trip_dull_3_df[\"start_date\"].dt.year.astype(\"Int64\")\n", + ")\n", + "travel_trip_dull_3_df.head()" + ] + }, + { + "cell_type": "markdown", + "id": "b3767468-98c9-4095-b46c-87215ec65de9", + "metadata": {}, + "source": [ + "### Clean columns: traveler_nationality" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "id": "37f0b6f1-cf41-42de-b213-54ef2386acb8", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 American\n", + "1 Canadian\n", + "2 Korean\n", + "3 British\n", + "4 Vietnamese\n", + " ... \n", + "134 Brazilian\n", + "135 Canadian\n", + "136 Chinese\n", + "137 Spanish\n", + "138 New Zealander\n", + "Name: traveler_nationality, Length: 137, dtype: object" + ] + }, + "execution_count": 67, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_dull_3_df['traveler_nationality'].str.strip().str.lower().str.title()" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "id": "8314ad7f-835e-4bd5-8125-df9dc02c706a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "traveler_nationality\n", + "American 24\n", + "Korean 13\n", + "British 12\n", + "Canadian 9\n", + "Australian 8\n", + "Chinese 7\n", + "Spanish 7\n", + "Brazilian 4\n", + "Italian 4\n", + "Indian 4\n", + "South Korean 3\n", + "Vietnamese 3\n", + "South Korea 3\n", + "Emirati 2\n", + "Dutch 2\n", + "Japanese 2\n", + "South African 2\n", + "USA 2\n", + "Canada 2\n", + "Taiwan 2\n", + "Mexican 2\n", + "Moroccan 1\n", + "French 1\n", + "German 1\n", + "Scottish 1\n", + "Taiwanese 1\n", + "Indonesian 1\n", + "UK 1\n", + "China 1\n", + "Japan 1\n", + "Spain 1\n", + "Brazil 1\n", + "Germany 1\n", + "Hong Kong 1\n", + "United Kingdom 1\n", + "Singapore 1\n", + "Italy 1\n", + "Greece 1\n", + "United Arab Emirates 1\n", + "Cambodia 1\n", + "New Zealander 1\n", + "Name: count, dtype: int64" + ] + }, + "execution_count": 68, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_dull_3_df['traveler_nationality'].value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "id": "39ad6a27-1624-49d0-9965-6fec73757d6c", + "metadata": {}, + "outputs": [], + "source": [ + "mapping = {\n", + " 'American': 'United States',\n", + " 'USA': 'United States',\n", + " 'Canada': 'Canada',\n", + " 'Canadian': 'Canada',\n", + " 'UK': 'United Kingdom',\n", + " 'United Kingdom': 'United Kingdom',\n", + " 'British': 'United Kingdom',\n", + " 'Scottish': 'United Kingdom',\n", + " 'Korean': 'South Korea',\n", + " 'South Korea': 'South Korea',\n", + " 'South Korean': 'South Korea',\n", + " 'China': 'China',\n", + " 'Chinese': 'China',\n", + " 'Italy': 'Italy',\n", + " 'Italian': 'Italy',\n", + " 'Brazil': 'Brazil',\n", + " 'Brazilian': 'Brazil',\n", + " 'Emirati': 'United Arab Emirates',\n", + " 'United Arab Emirates': 'United Arab Emirates',\n", + " 'Taiwan': 'Taiwan',\n", + " 'Taiwanese': 'Taiwan',\n", + " 'Germany': 'Germany',\n", + " 'German': 'Germany',\n", + " 'Spain': 'Spain',\n", + " 'Spanish': 'Spain',\n", + " 'Japan': 'Japan',\n", + " 'Japanese': 'Japan'\n", + "}\n", + "\n", + "travel_trip_dull_3_df['traveler_nationality_clean'] = travel_trip_dull_3_df['traveler_nationality'].replace(mapping)" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "id": "1d9972ce-e28c-4f56-b0cb-b806594636ba", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "traveler_nationality_clean\n", + "United States 26\n", + "South Korea 19\n", + "United Kingdom 15\n", + "Canada 11\n", + "Australian 8\n", + "Spain 8\n", + "China 8\n", + "Italy 5\n", + "Brazil 5\n", + "Indian 4\n", + "Japan 3\n", + "Taiwan 3\n", + "United Arab Emirates 3\n", + "Vietnamese 3\n", + "Mexican 2\n", + "Dutch 2\n", + "South African 2\n", + "Germany 2\n", + "French 1\n", + "Moroccan 1\n", + "Indonesian 1\n", + "Hong Kong 1\n", + "Singapore 1\n", + "Greece 1\n", + "Cambodia 1\n", + "New Zealander 1\n", + "Name: count, dtype: int64" + ] + }, + "execution_count": 70, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_dull_3_df['traveler_nationality_clean'].value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 71, + "id": "06e6092e-21a3-45f6-8c00-292bd3b0f352", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "dtype('O')" + ] + }, + "execution_count": 71, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_dull_3_df['traveler_nationality'].dtype" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "id": "b782b44a-dbfb-4c5d-8903-ce7ed859a5ac", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 American\n", + "1 Canadian\n", + "2 Korean\n", + "3 British\n", + "4 Vietnamese\n", + " ... \n", + "134 Brazilian\n", + "135 Canadian\n", + "136 Chinese\n", + "137 Spanish\n", + "138 New Zealander\n", + "Name: traveler_nationality, Length: 137, dtype: string" + ] + }, + "execution_count": 72, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_dull_3_df['traveler_nationality'].astype('string')" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "id": "ebaa4e37-b7d1-4b35-a81f-24cd4956e3dd", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "np.int64(0)" + ] + }, + "execution_count": 74, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_dull_3_df['traveler_nationality'].isna().sum()" + ] + }, + { + "cell_type": "markdown", + "id": "e38d5847-acf6-446e-9aa9-79cd83b4f30a", + "metadata": {}, + "source": [ + "### Cleaning the column traveler_gender" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "id": "2401fcec-ff6e-4460-b1cc-6f9660f23d8f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['Male', 'Female'], dtype=object)" + ] + }, + "execution_count": 75, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_dull_3_df['traveler_gender'].unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "id": "59ca96d7-ee1d-44a9-b959-851537d6774b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "traveler_gender\n", + "Female 70\n", + "Male 67\n", + "Name: count, dtype: int64" + ] + }, + "execution_count": 76, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_dull_3_df['traveler_gender'].value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "id": "9f5e91f9-0d63-4fe8-87d3-13bdfca06760", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "traveler_gender\n", + "Female 70\n", + "Male 67\n", + "Name: count, dtype: int64" + ] + }, + "execution_count": 77, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_dull_3_df[\"traveler_gender\"] = (\n", + " travel_trip_dull_3_df[\"traveler_gender\"].fillna(\"Unknown\")\n", + ")\n", + "travel_trip_dull_3_df['traveler_gender'].value_counts()" + ] + }, + { + "cell_type": "markdown", + "id": "16ddaf3b-97b7-481a-b588-e06e7b21d5ab", + "metadata": {}, + "source": [ + "### Clean columns accommodation_type" + ] + }, + { + "cell_type": "code", + "execution_count": 78, + "id": "3c509d63-cfc7-441f-b40e-583f4b589d10", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['Hotel', 'Resort', 'Villa', 'Airbnb', 'Hostel', 'Riad',\n", + " 'Vacation rental', 'Guesthouse'], dtype=object)" + ] + }, + "execution_count": 78, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_dull_3_df['accommodation_type'].unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 79, + "id": "1bb25acf-4e48-4abf-b820-842d3ab42f33", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "accommodation_type\n", + "Hotel 60\n", + "Airbnb 30\n", + "Hostel 24\n", + "Resort 14\n", + "Villa 4\n", + "Vacation rental 3\n", + "Riad 1\n", + "Guesthouse 1\n", + "Name: count, dtype: int64" + ] + }, + "execution_count": 79, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_dull_3_df['accommodation_type'] = travel_trip_dull_3_df['accommodation_type'].fillna('Unknown')\n", + "travel_trip_dull_3_df['accommodation_type'].value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "id": "7390ae0e-c80d-409e-a707-66f88c843ebe", + "metadata": {}, + "outputs": [], + "source": [ + "mapping = {\n", + " 'Riad': 'Villa',\n", + " 'Guesthouse': 'Vacation rental'\n", + "}\n", + "travel_trip_dull_3_df['accommodation_type'] = travel_trip_dull_3_df['accommodation_type'].replace(mapping)" + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "id": "67a3793c-298f-43bf-aa48-5f80f46a1e74", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "accommodation_type\n", + "Hotel 60\n", + "Airbnb 30\n", + "Hostel 24\n", + "Resort 14\n", + "Villa 5\n", + "Vacation rental 4\n", + "Name: count, dtype: int64" + ] + }, + "execution_count": 81, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_dull_3_df['accommodation_type'].value_counts()" + ] + }, + { + "cell_type": "markdown", + "id": "326e2bdb-7a35-4d9a-b740-ba3bfc58789e", + "metadata": {}, + "source": [ + "### Clean columns accommodation_cost" + ] + }, + { + "cell_type": "code", + "execution_count": 82, + "id": "06c73f46-ab11-47c5-9443-22b4f8cf1df1", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "count 137\n", + "unique 53\n", + "top 1200\n", + "freq 7\n", + "Name: accommodation_cost, dtype: object" + ] + }, + "execution_count": 82, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_dull_3_df['accommodation_cost'].describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 85, + "id": "06e5d1f5-22da-4ade-bbb7-e28d3dd70c2b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([1200, 800, 1000, 2000, 700, 1500, 500, 900, 2500, 3000, 1400, 600,\n", + " 400, 1100, 200, 150, 180, 350, 2200, 300, 1300, 1800, 100, 5000,\n", + " 7000, 6000, 4000, 8000], dtype=object)" + ] + }, + "execution_count": 85, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_dull_3_df.loc[:, \"accommodation_cost\"] = (\n", + " travel_trip_dull_3_df[\"accommodation_cost\"]\n", + " .astype(str) # in case there are numbers/NaN in there\n", + " .str.strip()\n", + " .str.strip(\"$\")\n", + " .str.replace(\",\", \"\", regex=False)\n", + " .str.replace(\" USD\", \"\", regex=False)\n", + " .str.strip()\n", + ")\n", + "\n", + "travel_trip_dull_3_df.loc[:, \"accommodation_cost\"] = pd.to_numeric(\n", + " travel_trip_dull_3_df[\"accommodation_cost\"],\n", + " errors=\"coerce\"\n", + ")\n", + "\n", + "travel_trip_dull_3_df.accommodation_cost.unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 86, + "id": "7ce1be0c-db2f-4369-b653-3ed57b04584a", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/13/s00136yd6q5bvv6x74_x_m204g4004/T/ipykernel_39449/2161018080.py:2: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`\n", + " travel_trip_dull_3_df['accommodation_cost'] = travel_trip_dull_3_df['accommodation_cost'].fillna(median_cost)\n" + ] + }, + { + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
destinationtrip_iddestination_countrydestination_citystart_dateend_dateduration_daystraveler_nametraveler_agetraveler_gender...accommodation_costtransportation_typetransportation_costend_yearend_monthstart_yearstart_monthstart_month_nameend_month_nametraveler_nationality_clean
0London, UK1UKLondon2023-05-012023-05-017.0john smith35.0Male...1200Flight600.02023520235MayMayUnited States
1Phuket, Thailand2ThailandPhuket2023-06-012023-06-015.0jane doe28.0Female...800Flight500.02023620236JuneJuneCanada
2Bali, Indonesia3IndonesiaBali2023-07-012023-07-017.0david lee45.0Male...1000Flight700.02023720237JulyJulySouth Korea
3New York, USA4USANew York2023-08-012023-08-0114.0sarah johnson29.0Female...2000Flight1000.02023820238AugustAugustUnited Kingdom
4Tokyo, Japan5JapanTokyo2023-09-012023-09-017.0kim nguyen26.0Female...700Train200.02023920239SeptemberSeptemberVietnamese
..................................................................
134Rio de Janeiro, Brazil135BrazilRio de Janeiro2023-08-012023-08-019.0jose perez37.0Male...2500Private Car2000.02023820238AugustAugustBrazil
135Vancouver, Canada136CanadaVancouver2023-08-012023-08-016.0emma wilson29.0Female...5000Airplane3000.02023820238AugustAugustCanada
136Bangkok, Thailand137ThailandBangkok2023-09-012023-09-017.0ryan chen34.0Male...2000Train1000.02023920239SeptemberSeptemberChina
137Barcelona, Spain138SpainBarcelona2023-09-012023-09-017.0sofia rodriguez25.0Female...6000Airplane2500.02023920239SeptemberSeptemberSpain
138Auckland, New Zealand139New ZealandAuckland2023-10-012023-10-017.0william brown39.0Male...7000Train2500.0202310202310OctoberOctoberNew Zealander
\n", + "

137 rows × 22 columns

\n", + "
" + ], + "text/plain": [ + " destination trip_id destination_country destination_city \\\n", + "0 London, UK 1 UK London \n", + "1 Phuket, Thailand 2 Thailand Phuket \n", + "2 Bali, Indonesia 3 Indonesia Bali \n", + "3 New York, USA 4 USA New York \n", + "4 Tokyo, Japan 5 Japan Tokyo \n", + ".. ... ... ... ... \n", + "134 Rio de Janeiro, Brazil 135 Brazil Rio de Janeiro \n", + "135 Vancouver, Canada 136 Canada Vancouver \n", + "136 Bangkok, Thailand 137 Thailand Bangkok \n", + "137 Barcelona, Spain 138 Spain Barcelona \n", + "138 Auckland, New Zealand 139 New Zealand Auckland \n", + "\n", + " start_date end_date duration_days traveler_name traveler_age \\\n", + "0 2023-05-01 2023-05-01 7.0 john smith 35.0 \n", + "1 2023-06-01 2023-06-01 5.0 jane doe 28.0 \n", + "2 2023-07-01 2023-07-01 7.0 david lee 45.0 \n", + "3 2023-08-01 2023-08-01 14.0 sarah johnson 29.0 \n", + "4 2023-09-01 2023-09-01 7.0 kim nguyen 26.0 \n", + ".. ... ... ... ... ... \n", + "134 2023-08-01 2023-08-01 9.0 jose perez 37.0 \n", + "135 2023-08-01 2023-08-01 6.0 emma wilson 29.0 \n", + "136 2023-09-01 2023-09-01 7.0 ryan chen 34.0 \n", + "137 2023-09-01 2023-09-01 7.0 sofia rodriguez 25.0 \n", + "138 2023-10-01 2023-10-01 7.0 william brown 39.0 \n", + "\n", + " traveler_gender ... accommodation_cost transportation_type \\\n", + "0 Male ... 1200 Flight \n", + "1 Female ... 800 Flight \n", + "2 Male ... 1000 Flight \n", + "3 Female ... 2000 Flight \n", + "4 Female ... 700 Train \n", + ".. ... ... ... ... \n", + "134 Male ... 2500 Private Car \n", + "135 Female ... 5000 Airplane \n", + "136 Male ... 2000 Train \n", + "137 Female ... 6000 Airplane \n", + "138 Male ... 7000 Train \n", + "\n", + " transportation_cost end_year end_month start_year start_month \\\n", + "0 600.0 2023 5 2023 5 \n", + "1 500.0 2023 6 2023 6 \n", + "2 700.0 2023 7 2023 7 \n", + "3 1000.0 2023 8 2023 8 \n", + "4 200.0 2023 9 2023 9 \n", + ".. ... ... ... ... ... \n", + "134 2000.0 2023 8 2023 8 \n", + "135 3000.0 2023 8 2023 8 \n", + "136 1000.0 2023 9 2023 9 \n", + "137 2500.0 2023 9 2023 9 \n", + "138 2500.0 2023 10 2023 10 \n", + "\n", + " start_month_name end_month_name traveler_nationality_clean \n", + "0 May May United States \n", + "1 June June Canada \n", + "2 July July South Korea \n", + "3 August August United Kingdom \n", + "4 September September Vietnamese \n", + ".. ... ... ... \n", + "134 August August Brazil \n", + "135 August August Canada \n", + "136 September September China \n", + "137 September September Spain \n", + "138 October October New Zealander \n", + "\n", + "[137 rows x 22 columns]" + ] + }, + "execution_count": 86, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "median_cost = travel_trip_dull_3_df['accommodation_cost'].median()\n", + "travel_trip_dull_3_df['accommodation_cost'] = travel_trip_dull_3_df['accommodation_cost'].fillna(median_cost)\n", + "travel_trip_dull_3_df['accommodation_cost']\n", + "travel_trip_dull_3_df" + ] + }, + { + "cell_type": "code", + "execution_count": 89, + "id": "4fb753d3-8756-40e0-b949-5b79d29add1a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "np.int64(0)" + ] + }, + "execution_count": 89, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_dull_3_df.accommodation_cost.isnull().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "id": "de1e173b-d8af-4e1d-8c5c-58061c7815e9", + "metadata": {}, + "outputs": [], + "source": [ + "travel_trip_complete_df = travel_trip_dull_3_df.copy()" + ] + }, + { + "cell_type": "markdown", + "id": "dfda13ba-a898-439d-b090-642873e95d1d", + "metadata": {}, + "source": [ + "# Our clean dataframe to do the analysis" + ] + }, + { + "cell_type": "code", + "execution_count": 91, + "id": "6c4e6f07-5486-41e5-be50-c9121c6de262", + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
destinationtrip_iddestination_countrydestination_citystart_dateend_dateduration_daystraveler_nametraveler_agetraveler_gender...accommodation_costtransportation_typetransportation_costend_yearend_monthstart_yearstart_monthstart_month_nameend_month_nametraveler_nationality_clean
0London, UK1UKLondon2023-05-012023-05-017.0john smith35.0Male...1200Flight600.02023520235MayMayUnited States
1Phuket, Thailand2ThailandPhuket2023-06-012023-06-015.0jane doe28.0Female...800Flight500.02023620236JuneJuneCanada
2Bali, Indonesia3IndonesiaBali2023-07-012023-07-017.0david lee45.0Male...1000Flight700.02023720237JulyJulySouth Korea
3New York, USA4USANew York2023-08-012023-08-0114.0sarah johnson29.0Female...2000Flight1000.02023820238AugustAugustUnited Kingdom
4Tokyo, Japan5JapanTokyo2023-09-012023-09-017.0kim nguyen26.0Female...700Train200.02023920239SeptemberSeptemberVietnamese
..................................................................
134Rio de Janeiro, Brazil135BrazilRio de Janeiro2023-08-012023-08-019.0jose perez37.0Male...2500Private Car2000.02023820238AugustAugustBrazil
135Vancouver, Canada136CanadaVancouver2023-08-012023-08-016.0emma wilson29.0Female...5000Airplane3000.02023820238AugustAugustCanada
136Bangkok, Thailand137ThailandBangkok2023-09-012023-09-017.0ryan chen34.0Male...2000Train1000.02023920239SeptemberSeptemberChina
137Barcelona, Spain138SpainBarcelona2023-09-012023-09-017.0sofia rodriguez25.0Female...6000Airplane2500.02023920239SeptemberSeptemberSpain
138Auckland, New Zealand139New ZealandAuckland2023-10-012023-10-017.0william brown39.0Male...7000Train2500.0202310202310OctoberOctoberNew Zealander
\n", + "

137 rows × 22 columns

\n", + "
" + ], + "text/plain": [ + " destination trip_id destination_country destination_city \\\n", + "0 London, UK 1 UK London \n", + "1 Phuket, Thailand 2 Thailand Phuket \n", + "2 Bali, Indonesia 3 Indonesia Bali \n", + "3 New York, USA 4 USA New York \n", + "4 Tokyo, Japan 5 Japan Tokyo \n", + ".. ... ... ... ... \n", + "134 Rio de Janeiro, Brazil 135 Brazil Rio de Janeiro \n", + "135 Vancouver, Canada 136 Canada Vancouver \n", + "136 Bangkok, Thailand 137 Thailand Bangkok \n", + "137 Barcelona, Spain 138 Spain Barcelona \n", + "138 Auckland, New Zealand 139 New Zealand Auckland \n", + "\n", + " start_date end_date duration_days traveler_name traveler_age \\\n", + "0 2023-05-01 2023-05-01 7.0 john smith 35.0 \n", + "1 2023-06-01 2023-06-01 5.0 jane doe 28.0 \n", + "2 2023-07-01 2023-07-01 7.0 david lee 45.0 \n", + "3 2023-08-01 2023-08-01 14.0 sarah johnson 29.0 \n", + "4 2023-09-01 2023-09-01 7.0 kim nguyen 26.0 \n", + ".. ... ... ... ... ... \n", + "134 2023-08-01 2023-08-01 9.0 jose perez 37.0 \n", + "135 2023-08-01 2023-08-01 6.0 emma wilson 29.0 \n", + "136 2023-09-01 2023-09-01 7.0 ryan chen 34.0 \n", + "137 2023-09-01 2023-09-01 7.0 sofia rodriguez 25.0 \n", + "138 2023-10-01 2023-10-01 7.0 william brown 39.0 \n", + "\n", + " traveler_gender ... accommodation_cost transportation_type \\\n", + "0 Male ... 1200 Flight \n", + "1 Female ... 800 Flight \n", + "2 Male ... 1000 Flight \n", + "3 Female ... 2000 Flight \n", + "4 Female ... 700 Train \n", + ".. ... ... ... ... \n", + "134 Male ... 2500 Private Car \n", + "135 Female ... 5000 Airplane \n", + "136 Male ... 2000 Train \n", + "137 Female ... 6000 Airplane \n", + "138 Male ... 7000 Train \n", + "\n", + " transportation_cost end_year end_month start_year start_month \\\n", + "0 600.0 2023 5 2023 5 \n", + "1 500.0 2023 6 2023 6 \n", + "2 700.0 2023 7 2023 7 \n", + "3 1000.0 2023 8 2023 8 \n", + "4 200.0 2023 9 2023 9 \n", + ".. ... ... ... ... ... \n", + "134 2000.0 2023 8 2023 8 \n", + "135 3000.0 2023 8 2023 8 \n", + "136 1000.0 2023 9 2023 9 \n", + "137 2500.0 2023 9 2023 9 \n", + "138 2500.0 2023 10 2023 10 \n", + "\n", + " start_month_name end_month_name traveler_nationality_clean \n", + "0 May May United States \n", + "1 June June Canada \n", + "2 July July South Korea \n", + "3 August August United Kingdom \n", + "4 September September Vietnamese \n", + ".. ... ... ... \n", + "134 August August Brazil \n", + "135 August August Canada \n", + "136 September September China \n", + "137 September September Spain \n", + "138 October October New Zealander \n", + "\n", + "[137 rows x 22 columns]" + ] + }, + "execution_count": 91, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_complete_df" + ] + }, + { + "cell_type": "code", + "execution_count": 93, + "id": "830f82b4-2841-46e9-87a7-f8e1a236cc42", + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "os.makedirs(\"../data/clean\", exist_ok=True)\n", + "\n", + "# 1) Human / sharing version\n", + "travel_trip_complete_df.to_csv(\"../data/clean/travel_trip_complete.csv\", index=False)\n", + "\n", + "# 2) Analysis version (keeps dtypes)\n", + "travel_trip_complete_df.to_parquet(\"../data/clean/travel_trip_complete.parquet\", index=False)\n", + "# or:\n", + "# travel_trip_complete_df.to_pickle(\"../data/processed/travel_trip_complete.pkl\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "654aa65c-fa28-445b-bf20-8fb8f550ce11", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python [conda env:base] *", + "language": "python", + "name": "conda-base-py" + }, + "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.13.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From f36dc110547431d4674df086ec26bc881b115cd1 Mon Sep 17 00:00:00 2001 From: Christos Vachakis Date: Tue, 9 Dec 2025 13:04:36 +0100 Subject: [PATCH 11/14] Add cleaning and analysis notebooks for travel trips --- data/clean/travel_trip_complete.csv | 138 ++++++++++++++++++++++++ data/clean/travel_trip_complete.parquet | Bin 0 -> 20662 bytes notebooks/clean_databse.ipynb | 16 +-- 3 files changed, 148 insertions(+), 6 deletions(-) create mode 100644 data/clean/travel_trip_complete.csv create mode 100644 data/clean/travel_trip_complete.parquet diff --git a/data/clean/travel_trip_complete.csv b/data/clean/travel_trip_complete.csv new file mode 100644 index 00000000..036579d4 --- /dev/null +++ b/data/clean/travel_trip_complete.csv @@ -0,0 +1,138 @@ +destination,trip_id,destination_country,destination_city,start_date,end_date,duration_days,traveler_name,traveler_age,traveler_gender,traveler_nationality,accommodation_type,accommodation_cost,transportation_type,transportation_cost,end_year,end_month,start_year,start_month,start_month_name,end_month_name,traveler_nationality_clean +"London, UK",1,UK,London,2023-05-01,2023-05-01,7.0,john smith,35.0,Male,American,Hotel,1200,Flight,600.0,2023,5,2023,5,May,May,United States +"Phuket, Thailand",2,Thailand,Phuket,2023-06-01,2023-06-01,5.0,jane doe,28.0,Female,Canadian,Resort,800,Flight,500.0,2023,6,2023,6,June,June,Canada +"Bali, Indonesia",3,Indonesia,Bali,2023-07-01,2023-07-01,7.0,david lee,45.0,Male,Korean,Villa,1000,Flight,700.0,2023,7,2023,7,July,July,South Korea +"New York, USA",4,USA,New York,2023-08-01,2023-08-01,14.0,sarah johnson,29.0,Female,British,Hotel,2000,Flight,1000.0,2023,8,2023,8,August,August,United Kingdom +"Tokyo, Japan",5,Japan,Tokyo,2023-09-01,2023-09-01,7.0,kim nguyen,26.0,Female,Vietnamese,Airbnb,700,Train,200.0,2023,9,2023,9,September,September,Vietnamese +"Paris, France",6,France,Paris,2023-10-01,2023-10-01,5.0,michael brown,42.0,Male,American,Hotel,1500,Flight,800.0,2023,10,2023,10,October,October,United States +"Sydney, Australia",7,Australia,Sydney,2023-11-01,2023-11-01,10.0,emily davis,33.0,Female,Australian,Hostel,500,Flight,1200.0,2023,11,2023,11,November,November,Australian +"Rio de Janeiro, Brazil",8,Brazil,Rio de Janeiro,2024-01-01,2024-01-01,7.0,lucas santos,25.0,Male,Brazilian,Airbnb,900,Flight,600.0,2024,1,2024,1,January,January,Brazil +"Amsterdam, Netherlands",9,Netherlands,Amsterdam,2024-02-01,2024-02-01,7.0,laura janssen,31.0,Female,Dutch,Hotel,1200,Train,200.0,2024,2,2024,2,February,February,Dutch +"Dubai, United Arab Emirates",10,United Arab Emirates,Dubai,2024-03-01,2024-03-01,7.0,mohammed ali,39.0,Male,Emirati,Resort,2500,Flight,800.0,2024,3,2024,3,March,March,United Arab Emirates +"Cancun, Mexico",11,Mexico,Cancun,2024-04-01,2024-04-01,7.0,ana hernandez,27.0,Female,Mexican,Hotel,1000,Flight,500.0,2024,4,2024,4,April,April,Mexican +"Barcelona, Spain",12,Spain,Barcelona,2024-05-01,2024-05-01,7.0,carlos garcia,36.0,Male,Spanish,Airbnb,800,Train,100.0,2024,5,2024,5,May,May,Spain +"Honolulu, Hawaii",13,Hawaii,Honolulu,2024-06-01,2024-06-01,8.0,lily wong,29.0,Female,Chinese,Resort,3000,Flight,1200.0,2024,6,2024,6,June,June,China +"Berlin, Germany",14,Germany,Berlin,2024-07-01,2024-07-01,9.0,hans mueller,48.0,Male,German,Hotel,1400,Flight,700.0,2024,7,2024,7,July,July,Germany +"Marrakech, Morocco",15,Morocco,Marrakech,2024-08-01,2024-08-01,7.0,fatima khouri,26.0,Female,Moroccan,Villa,600,Flight,400.0,2024,8,2024,8,August,August,Moroccan +"Edinburgh, Scotland",16,Scotland,Edinburgh,2024-09-01,2024-09-01,7.0,james mackenzie,32.0,Male,Scottish,Hotel,900,Train,150.0,2024,9,2024,9,September,September,United Kingdom +Paris,17,,Paris,2023-09-01,2023-09-01,9.0,sarah johnson,30.0,Female,American,Hotel,900,Airplane,400.0,2023,9,2023,9,September,September,United States +Bali,18,,Bali,2023-08-01,2023-08-01,10.0,michael chang,28.0,Male,Chinese,Resort,1500,Airplane,700.0,2023,8,2023,8,August,August,China +London,19,,London,2023-07-01,2023-07-01,6.0,olivia rodriguez,35.0,Female,British,Hotel,1200,Train,150.0,2023,7,2023,7,July,July,United Kingdom +Tokyo,20,,Tokyo,2023-10-01,2023-10-01,10.0,kenji nakamura,45.0,Male,Japanese,Hotel,1200,Airplane,800.0,2023,10,2023,10,October,October,Japan +New York,21,,New York,2023-11-01,2023-11-01,5.0,emily lee,27.0,Female,American,Airbnb,600,Bus,100.0,2023,11,2023,11,November,November,United States +Sydney,22,,Sydney,2023-12-01,2023-12-01,7.0,james wilson,32.0,Male,Australian,Hotel,1000,Airplane,600.0,2023,12,2023,12,December,December,Australian +Rome,23,,Rome,2023-11-01,2023-11-01,7.0,sofia russo,29.0,Female,Italian,Airbnb,700,Train,80.0,2023,11,2023,11,November,November,Italy +Bangkok,24,,Bangkok,2023-09-01,2023-09-01,8.0,raj patel,40.0,Male,Indian,Hostel,400,Airplane,500.0,2023,9,2023,9,September,September,Indian +Paris,25,,Paris,2023-12-01,2023-12-01,6.0,lily nguyen,24.0,Female,Vietnamese,Hotel,1400,Train,100.0,2023,12,2023,12,December,December,Vietnamese +Hawaii,26,,Hawaii,2023-08-01,2023-08-01,9.0,david kim,34.0,Male,Korean,Resort,2000,Airplane,800.0,2023,8,2023,8,August,August,South Korea +Barcelona,27,,Barcelona,2023-10-01,2023-10-01,8.0,maria garcia,31.0,Female,Spanish,Hotel,1100,Train,150.0,2023,10,2023,10,October,October,Spain +Japan,28,,Japan,2022-05-01,2022-05-01,8.0,alice smith,30.0,Female,American,Hotel,800,Airplane,500.0,2022,5,2022,5,May,May,United States +Thailand,29,,Thailand,2022-06-01,2022-06-01,7.0,bob johnson,45.0,Male,Canadian,Hostel,200,Train,150.0,2022,6,2022,6,June,June,Canada +France,30,,France,2022-07-01,2022-07-01,9.0,charlie lee,25.0,Male,Korean,Airbnb,600,Rental Car,300.0,2022,7,2022,7,July,July,South Korea +Australia,31,,Australia,2022-08-01,2022-09-01,13.0,emma davis,28.0,Female,British,Hotel,1000,Rental Car,500.0,2022,9,2022,8,August,September,United Kingdom +Brazil,32,,Brazil,2022-09-01,2022-09-01,9.0,olivia martin,33.0,Female,Australian,Hostel,150,Bus,50.0,2022,9,2022,9,September,September,Australian +Greece,33,,Greece,2022-10-01,2022-10-01,8.0,harry wilson,20.0,Male,American,Airbnb,400,Airplane,600.0,2022,10,2022,10,October,October,United States +Egypt,34,,Egypt,2022-11-01,2022-11-01,7.0,sophia lee,37.0,Female,Canadian,Hotel,700,Train,100.0,2022,11,2022,11,November,November,Canada +Mexico,35,,Mexico,2023-01-01,2023-01-01,10.0,james brown,42.0,Male,British,Airbnb,500,Airplane,800.0,2023,1,2023,1,January,January,United Kingdom +Italy,36,,Italy,2023-02-01,2023-02-01,6.0,mia johnson,31.0,Female,American,Hostel,180,Train,120.0,2023,2,2023,2,February,February,United States +Spain,37,,Spain,2023-03-01,2023-03-01,8.0,william davis,27.0,Male,Korean,Hotel,900,Rental Car,400.0,2023,3,2023,3,March,March,South Korea +Canada,38,,Canada,2023-04-01,2023-04-01,7.0,amelia brown,38.0,Female,Australian,Airbnb,350,Bus,75.0,2023,4,2023,4,April,April,Australian +"Paris, France",39,France,Paris,2022-06-01,2022-06-01,7.0,mia johnson,25.0,Female,American,Hotel,1400,Airplane,600.0,2022,6,2022,6,June,June,United States +"Sydney, Australia",40,Australia,Sydney,2023-01-01,2023-01-01,7.0,adam lee,33.0,Male,Canadian,Airbnb,800,Train,150.0,2023,1,2023,1,January,January,Canada +"Tokyo, Japan",41,Japan,Tokyo,2022-12-01,2022-12-01,8.0,sarah wong,28.0,Female,Chinese,Hostel,500,Airplane,900.0,2022,12,2022,12,December,December,China +"Cancun, Mexico",42,Mexico,Cancun,2023-07-01,2023-07-01,7.0,john smith,45.0,Male,American,Resort,2200,Airplane,800.0,2023,7,2023,7,July,July,United States +"Rio de Janeiro, Brazil",43,Brazil,Rio de Janeiro,2022-11-01,2022-11-01,7.0,maria silva,30.0,Female,Brazilian,Hotel,1200,Airplane,700.0,2022,11,2022,11,November,November,Brazil +"London, UK",44,UK,London,2023-03-01,2023-03-01,7.0,peter brown,55.0,Male,British,Airbnb,900,Train,100.0,2023,3,2023,3,March,March,United Kingdom +"Barcelona, Spain",45,Spain,Barcelona,2023-08-01,2023-08-01,7.0,emma garcia,27.0,Female,Spanish,Hostel,600,Airplane,600.0,2023,8,2023,8,August,August,Spain +"New York City, USA",46,USA,New York City,2022-09-01,2022-09-01,7.0,michael davis,41.0,Male,American,Hotel,1500,Airplane,500.0,2022,9,2022,9,September,September,United States +"Bangkok, Thailand",47,Thailand,Bangkok,2023-05-01,2023-05-01,6.0,nina patel,29.0,Female,Indian,Airbnb,500,Bus,50.0,2023,5,2023,5,May,May,Indian +"Vancouver, Canada",48,Canada,Vancouver,2022-07-01,2022-07-01,7.0,kevin kim,24.0,Male,Korean,Hostel,400,Train,150.0,2022,7,2022,7,July,July,South Korea +"Amsterdam, Netherlands",49,Netherlands,Amsterdam,2023-06-01,2023-06-01,8.0,laura van den berg,31.0,Female,Dutch,Hotel,1100,Airplane,700.0,2023,6,2023,6,June,June,Dutch +"Paris, France",50,France,Paris,2023-08-01,2023-08-01,7.0,jennifer nguyen,31.0,Female,Canadian,Hotel,1200,Train,300.0,2023,8,2023,8,August,August,Canada +"Tokyo, Japan",51,Japan,Tokyo,2023-10-01,2023-10-01,10.0,david kim,25.0,Male,American,Hostel,500,Bus,100.0,2023,10,2023,10,October,October,United States +"Sydney, AUS",52,AUS,Sydney,2023-11-01,2023-11-01,7.0,rachel lee,27.0,Female,South Korean,Airbnb,900,Rental Car,200.0,2023,11,2023,11,November,November,South Korea +"New York, USA",53,USA,New York,2023-12-01,2023-12-01,7.0,jessica wong,28.0,Female,Canadian,Hotel,1400,Flight,800.0,2023,12,2023,12,December,December,Canada +"Rio de Janeiro, Brazil",54,Brazil,Rio de Janeiro,2024-01-01,2024-01-01,9.0,felipe almeida,30.0,Male,Brazilian,Airbnb,800,Train,150.0,2024,1,2024,1,January,January,Brazil +"Bangkok, Thailand",55,Thailand,Bangkok,2024-02-01,2024-02-01,8.0,nisa patel,23.0,Female,Indian,Hostel,400,Bus,50.0,2024,2,2024,2,February,February,Indian +"London, UK",56,UK,London,2024-03-01,2024-03-01,8.0,ben smith,35.0,Male,British,Hotel,1000,Train,200.0,2024,3,2024,3,March,March,United Kingdom +"Barcelona, Spain",57,Spain,Barcelona,2024-04-01,2024-04-01,8.0,laura gomez,29.0,Female,Spanish,Airbnb,700,Rental Car,250.0,2024,4,2024,4,April,April,Spain +"Seoul, South Korea",58,South Korea,Seoul,2024-05-01,2024-05-01,8.0,park min woo,27.0,Male,South Korean,Hostel,500,Subway,20.0,2024,5,2024,5,May,May,South Korea +"Los Angeles, USA",59,USA,Los Angeles,2024-06-01,2024-06-01,7.0,michael chen,26.0,Male,Chinese,Hotel,1200,Rental Car,300.0,2024,6,2024,6,June,June,China +"Rome, Italy",60,Italy,Rome,2024-07-01,2024-07-01,8.0,sofia rossi,33.0,Female,Italian,Airbnb,800,Train,100.0,2024,7,2024,7,July,July,Italy +Paris,61,,Paris,2022-07-01,2022-07-01,6.0,rachel sanders,35.0,Female,American,Hotel,1200,Airplane,800.0,2022,7,2022,7,July,July,United States +Tokyo,62,,Tokyo,2022-09-01,2022-09-01,7.0,kenji nakamura,28.0,Male,Japanese,Hostel,400,Train,300.0,2022,9,2022,9,September,September,Japan +Cape Town,63,,Cape Town,2023-01-01,2023-01-01,9.0,emily watson,29.0,Female,British,Vacation rental,800,Rental Car,200.0,2023,1,2023,1,January,January,United Kingdom +Sydney,64,,Sydney,2023-06-01,2023-06-01,6.0,david lee,43.0,Male,Australian,Hotel,1500,Airplane,1200.0,2023,6,2023,6,June,June,Australian +Barcelona,65,,Barcelona,2023-08-01,2023-08-01,7.0,ana rodriguez,31.0,Female,Spanish,Vacation rental,900,Airplane,700.0,2023,8,2023,8,August,August,Spain +Bali,66,,Bali,2024-02-01,2024-02-01,7.0,tom wilson,27.0,Male,American,Resort,2200,Airplane,1000.0,2024,2,2024,2,February,February,United States +Paris,67,,Paris,2024-05-01,2024-05-01,6.0,olivia green,39.0,Female,French,Hotel,1100,Train,200.0,2024,5,2024,5,May,May,French +New York,68,,New York,2024-07-01,2024-07-01,6.0,james chen,25.0,Male,American,Vacation rental,1000,Airplane,800.0,2024,7,2024,7,July,July,United States +Bangkok,69,,Bangkok,2024-09-01,2024-09-01,8.0,lila patel,33.0,Female,Indian,Hostel,300,Airplane,700.0,2024,9,2024,9,September,September,Indian +Rome,70,,Rome,2025-02-01,2025-02-01,6.0,marco rossi,41.0,Male,Italian,Hotel,1300,Train,100.0,2025,2,2025,2,February,February,Italy +Bali,71,,Bali,2025-05-01,2025-05-01,8.0,sarah brown,37.0,Female,British,Resort,1800,Airplane,1000.0,2025,5,2025,5,May,May,United Kingdom +"Bali, Indonesia",73,Indonesia,Bali,2022-08-01,2022-08-01,7.0,sarah lee,35.0,Female,South Korean,Resort,500,Airplane,800.0,2022,8,2022,8,August,August,South Korea +"Tokyo, Japan",74,Japan,Tokyo,2023-01-01,2023-01-01,8.0,alex kim,29.0,Male,American,Hotel,1000,Train,200.0,2023,1,2023,1,January,January,United States +"Cancun, Mexico",75,Mexico,Cancun,2023-04-01,2023-04-01,7.0,maria hernandez,42.0,Female,Mexican,Resort,800,Airplane,500.0,2023,4,2023,4,April,April,Mexican +"Paris, France",76,France,Paris,2023-06-01,2023-06-01,7.0,john smith,46.0,Male,British,Hotel,1200,Airplane,700.0,2023,6,2023,6,June,June,United Kingdom +"Cape Town, SA",77,SA,Cape Town,2023-09-01,2023-09-01,9.0,mark johnson,31.0,Male,South African,Vacation rental,400,Private Car,300.0,2023,9,2023,9,September,September,South African +"Bali, Indonesia",78,Indonesia,Bali,2023-11-01,2023-11-01,7.0,amanda chen,25.0,Female,Taiwanese,Resort,600,Airplane,700.0,2023,11,2023,11,November,November,Taiwan +"Sydney, Aus",79,Aus,Sydney,2024-02-01,2024-02-01,7.0,david lee,38.0,Male,Australian,Hotel,900,Airplane,600.0,2024,2,2024,2,February,February,Australian +"Bangkok, Thai",80,Thai,Bangkok,2024-05-01,2024-05-01,7.0,nana kwon,27.0,Female,Korean,Hotel,400,Airplane,400.0,2024,5,2024,5,May,May,South Korea +"New York, USA",81,USA,New York,2024-08-01,2024-08-01,7.0,tom hanks,60.0,Male,American,Hotel,1500,Airplane,1000.0,2024,8,2024,8,August,August,United States +"Phuket, Thai",82,Thai,Phuket,2025-01-01,2025-01-01,7.0,emma watson,32.0,Female,British,Resort,700,Airplane,800.0,2025,1,2025,1,January,January,United Kingdom +"Rome, Italy",83,Italy,Rome,2025-04-01,2025-04-01,7.0,james kim,41.0,Male,American,Hotel,100,Train,405.0,2025,4,2025,4,April,April,United States +Paris,84,,Paris,2021-06-01,2021-06-01,6.0,john smith,35.0,Male,American,Hotel,800,Airplane,500.0,2021,6,2021,6,June,June,United States +Tokyo,85,,Tokyo,2021-07-01,2021-07-01,10.0,sarah lee,28.0,Female,Korean,Airbnb,500,Train,300.0,2021,7,2021,7,July,July,South Korea +Bali,86,,Bali,2021-08-01,2021-08-01,11.0,maria garcia,42.0,Female,Spanish,Resort,1200,Airplane,700.0,2021,8,2021,8,August,August,Spain +Sydney,87,,Sydney,2021-09-01,2021-09-01,9.0,david lee,45.0,Male,Australian,Hotel,900,Airplane,600.0,2021,9,2021,9,September,September,Australian +New York,88,,New York,2021-10-01,2021-10-01,6.0,emily davis,31.0,Female,American,Airbnb,700,Rental Car,200.0,2021,10,2021,10,October,October,United States +London,89,,London,2021-11-01,2021-11-01,11.0,james wilson,29.0,Male,British,Hostel,300,Airplane,400.0,2021,11,2021,11,November,November,United Kingdom +Dubai,90,,Dubai,2022-01-01,2022-01-01,8.0,fatima ahmed,24.0,Female,Emirati,Hotel,1000,Airplane,800.0,2022,1,2022,1,January,January,United Arab Emirates +Bangkok,91,,Bangkok,2022-02-01,2022-02-01,7.0,liam nguyen,26.0,Male,Vietnamese,Airbnb,400,Train,100.0,2022,2,2022,2,February,February,Vietnamese +Rome,92,,Rome,2022-03-01,2022-03-01,11.0,giulia rossi,30.0,Female,Italian,Hostel,200,Airplane,350.0,2022,3,2022,3,March,March,Italy +Bali,93,,Bali,2022-04-01,2022-04-01,11.0,putra wijaya,33.0,Male,Indonesian,Villa,1500,Rental Car,300.0,2022,4,2022,4,April,April,Indonesian +Seoul,94,,Seoul,2022-05-01,2022-05-01,10.0,kim min ji,27.0,Female,Korean,Hotel,800,Train,150.0,2022,5,2022,5,May,May,South Korea +Paris,95,,Paris,2022-06-01,2022-06-01,5.0,john smith,35.0,Male,USA,Hotel,500,Airplane,800.0,2022,6,2022,6,June,June,United States +Tokyo,96,,Tokyo,2022-09-01,2022-09-01,9.0,emily johnson,28.0,Female,Canada,Airbnb,400,Train,200.0,2022,9,2022,9,September,September,Canada +Sydney,97,,Sydney,2022-11-01,2022-12-01,9.0,david lee,45.0,Male,South Korea,Hostel,200,Airplane,1200.0,2022,12,2022,11,November,December,South Korea +London,98,,London,2023-02-01,2023-02-01,5.0,sarah brown,37.0,Female,UK,Hotel,600,Airplane,700.0,2023,2,2023,2,February,February,United Kingdom +New York,99,,New York,2023-05-01,2023-05-01,6.0,michael wong,50.0,Male,China,Airbnb,800,Rental Car,300.0,2023,5,2023,5,May,May,China +Rome,100,,Rome,2023-08-01,2023-08-01,7.0,jessica chen,31.0,Female,Taiwan,Hotel,700,Airplane,900.0,2023,8,2023,8,August,August,Taiwan +Bangkok,101,,Bangkok,2023-11-01,2023-11-01,8.0,ken tanaka,42.0,Male,Japan,Hostel,300,Train,100.0,2023,11,2023,11,November,November,Japan +Cape Town,102,,Cape Town,2024-01-01,2024-01-01,8.0,maria garcia,27.0,Female,Spain,Airbnb,500,Airplane,1500.0,2024,1,2024,1,January,January,Spain +Rio de Janeiro,103,,Rio de Janeiro,2024-04-01,2024-04-01,7.0,rodrigo oliveira,33.0,Male,Brazil,Hotel,900,Rental Car,400.0,2024,4,2024,4,April,April,Brazil +Bali,104,,Bali,2024-07-01,2024-07-01,6.0,olivia kim,29.0,Female,South Korea,Villa,1200,Airplane,1000.0,2024,7,2024,7,July,July,South Korea +Amsterdam,105,,Amsterdam,2024-10-01,2024-10-01,7.0,robert mueller,41.0,Male,Germany,Hotel,600,Train,150.0,2024,10,2024,10,October,October,Germany +Paris,106,,Paris,2022-05-01,2022-05-01,5.0,john smith,35.0,Male,USA,Hotel,1000,Airplane,800.0,2022,5,2022,5,May,May,United States +Tokyo,107,,Tokyo,2022-09-01,2022-09-01,9.0,sarah lee,28.0,Female,South Korea,Airbnb,800,Train,500.0,2022,9,2022,9,September,September,South Korea +New York,108,,New York,2022-06-01,2022-06-01,5.0,michael wong,42.0,Male,Hong Kong,Hotel,1200,Rental Car,200.0,2022,6,2022,6,June,June,Hong Kong +Bali,109,,Bali,2022-08-01,2022-08-01,8.0,lisa chen,30.0,Female,Taiwan,Resort,1500,Airplane,1200.0,2022,8,2022,8,August,August,Taiwan +Sydney,110,,Sydney,2022-07-01,2022-07-01,9.0,david kim,26.0,Male,Canada,Hostel,300,Airplane,900.0,2022,7,2022,7,July,July,Canada +London,111,,London,2022-06-01,2022-06-01,5.0,emily wong,38.0,Female,United Kingdom,Hotel,900,Train,150.0,2022,6,2022,6,June,June,United Kingdom +Phuket,112,,Phuket,2022-09-01,2022-09-01,7.0,mark tan,45.0,Male,Singapore,Villa,2000,Airplane,700.0,2022,9,2022,9,September,September,Singapore +Rome,113,,Rome,2022-05-01,2022-05-01,7.0,emma lee,31.0,Female,Italy,Hotel,1100,Train,250.0,2022,5,2022,5,May,May,Italy +Santorini,114,,Santorini,2022-07-01,2022-07-01,7.0,george chen,27.0,Male,Greece,Airbnb,1000,Ferry,150.0,2022,7,2022,7,July,July,Greece +Dubai,115,,Dubai,2022-08-01,2022-08-01,5.0,sophia kim,29.0,Female,United Arab Emirates,Hotel,1500,Rental Car,300.0,2022,8,2022,8,August,August,United Arab Emirates +Phnom Penh,116,,Phnom Penh,2022-09-01,2022-09-01,5.0,alex ng,33.0,Male,Cambodia,Hostel,200,Airplane,500.0,2022,9,2022,9,September,September,Cambodia +"Tokyo, Japan",117,Japan,Tokyo,2022-02-01,2022-02-01,9.0,alice smith,32.0,Female,American,Hotel,1000,Airplane,700.0,2022,2,2022,2,February,February,United States +"Paris, France",118,France,Paris,2022-03-01,2022-03-01,7.0,bob johnson,47.0,Male,Canadian,Hotel,1200,Train,500.0,2022,3,2022,3,March,March,Canada +"Sydney, Aus",119,Aus,Sydney,2022-05-01,2022-05-01,11.0,cindy chen,26.0,Female,Chinese,Airbnb,800,Airplane,1000.0,2022,5,2022,5,May,May,China +"Rome, Italy",120,Italy,Rome,2022-06-01,2022-06-01,7.0,david lee,38.0,Male,Korean,Hotel,900,Train,400.0,2022,6,2022,6,June,June,South Korea +"Bali, Indonesia",121,Indonesia,Bali,2022-07-01,2022-07-01,10.0,emily kim,29.0,Female,Korean,Hostel,500,Airplane,800.0,2022,7,2022,7,July,July,South Korea +"Cancun, Mexico",122,Mexico,Cancun,2022-08-01,2022-08-01,8.0,frank li,41.0,Male,American,Hotel,1300,Airplane,600.0,2022,8,2022,8,August,August,United States +"Athens, Greece",123,Greece,Athens,2022-09-01,2022-09-01,10.0,gina lee,35.0,Female,Korean,Airbnb,700,Airplane,900.0,2022,9,2022,9,September,September,South Korea +"Tokyo, Japan",124,Japan,Tokyo,2022-10-01,2022-10-01,8.0,henry kim,24.0,Male,Korean,Hotel,1200,Airplane,700.0,2022,10,2022,10,October,October,South Korea +"Sydney, Aus",125,Aus,Sydney,2022-11-01,2022-11-01,10.0,isabella chen,30.0,Female,Chinese,Airbnb,900,Airplane,1000.0,2022,11,2022,11,November,November,China +"Paris, France",126,France,Paris,2022-12-01,2023-01-01,8.0,jack smith,28.0,Male,American,Hostel,400,Airplane,700.0,2023,1,2022,12,December,January,United States +"Bali, Indonesia",127,Indonesia,Bali,2023-02-01,2023-02-01,8.0,katie johnson,33.0,Female,Canadian,Hotel,800,Airplane,800.0,2023,2,2023,2,February,February,Canada +"Paris, France",129,France,Paris,2023-05-01,2023-05-01,6.0,john doe,35.0,Male,American,Hotel,5000,Airplane,2500.0,2023,5,2023,5,May,May,United States +"Tokyo, Japan",130,Japan,Tokyo,2023-05-01,2023-05-01,7.0,jane smith,28.0,Female,British,Airbnb,7000,Train,1500.0,2023,5,2023,5,May,May,United Kingdom +"Cape Town, South Africa",131,South Africa,Cape Town,2023-06-01,2023-06-01,9.0,michael johnson,45.0,Male,South African,Hostel,3000,Private Car,2000.0,2023,6,2023,6,June,June,South African +"Sydney, Australia",132,Australia,Sydney,2023-06-01,2023-06-01,6.0,sarah lee,31.0,Female,Australian,Hotel,6000,Airplane,3000.0,2023,6,2023,6,June,June,Australian +"Rome, Italy",133,Italy,Rome,2023-07-01,2023-07-01,7.0,david kim,42.0,Male,Korean,Airbnb,4000,Train,1500.0,2023,7,2023,7,July,July,South Korea +"New York City, USA",134,USA,New York City,2023-07-01,2023-07-01,7.0,emily davis,27.0,Female,American,Hotel,8000,Airplane,2500.0,2023,7,2023,7,July,July,United States +"Rio de Janeiro, Brazil",135,Brazil,Rio de Janeiro,2023-08-01,2023-08-01,9.0,jose perez,37.0,Male,Brazilian,Hostel,2500,Private Car,2000.0,2023,8,2023,8,August,August,Brazil +"Vancouver, Canada",136,Canada,Vancouver,2023-08-01,2023-08-01,6.0,emma wilson,29.0,Female,Canadian,Hotel,5000,Airplane,3000.0,2023,8,2023,8,August,August,Canada +"Bangkok, Thailand",137,Thailand,Bangkok,2023-09-01,2023-09-01,7.0,ryan chen,34.0,Male,Chinese,Hostel,2000,Train,1000.0,2023,9,2023,9,September,September,China +"Barcelona, Spain",138,Spain,Barcelona,2023-09-01,2023-09-01,7.0,sofia rodriguez,25.0,Female,Spanish,Airbnb,6000,Airplane,2500.0,2023,9,2023,9,September,September,Spain +"Auckland, New Zealand",139,New Zealand,Auckland,2023-10-01,2023-10-01,7.0,william brown,39.0,Male,New Zealander,Hotel,7000,Train,2500.0,2023,10,2023,10,October,October,New Zealander diff --git a/data/clean/travel_trip_complete.parquet b/data/clean/travel_trip_complete.parquet new file mode 100644 index 0000000000000000000000000000000000000000..ba92e2e789ed0b49cdf3369fd03bedffdb085a29 GIT binary patch literal 20662 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 TJb%Ieh@rLcPr2a#Sor?|hX)ZA literal 0 HcmV?d00001 diff --git a/notebooks/clean_databse.ipynb b/notebooks/clean_databse.ipynb index 8d4fdf52..0bc4c93d 100644 --- a/notebooks/clean_databse.ipynb +++ b/notebooks/clean_databse.ipynb @@ -3,9 +3,7 @@ { "cell_type": "markdown", "id": "44384538-89c5-467f-93f1-ea71d83d7cba", - "metadata": { - "jp-MarkdownHeadingCollapsed": true - }, + "metadata": {}, "source": [ "# Creating a clean database" ] @@ -283,7 +281,9 @@ { "cell_type": "markdown", "id": "d008abb1-c592-4c7a-9f0c-4f74a1625544", - "metadata": {}, + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, "source": [ "## Christos code" ] @@ -3065,7 +3065,9 @@ { "cell_type": "markdown", "id": "e64d0c06-9952-45c9-b068-416cb9903e81", - "metadata": {}, + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, "source": [ "## Safina code" ] @@ -4090,7 +4092,9 @@ { "cell_type": "markdown", "id": "d269ab47-6761-4245-a4b8-83dc6cb9f8a4", - "metadata": {}, + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, "source": [ "## Hoaithuong code" ] From 1561fc46f6ca41980b1687923f02f4999d24cd75 Mon Sep 17 00:00:00 2001 From: Hoai Thuong TRAN Date: Tue, 9 Dec 2025 17:56:56 +0100 Subject: [PATCH 12/14] Add analysis for travel trip HoaiThuong --- .../analysis_travel_trip_hoaithuong.ipynb | 954 ++++++++++++++++++ 1 file changed, 954 insertions(+) create mode 100644 notebooks/analysis_travel_trip_hoaithuong.ipynb diff --git a/notebooks/analysis_travel_trip_hoaithuong.ipynb b/notebooks/analysis_travel_trip_hoaithuong.ipynb new file mode 100644 index 00000000..b900c750 --- /dev/null +++ b/notebooks/analysis_travel_trip_hoaithuong.ipynb @@ -0,0 +1,954 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "2d59f052-76ef-41c8-ae22-d76d2e3f7cb1", + "metadata": {}, + "source": [ + "# Calling the cleaned dataframe from the respective notebook" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "id": "f1d024cc-bea2-4cb3-bb4d-fb7fa0c48b1b", + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
destinationtrip_iddestination_countrydestination_citystart_dateend_dateduration_daystraveler_nametraveler_agetraveler_gender...accommodation_costtransportation_typetransportation_costend_yearend_monthstart_yearstart_monthstart_month_nameend_month_nametraveler_nationality_clean
0London, UK1UKLondon2023-05-012023-05-017.0john smith35.0Male...1200Flight600.02023520235MayMayUnited States
1Phuket, Thailand2ThailandPhuket2023-06-012023-06-015.0jane doe28.0Female...800Flight500.02023620236JuneJuneCanada
2Bali, Indonesia3IndonesiaBali2023-07-012023-07-017.0david lee45.0Male...1000Flight700.02023720237JulyJulySouth Korea
3New York, USA4USANew York2023-08-012023-08-0114.0sarah johnson29.0Female...2000Flight1000.02023820238AugustAugustUnited Kingdom
4Tokyo, Japan5JapanTokyo2023-09-012023-09-017.0kim nguyen26.0Female...700Train200.02023920239SeptemberSeptemberVietnamese
..................................................................
132Rio de Janeiro, Brazil135BrazilRio de Janeiro2023-08-012023-08-019.0jose perez37.0Male...2500Private Car2000.02023820238AugustAugustBrazil
133Vancouver, Canada136CanadaVancouver2023-08-012023-08-016.0emma wilson29.0Female...5000Airplane3000.02023820238AugustAugustCanada
134Bangkok, Thailand137ThailandBangkok2023-09-012023-09-017.0ryan chen34.0Male...2000Train1000.02023920239SeptemberSeptemberChina
135Barcelona, Spain138SpainBarcelona2023-09-012023-09-017.0sofia rodriguez25.0Female...6000Airplane2500.02023920239SeptemberSeptemberSpain
136Auckland, New Zealand139New ZealandAuckland2023-10-012023-10-017.0william brown39.0Male...7000Train2500.0202310202310OctoberOctoberNew Zealander
\n", + "

137 rows × 22 columns

\n", + "
" + ], + "text/plain": [ + " destination trip_id destination_country destination_city \\\n", + "0 London, UK 1 UK London \n", + "1 Phuket, Thailand 2 Thailand Phuket \n", + "2 Bali, Indonesia 3 Indonesia Bali \n", + "3 New York, USA 4 USA New York \n", + "4 Tokyo, Japan 5 Japan Tokyo \n", + ".. ... ... ... ... \n", + "132 Rio de Janeiro, Brazil 135 Brazil Rio de Janeiro \n", + "133 Vancouver, Canada 136 Canada Vancouver \n", + "134 Bangkok, Thailand 137 Thailand Bangkok \n", + "135 Barcelona, Spain 138 Spain Barcelona \n", + "136 Auckland, New Zealand 139 New Zealand Auckland \n", + "\n", + " start_date end_date duration_days traveler_name traveler_age \\\n", + "0 2023-05-01 2023-05-01 7.0 john smith 35.0 \n", + "1 2023-06-01 2023-06-01 5.0 jane doe 28.0 \n", + "2 2023-07-01 2023-07-01 7.0 david lee 45.0 \n", + "3 2023-08-01 2023-08-01 14.0 sarah johnson 29.0 \n", + "4 2023-09-01 2023-09-01 7.0 kim nguyen 26.0 \n", + ".. ... ... ... ... ... \n", + "132 2023-08-01 2023-08-01 9.0 jose perez 37.0 \n", + "133 2023-08-01 2023-08-01 6.0 emma wilson 29.0 \n", + "134 2023-09-01 2023-09-01 7.0 ryan chen 34.0 \n", + "135 2023-09-01 2023-09-01 7.0 sofia rodriguez 25.0 \n", + "136 2023-10-01 2023-10-01 7.0 william brown 39.0 \n", + "\n", + " traveler_gender ... accommodation_cost transportation_type \\\n", + "0 Male ... 1200 Flight \n", + "1 Female ... 800 Flight \n", + "2 Male ... 1000 Flight \n", + "3 Female ... 2000 Flight \n", + "4 Female ... 700 Train \n", + ".. ... ... ... ... \n", + "132 Male ... 2500 Private Car \n", + "133 Female ... 5000 Airplane \n", + "134 Male ... 2000 Train \n", + "135 Female ... 6000 Airplane \n", + "136 Male ... 7000 Train \n", + "\n", + " transportation_cost end_year end_month start_year start_month \\\n", + "0 600.0 2023 5 2023 5 \n", + "1 500.0 2023 6 2023 6 \n", + "2 700.0 2023 7 2023 7 \n", + "3 1000.0 2023 8 2023 8 \n", + "4 200.0 2023 9 2023 9 \n", + ".. ... ... ... ... ... \n", + "132 2000.0 2023 8 2023 8 \n", + "133 3000.0 2023 8 2023 8 \n", + "134 1000.0 2023 9 2023 9 \n", + "135 2500.0 2023 9 2023 9 \n", + "136 2500.0 2023 10 2023 10 \n", + "\n", + " start_month_name end_month_name traveler_nationality_clean \n", + "0 May May United States \n", + "1 June June Canada \n", + "2 July July South Korea \n", + "3 August August United Kingdom \n", + "4 September September Vietnamese \n", + ".. ... ... ... \n", + "132 August August Brazil \n", + "133 August August Canada \n", + "134 September September China \n", + "135 September September Spain \n", + "136 October October New Zealander \n", + "\n", + "[137 rows x 22 columns]" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandas as pd\n", + "\n", + "travel_trip_complete_hoaithuong_df = pd.read_parquet(\"../data/clean/travel_trip_complete.parquet\", engine=\"fastparquet\")\n", + "travel_trip_complete_hoaithuong_df" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "id": "0ec9b9e2-f3f1-4f73-a64c-473495fc02b3", + "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", + "
destinationtrip_iddestination_countrydestination_citystart_dateend_dateduration_daystraveler_nametraveler_agetraveler_gender...accommodation_costtransportation_typetransportation_costend_yearend_monthstart_yearstart_monthstart_month_nameend_month_nametraveler_nationality_clean
0London, UK1UKLondon2023-05-012023-05-017.0john smith35.0Male...1200Flight600.02023520235MayMayUnited States
1Phuket, Thailand2ThailandPhuket2023-06-012023-06-015.0jane doe28.0Female...800Flight500.02023620236JuneJuneCanada
2Bali, Indonesia3IndonesiaBali2023-07-012023-07-017.0david lee45.0Male...1000Flight700.02023720237JulyJulySouth Korea
3New York, USA4USANew York2023-08-012023-08-0114.0sarah johnson29.0Female...2000Flight1000.02023820238AugustAugustUnited Kingdom
4Tokyo, Japan5JapanTokyo2023-09-012023-09-017.0kim nguyen26.0Female...700Train200.02023920239SeptemberSeptemberVietnamese
\n", + "

5 rows × 22 columns

\n", + "
" + ], + "text/plain": [ + " destination trip_id destination_country destination_city start_date \\\n", + "0 London, UK 1 UK London 2023-05-01 \n", + "1 Phuket, Thailand 2 Thailand Phuket 2023-06-01 \n", + "2 Bali, Indonesia 3 Indonesia Bali 2023-07-01 \n", + "3 New York, USA 4 USA New York 2023-08-01 \n", + "4 Tokyo, Japan 5 Japan Tokyo 2023-09-01 \n", + "\n", + " end_date duration_days traveler_name traveler_age traveler_gender ... \\\n", + "0 2023-05-01 7.0 john smith 35.0 Male ... \n", + "1 2023-06-01 5.0 jane doe 28.0 Female ... \n", + "2 2023-07-01 7.0 david lee 45.0 Male ... \n", + "3 2023-08-01 14.0 sarah johnson 29.0 Female ... \n", + "4 2023-09-01 7.0 kim nguyen 26.0 Female ... \n", + "\n", + " accommodation_cost transportation_type transportation_cost end_year \\\n", + "0 1200 Flight 600.0 2023 \n", + "1 800 Flight 500.0 2023 \n", + "2 1000 Flight 700.0 2023 \n", + "3 2000 Flight 1000.0 2023 \n", + "4 700 Train 200.0 2023 \n", + "\n", + " end_month start_year start_month start_month_name end_month_name \\\n", + "0 5 2023 5 May May \n", + "1 6 2023 6 June June \n", + "2 7 2023 7 July July \n", + "3 8 2023 8 August August \n", + "4 9 2023 9 September September \n", + "\n", + " traveler_nationality_clean \n", + "0 United States \n", + "1 Canada \n", + "2 South Korea \n", + "3 United Kingdom \n", + "4 Vietnamese \n", + "\n", + "[5 rows x 22 columns]" + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_complete_hoaithuong_df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "id": "8d38e217-f527-4baa-937a-8178bcb82af0", + "metadata": {}, + "outputs": [], + "source": [ + "# 3. Trip duration correlates with certain accommodation types" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "id": "e6d750c1-c3aa-41a0-921f-1d12ffd98e1c", + "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", + "
accommodation_typecountmeanminmax
0Airbnb307.7666675.011.0
1Hostel248.2916675.011.0
2Hotel607.2166675.014.0
3Resort147.7142865.011.0
4Vacation rental47.7500006.09.0
5Villa57.6000006.011.0
\n", + "
" + ], + "text/plain": [ + " accommodation_type count mean min max\n", + "0 Airbnb 30 7.766667 5.0 11.0\n", + "1 Hostel 24 8.291667 5.0 11.0\n", + "2 Hotel 60 7.216667 5.0 14.0\n", + "3 Resort 14 7.714286 5.0 11.0\n", + "4 Vacation rental 4 7.750000 6.0 9.0\n", + "5 Villa 5 7.600000 6.0 11.0" + ] + }, + "execution_count": 50, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "duration_stats = travel_trip_complete_hoaithuong_df.groupby('accommodation_type')['duration_days'].agg(['count', 'mean', 'min', 'max']).reset_index()\n", + "duration_stats" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "id": "1b1949ae-73f9-4831-9542-4d70ef502ce2", + "metadata": {}, + "outputs": [], + "source": [ + "#Airbnb: 30 trips, average duration ~7.8 days, shortest 5 days, longest 11 days.\n", + "#Hostel: 24 trips, average duration ~8.3 days, shortest 5 days, longest 11 days.\n", + "#Hotel: 60 trips, average duration ~7.2 days, shortest 5 days, longest 14 days.\n", + "#Resort: 14 trips, average duration ~7.7 days, shortest 5 days, longest 11 days.\n", + "#Vacation rental: 4 trips, average duration ~7.8 days, shortest 6 days, longest 9 days.\n", + "#Villa: 5 trips, average duration ~7.6 days, shortest 6 days, longest 11 days.\n", + "#Interpretation: \n", + " #Hotels have the highest number of trips and the longest maximum duration.\n", + " #Hostels tend to have slightly longer average trips than other accommodations. \n", + " #Vacation rentals and Villas are less frequent but have moderate durations." + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "id": "f311b445-b9f8-4300-9c5b-68e7015df4cf", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0oAAAIhCAYAAABwnkrAAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAcw9JREFUeJzt3Xd4VGX6//HPyYRUUiCEmtCRHoqwArLSRVTECgoKLNgFBAHbLlIsCK6IFVaqrojCV2QVCyJSBUSaiFQhGEoQQ0lICAnJPL8/+GXITCYhA0kmCe/XdXHp3KfMfZ/nzJm5c86csYwxRgAAAAAABx9vJwAAAAAAxQ2NEgAAAAC4oFECAAAAABc0SgAAAADggkYJAAAAAFzQKAEAAACACxolAAAAAHBBowQAAAAALmiUAAAAAMAFjRKAImdZVr7+rVy50u3yHTt2VMeOHQssn4MHDzo9b5kyZRQREaHWrVtrxIgR+u233wrsuS7Xxx9/rKlTp7qdZlmWxo0bV6T5SNK4ceNkWZYSEhKK7DnvvPNOWZalIUOGFNlzlnYDBw5UzZo1L2vZ9957T3Pnzs0Rz3pNuZtWWFxfx3n9O3jwYJHlBaDk8vV2AgCuPuvXr3d6/OKLL2rFihX64YcfnOKNGjVyu/x7771XKHkNHTpUffv2ld1u1+nTp7V161bNnj1bb7/9tiZOnKjRo0cXyvPmx8cff6wdO3Zo+PDhOaatX79eUVFRRZ9UETt+/LiWLFkiSZo3b57+/e9/KyAgwMtZXd3ee+89VahQQQMHDnSKV6lSRevXr1edOnWKLJes58zu8ccfV2JioubNm5djXgC4FBolAEWuTZs2To8jIyPl4+OTI+7q7NmzCgoKyrWBulLVq1d3yuHmm2/WU089pTvvvFNPP/20mjRpoh49ehTIc6WmpiowMLBA1nWp7VZafPjhhzp//rxuueUWffXVV1q0aJH69u3r7bTghr+/f5Hvl+6eMzQ0VOnp6VfNawRAweLSOwDFUseOHdWkSROtXr1a7dq1U1BQkAYNGuSYlv3Su6xLbiZPnqyXX35Z1atXV0BAgFq1aqXly5dfUR6BgYGaNWuWypQpo9dee80Rz7rszNXcuXNzXNpTs2ZN3XrrrVq0aJFatGihgIAAjR8/XpL07rvv6oYbblDFihUVHByspk2bavLkyTp//rzTtvjqq6/0xx9/OF0+lMXdpXc7duxQr169VK5cOQUEBKh58+b64IMPnOZZuXKlLMvS/Pnz9c9//lNVq1ZVaGiounbtqj179uR7Gx06dEh33nmnQkNDFRYWpvvvv19//fWXY/rgwYNVvnx5nT17NseynTt3VuPGjfP1PLNnz1alSpX0wQcfKDAwULNnz3Y7308//aSePXsqIiJCAQEBqlOnTo4zcbt379Z9992nSpUqyd/fX9WrV1f//v2VlpbmmMeTbfjxxx/rmWeeUZUqVVS2bFn17NlTf/75p86cOaOHH35YFSpUUIUKFfSPf/xDycnJTuvIupRwzpw5ql+/vgIDA9WqVStt2LBBxhi99tprqlWrlsqWLavOnTvr999/d7ttmjVrpoCAAJUvX1533HGHdu3alWO+uXPnqn79+vL391fDhg314Ycfut2G48eP13XXXafy5csrNDRULVu21KxZs2SMccxTs2ZN/fbbb1q1apVjn8y6hC+3S+/Wrl2rLl26KCQkREFBQWrXrp2++uqrHDlalqUVK1boscceU4UKFRQREaE777xTR48edZtvfnXp0kUNGjRwqkOSjDGqW7eubrnlFqf883tM2bdvn/r27auKFSs6tu277757RbkCKAYMAHjZgAEDTHBwsFOsQ4cOpnz58iY6Otq8/fbbZsWKFWbVqlWOaR06dHDMGxsbaySZ6Oho0759e/PZZ5+ZhQsXmtatW5syZcqYdevW5fn8Wcu/9tpruc7Tpk0b4+/vb86fP2+MMWbs2LHG3SF0zpw5RpKJjY11xGrUqGGqVKliateubWbPnm1WrFhhNm7caIwxZsSIEWbatGnm22+/NT/88IN54403TIUKFcw//vEPx/K//fabuf76603lypXN+vXrHf+ySDJjx451PN69e7cJCQkxderUMR9++KH56quvzH333WckmUmTJjnmW7FihZFkatasafr162e++uorM3/+fFO9enVTr149k5GRked2y9oGNWrUMKNHjzZLly41U6ZMMcHBwaZFixYmPT3dGGPML7/8YiSZGTNmOC3/22+/GUnm3XffzfN5jDHmxx9/NJLM6NGjjTHG3H///cayLHPgwAGn+b799ltTpkwZExMTY+bOnWt++OEHM3v2bHPvvfc65tm2bZspW7asqVmzppk+fbpZvny5+eijj0zv3r1NUlLSZW3DGjVqmIED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Ng0LC9OAAQM0c+ZMjRo1SnPmzFHfvn0VHh6eY95LHVPKlCnjOCuWW9Nfq1atgi4BQBHhjBKAUmPRokVOf6k/c+aMvvzyS/3973+XzWa7rHWmpqbqwQcfVEZGhp5++mlHPOvuXtu3b3ea/8svv8z3urOap+yNljFGM2bMyDGvv79/vv+S3qVLF/3www857hD24YcfKigoqMBvlez6GzULFixQRkZGjh8FfvDBB+Xn56d+/fppz549+frR2F27dmn9+vW66667tGLFihz/unTpov/97386ceKErrnmGtWpU0ezZ892untddoGBgerQoYMWLlyY51/6i3obXq62bdsqMDBQH330kVP88OHDjssHJal+/fqqUqWK5s+f73QZ6R9//KF169Y5LWtZlnx9fZ1eM6mpqfrvf/+b4/nzu18GBwfruuuu06JFi5zmt9vt+uijjxQVFeX20tTCMmzYMCUkJOjuu+/W6dOnc90XL3VMCQoKUqdOnbR161bFxMSoVatWOf65nhkDUHJwRglAqWGz2dStWzc99dRTstvtmjRpkpKSkhy34r6UuLg4bdiwQXa7XYmJiY4fnP3jjz/0+uuvOy5Hki78xlL58uU1ePBgTZgwQb6+vpo7d64OHTqU73y7desmPz8/3XfffXr66ad17tw5TZs2TadOncoxb9OmTbVo0SJNmzZN1157rXx8fNSqVSu36x07dqyWLFmiTp066YUXXlD58uU1b948ffXVV5o8ebLCwsLynWN+LFq0SL6+vurWrZt+++03jRkzRs2aNVPv3r2d5gsPD1f//v01bdo01ahRQz179rzkurPOJj399NP629/+lmP6mTNntHz5cn300Ud68skn9e6776pnz55q06aNRowYoerVqysuLk5Lly51NHRTpkxR+/btdd111+nZZ59V3bp19eeff+qLL77Qf/7zH4WEhBT5Nrxc4eHhGjNmjJ5//nn1799f9913n06cOKHx48crICBAY8eOlXThjN6LL76oBx98UHfccYceeughnT59WuPGjctxedktt9yiKVOmqG/fvnr44Yd14sQJ/fvf/3Zq6LM0bdpUn3zyiT799FPVrl1bAQEBatq0qdtcJ06cqG7duqlTp04aNWqU/Pz89N5772nHjh2aP3++x2eQr8Q111yjm266Sd98843at2+vZs2auZ0vP8eUN998U+3bt9ff//53PfbYY6pZs6bOnDmj33//XV9++WWOH9IGUIJ4914SAJD7Xe+y363KdZq7u95NmjTJjB8/3kRFRRk/Pz/TokULs3Tp0ks+f9byWf9sNpspV66cufbaa83w4cPNb7/95na5jRs3mnbt2png4GBTrVo1M3bsWDNz5ky3d7275ZZb3K7jyy+/NM2aNTMBAQGmWrVqZvTo0eabb74xksyKFSsc8508edLcfffdJjw83FiW5XTHPbnc9c4YY3799VfTs2dPExYWZvz8/EyzZs2c7kBmzMU7ti1cuNDt9nCd31XWXe82b95sevbsacqWLWtCQkLMfffd57g7oKuVK1caSebVV1/Nc93GGJOenm4qVqyY42552WVkZJioqCjTtGlTR2z9+vWmR48eJiwszPj7+5s6derkuDPfzp07zT333GMiIiKMn5+fqV69uhk4cKA5d+6cY54r2YZZd277+eefneJZ2+yvv/5yxCSZJ554wmm+3O7EmNvzzZw508TExBg/Pz8TFhZmevXq5Xa/nTlzpqlXr57x8/Mz11xzjZk9e7YZMGBAjrvezZ4929SvX9/4+/ub2rVrm4kTJ5pZs2bl2LcPHjxobrzxRhMSEuK4zXn2/F2315o1a0znzp1NcHCwCQwMNG3atDFffvllvrZdVu3ZXxeXktdxZO7cuUaS063Js3h6TImNjTWDBg0y1apVM2XKlDGRkZGmXbt25qWXXsp3rgCKH8uYK7yVEwB42cGDB1WrVi299tprGjVqlLfTQR5GjhypadOm6dChQ1ySBK+66667tGHDBh08eFBlypRxmsYxBYDEpXcAgCKwYcMG7d27V++9954eeeQRmiR4RVpamrZs2aKNGzfq888/15QpU3I0SQCQhUYJAFDo2rZtq6CgIN1666166aWXvJ0OrlLx8fFq166dQkND9cgjj2jo0KHeTglAMcaldwAAAADggtuDAwAAAIALGiUAAAAAcEGjBAAAAAAuSv3NHOx2u44ePaqQkJAi/TE7AAAAAMWLMUZnzpxR1apV5eOT9zmjUt8oHT16VNHR0d5OAwAAAEAxcejQIUVFReU5T6lvlEJCQiRd2BihoaFezgYAAACAtyQlJSk6OtrRI+Sl1DdKWZfbhYaG0igBAAAAyNdXcriZAwAAAAC4oFECAAAAABc0SgAAAADggkYJAAAAAFzQKAEA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Vf369SvQ5wEAAACA7DxulOx2e44v3EnS4cOHFRISUiBJZXfrrbfq1ltvLfD1AgAAAEBuPL70rlu3bpo6darjsWVZSk5O1tixY3XzzTcXZG4AAAAA4BUen1F644031KlTJzVq1Ejnzp1T3759tW/fPlWoUEHz588vjBwBAAAAoEh53ChVrVpV27Zt0/z587VlyxbZ7XYNHjxY/fr1c7q5AwAAAACUVJf1O0qBgYEaNGiQBg0aVND5AAAAAIDXedwoffHFF27jlmUpICBAdevWVa1ata44MQAAAADwFo8bpdtvv12WZckY5995zopZlqX27dtr8eLFKleuXIElCgAAAABFxeO73i1btkytW7fWsmXLlJiYqMTERC1btkx/+9vftGTJEq1evVonTpzQqFGjCiNfAAAAACh0Hp9RevLJJ/X++++rXbt2jliXLl0UEBCghx9+WL/99pumTp3K95cAAAAAlFgen1Hav3+/QkNDc8RDQ0N14MABSVK9evWUkJBw5dkBAAAAgBd43Chde+21Gj16tP766y9H7K+//tLTTz+t1q1bS5L27dunqKiogssSAAAAAIqQx5fezZo1S7169VJUVJSio6NlWZbi4uJUu3Zt/e9//5MkJScna8yYMQWeLAAAAAAUBY8bpfr162vXrl1aunSp9u7dK2OMGjRooG7dusnH58IJqttvv72g8wQAAACAInNZPzhrWZZuuukm3XTTTQWdDwAAAAB43WU1SikpKVq1apXi4uKUnp7uNG3YsGEFkhgAAAAAeIvHjdLWrVt188036+zZs0pJSVH58uWVkJCgoKAgVaxYkUYJAAAAQInn8V3vRowYoZ49e+rkyZMKDAzUhg0b9Mcff+jaa6/Vv//978LIEQAAAACKlMeN0rZt2zRy5EjZbDbZbDalpaUpOjpakydP1vPPP18YOQIAAABAkfK4USpTpowsy5IkVapUSXFxcZKksLAwx/8DAAAAQEnm8XeUWrRooU2bNumaa65Rp06d9MILLyghIUH//e9/1bRp08LIEQAAAACKlMdnlF555RVVqVJFkvTiiy8qIiJCjz32mI4fP67333+/wBMEAAAAgKLm0RklY4wiIyPVuHFjSVJkZKS+/vrrQkkMAAAAALzFozNKxhjVq1dPhw8fLqx8AAAAAMDrPGqUfHx8VK9ePZ04caKw8gEAAAAAr/P4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brhBERERXsgOrmiUSrmUlBQtWLBAjz32mG699VbNnTvXMc31L89z585VeHi4lixZokaNGsnf39/phTx+/HhVrFhRoaGheuSRR5Senu6Y1rFjRw0bNkxPP/20ypcvr8qVK2vcuHE58sn6S1lgYKBq1aqlhQsXFlbpcOOzzz5T48aN5e/vr5o1a+r11193mv7ee++pXr16CggIUKVKlXT33XdLuvCX7lWrVunNN990/MX74MGDkqSdO3fq5ptvVtmyZVWpUiU98MADSkhIKOrSkIu8xrxjx476448/NGLECMe4Zlm3bp1uuOEGBQYGKjo6WsOGDVNKSoo3Sriq+Pv7q3LlyoqKitKNN96oPn366LvvvnNMnzNnjho2bKiAgAA1aNBA7733nmNaenq6hgwZoipVqiggIEA1a9bUxIkTHdPj4uLUq1cvlS1bVqGhoerdu7f+/PNPx/SsMxyzZ89W7dq15e/vrwEDBuT62i+pbr31VlWsWNHp/VCSzp49q08//VSDBw/WiRMndN999ykqKkpBQUFq2rSp5s+f7zS/3W7XpEmTVLduXfn7+6t69ep6+eWXHdOfeeYZXXPNNQoKClLt2rU1ZswYR0Myd+5cjR8/Xr/88otju2bl43rp3a+//qrOnTsrMDBQERERevjhh5WcnOyYnnV2+d///reqVKmiiIgIPfHEE3k2P+7G2hijxMREPfzww473+s6dO+uXX37Jsdx///tf1axZU2FhYbr33nt15swZRy7u9pfMzEwNHjxYtWrVUmBgoOrXr68333zTo3ErLfKz/+V2tjE3H330kVq1aqWQkBBVrlxZffv21fHjxws28asUjVIp9+mnn6p+/fqqX7++7r//fs2ZM0d5/XTW2bNnNXHiRM2cOVO//fabKlasKElavny5du3apRUrVmj+/Pn6/PPPNX78eKdlP/jgAwUHB+unn37S5MmTNWHCBC1btsxpnjFjxuiuu+7SL7/8ovvvv1/33Xefdu3aVfCFI4fNmzerd+/euvfee/Xrr79q3LhxGjNmjONgvWnTJg0bNkwTJkzQnj179O233+qGG26QJL355ptq27atHnroIcXHxys+Pl7R0dGKj49Xhw4d1Lx5c23atEnffvut/vzzT/Xu3duLlSLLpcZ80aJFioqKcvygd3x8vKQLH8y6d++uO++8U9u3b9enn36qtWvXasiQIV6s5upz4MABffvttypTpowkacaMGfrnP/+pl19+Wbt27dIrr7yiMWPG6IMPPpAkvfXWW/riiy+0YMEC7dmzRx999JFq1qwpSTLG6Pbbb9fJkye1atUqLVu2TPv371efPn2cnvP333/XggUL9Nlnn2nbtm1666233L72SzJfX1/1799fc+fOdXo/XLhwodLT09WvXz+dO3dO1157rZYsWaIdO3bo4Ycf1gMPPKCffvrJMf9zzz2nSZMmacyYMdq5c6c+/vhjVapUyTE9JCREc+fO1c6dO/Xmm29qxowZeuONNyRJffr00ciRI9W4cWPHdnUdC+nCe/JNN92kcuXK6eeff9bChQv1/fff53gtrlixQvv379eKFSv0wQcfaO7cuTk+iLtyHWtJuuWWW3Ts2DF9/fXX2rx5s1q2bKkuXbro5MmTjuX279+vxYsXa8mSJVqyZIlWrVqlV199VVLu7xV2u11RUVFasGCBdu7cqRdeeEHPP/+8FixYkL9BK0Xys/95Kj09XS+++KJ++eUXLV68WLGxsRo4cGABZn0VMyjV2rVrZ6ZOnWqMMeb8+fOmQoUKZtmyZcYYY1asWGEkmVOnThljjJkzZ46RZLZt2+a0jgEDBpjy5cublJQUR2zatGmmbNmyJjMz0xhjTIcOHUz79u2dlmvdurV55plnHI8lmUcffdRpnuuuu8489thjBVPsVWzAgAHGZrOZ4OBgp38BAQGOMe7bt6/p1q2b03KjR482jRo1MsYY89lnn5nQ0FCTlJTk9jk6dOhgnnzySafYmDFjzI033ugUO3TokJFk9uzZk+tyuHIFMebGGFOjRg3zxhtvOM3zwAMPmIcfftgptmbNGuPj42NSU1NzXQ5XJvuYZo2jJDNlyhRjjDHR0dHm448/dlrmxRdfNG3btjXGGDN06FDTuXNnY7fbc6z7u+++MzabzcTFxTliv/32m5FkNm7caIwxZuzYsaZMmTLm+PHjTsuWxtfwrl27jCTzww8/OGI33HCDue+++3Jd5uabbzYjR440xhiTlJRk/P39zYwZM/L9nJMnTzbXXnut4/HYsWNNs2bNcswnyXz++efGGGPef/99U65cOZOcnOyY/tVXXxkfHx9z7NgxY8yF/aZGjRomIyPDMc8999xj+vTpk2su7sZ6+fLlJjQ01Jw7d85p3jp16pj//Oc/juWCgoKc3idGjx5trrvuOsfj/O4vjz/+uLnrrrscjwcMGGB69ep1yeVKg0vtf677huu2udQ23rhxo5Fkzpw5U9CpX3U4o1SK7dmzRxs3btS9994r6cJfMfr06aPZs2fnuoyfn59iYmJyxJs1a6agoCDH47Zt2yo5OVmHDh1yxFyXq1KlSo5Tv23bts3xmDNKBaNTp07atm2b07+ZM2c6pu/atUvXX3+90zLXX3+99u3bp8zMTHXr1k01atRQ7dq19cADD2jevHk6e/Zsns+5efNmrVixQmXLlnX8a9CggaQLf3VE4brSMc/N5s2bNXfuXKdx7d69u+x2u2JjYwutHlwc059++klDhw5V9+7dNXToUP311186dOiQBg8e7DQuL730kuO1NnDgQG3btk3169fXsGHDnC7Z27Vrl6Kjo53OBjVq1Ejh4eFOx+AaNWooMjKy6Ar2kgYNGqhdu3aO98P9+/drzZo1GjRokKQL39F9+eWXFRMTo4iICJUtW1bfffed43u+u3btUlpamrp06ZLrc/zf//2f2rdvr8qVK6ts2bIaM2aM0/eE82PXrl1q1qyZgoODHbHrr79edrtde/bsccQaN24sm83meOzu/deV61hv3rxZycnJjnqz/sXGxjodz2vWrKmQkBCPnkuSpk+frlatWikyMlJly5bVjBkzPN4epcWl9j9Pbd26Vb169VKNGjUUEhKijh07StJVu30Lkq+3E0DhmTVrljIyMlStWjVHzBijMmXK5HoXpcDAwFxv7uBO9nmzLg/JPi0/N4Pw5PmQu+DgYNWtW9cpdvjwYcf/G2NybGuT7bR/SEiItmzZopUrV+q7777TCy+8oHHjxunnn39WeHi42+e02+3q2bOnJk2alGNalSpVrqAa5MeVjnlu7Ha7HnnkEQ0bNizHtOrVq19mtsiP7GP61ltvqVOnTho/frzjUqsZM2bouuuuc1om6wNyy5YtFRsbq2+++Ubff/+9evfura5du+r//u//3O4LUs59JPsH8tJu8ODBGjJkiN59913NmTNHNWrUcDQ+r7/+ut544w1NnTpVTZs2VXBwsIYPH+74bm5gYGCe696wYYPuvfdejR8/Xt27d1dYWJg++eSTHN8LvZTcxk268vdf17G22+2qUqWKVq5cmWPe7O8Bl/NcCxYs0IgRI/T666+rbdu2CgkJ0WuvveZ0KePVJq/9zxMpKSm68cYbdeONN+qjjz5SZGSk4uLi1L17d6fvkuPy0CiVUhkZGfrwww/1+uuv68Ybb3Sadtddd2nevHlq0qRJvtf3yy+/KDU11fHmsGHDBpUtW1ZRUVEe5bVhwwb179/f6XGLFi08WgcuT6NGjbR27Vqn2Lp163TNNdc4Pmj5+vqqa9eu6tq1q8aOHavw8HD98MMPuvPOO+Xn55fjLETLli312WefqWbNmvL15XBS3ORnzHMb199++y1HE4aiN3bsWPXo0UOPPfaYqlWrpgMHDuT5HYbQ0FD16dNHffr00d13362bbrpJJ0+eVKNGjRQXF6dDhw45zirt3LlTiYmJatiwYZ45uNtHSoPevXvrySef1Mcff6wPPvhADz30kKP5WLNmjXr16qX7779f0oUmYt++fY5tVa9ePQUGBmr58uV68MEHc6z7xx9/VI0aNfTPf/7TEXO9y1l+tmujRo30wQcfKCUlxdHY/Pjjj/Lx8dE111xz+cW70bJlSx07dky+vr6O77ZdDnd1rVmzRu3atXO6g+PVftVBXvufJ3bv3q2EhAS9+uqrjtf2pk2bCjrdqxaX3pVSS5Ys0alTpzR48GA1adLE6d/dd9+tWbNmebS+9PR0DR48WDt37tQ333yjsWPHasiQIfLx8WwXWrhwoWbPnq29e/dq7Nix2rhxI18QLyIjR47U8uXL9eKLL2rv3r364IMP9M4772jUqFGSLuwzb731lrZt26Y//vhDH374oex2u+rXry/pwuUWP/30kw4ePKiEhATZ7XY98cQTOnnypO677z5t3LhRBw4c0HfffadBgwaVyg9WJc2lxly6MK6rV6/WkSNHHHcrfOaZZ7R+/Xo98cQT2rZtm/bt26cvvvhCQ4cO9VYpV62OHTuqcePGeuWVVzRu3DhNnDhRb775pvbu3atff/1Vc+bM0ZQpUyRJb7zxhj755BPt3r1be/fu1cKFC1W5cmWFh4era9euiomJUb9+/bRlyxZt3LhR/fv3V4cOHdSqVas8c3D32i8NypYtqz59+uj555/X0aNHnb78XrduXS1btkzr1q3Trl279Mgjj+jYsWOO6QEBAXrmmWf09NNP68MPP9T+/fu1YcMGx3tr3bp1FRcXp08++UT79+/XW2+9pc8//9zp+WvWrKnY2Fht27ZNCQkJSktLy5Fjv379FBAQoAEDBmjHjh1asWKFhg4dqgceeMDpxhEFoWvXrmrbtq1uv/12LV26VAcPHtS6dev0r3/9y6MP3u72l7p162rTpk1aunSp9u7dqzFjxujnn38u0PxLmrz2P09Ur15dfn5+evvtt3XgwAF98cUXevHFFws22asYjVIpNWvWLHXt2tXtj8nedddd2rZtm0c/qNelSxfVq1dPN9xwg3r37q2ePXu6vf33pYwfP16ffPKJYmJi9MEHH2jevHlq1KiRx+uB51q2bKkFCxbok08+UZMmTfTCCy9owoQJjoNzeHi4Fi1apM6dO6thw4aaPn265s+fr8aNG0uSRo0aJZvNpkaNGjlO7VetWlU//vijMjMz1b17dzVp0kRPPvmkwsLCPG6iUfAuNeaSNGHCBB08eFB16tRxfF8hJiZGq1at0r59+/T3v/9dLVq00JgxY7ic0kueeuopzZgxQ927d9fMmTM1d+5cNW3aVB06dNDcuXNVq1YtSRc+eE2aNEmtWrVS69atdfDgQX399dfy8fFx3HK6XLlyuuGGG9S1a1fVrl1bn3766SWf391rv7QYPHiwTp06pa5duzpdVjpmzBi1bNlS3bt3V8eOHVW5cuUcP/A8ZswYjRw5Ui+88IIaNmyoPn36OL6r06tXL40YMUJDhgxR8+bNtW7dOo0ZM8Zp+bvuuks33XSTOnXqpMjIyBy3H5ekoKAgLV26VCdPnlTr1q119913q0uXLnrnnXcKfFtYlqWvv/5aN9xwgwYNGqRrrrlG9957rw4ePOhRU+Zuf3n00Ud15513qk+fPrruuut04sQJr/0+WHGS2/7nicjISM2dO1cLFy5Uo0aN9Oqrr+rf//53AWd69bJMfi5YBwAAAICrCH/yBQAAAAAXNEoAAAAA4IJGCQAAAABc0CgBAAAAgAsaJQAAAABwQaMEAAAAAC5olAAAAADABY0SAAAAALigUQIAXBVWrlwpy7J0+vTpYrEeAEDxRqMEAKXIunXrZLPZdNNNN3k7lVKhY8eOGj58uFOsXbt2io+PV1hYWKE9r2VZef4bOHBgoT03AOACX28nAAAoOLNnz9bQoUM1c+ZMxcXFqXr16t5OqdTx8/NT5cqVC/U54uPjHf//6aef6oUXXtCePXscscDAwEJ9fgAAZ5QAoNRISUnRggUL9Nhjj+nWW2/V3Llzc8zzxRdfqFWrVgoICFCFChV05513OqalpaXp6aefVnR0tPz9/VWvXj3NmjXLMX3VqlX629/+Jn9/f1WpUkXPPvusMjIyHNM7duyooUOHavjw4SpXrpwqVaqk999/XykpKfrHP/6hkJAQ1alTR998841jmazL2JYuXaoWLVooMDBQnTt31vHjx/XNN9+oYcOGCg0N1X333aezZ8865Tps2DBVrFhRAQEBat++vX7++WenWr/++mtdc801CgwMVKdOnXTw4EGn6SdOnNB9992nqKgoBQUFqWnTppo/f75j+sCBA7Vq1Sq9+eabjjM5Bw8edHvp3WeffabGjRvL399fNWvW1Ouvv+70XDVr1tQrr7yiQYMGKSQkRNWrV9f777+f61hWrlzZ8S8sLEyWZaly5cqqVKmS2rdvrxkzZjjNv2PHDvn4+Gj//v2SLpyRmjZtmnr06KHAwEDVqlVLCxcudFrmyJEj6tOnj8qVK6eIiAj16tUrxzYCgKuaAQCUCrNmzTKtWrUyxhjz5Zdfmpo1axq73e6YvmTJEmOz2cwLL7xgdu7cabZt22Zefvllx/TevXub6Ohos2jRIrN//37z/fffm08++cQYY8zhw4dNUFCQefzxx82uXbvM559/bipUqGDGjh3rWL5Dhw4mJCTEvPjii2bv3r3mxRdfND4+PqZHjx7m/fffN3v37jWPPfaYiYiIMCkpKcYYY1asWGEkmTZt2pi1a9eaLVu2mLp165oOHTqYG2+80WzZssWsXr3aREREmFdffdXxXMOGDTNVq1Y1X3/9tfntt9/MgAEDTLly5cyJEyeMMcbExcUZf39/8+STT5rdu3ebjz76yFSqVMlIMqdOnXLU9Nprr5mtW7ea/fv3m7feesvYbDazYcMGY4wxp0+fNm3btjUPPfSQiY+PN/Hx8SYjI8ORc9Z6Nm3aZHx8fMyECRPMnj17zJw5c0xgYKCZM2eOI98aNWqY8uXLm3fffdfs27fPTJw40fj4+Jhdu3ZdclznzJljwsLCHI9ffvll06hRI6d5RowYYW644QbHY0kmIiLCzJgxw+zZs8f861//MjabzezcudMYY0xKSoqpV6+eGTRokNm+fbvZuXOn6du3r6lfv75JS0u7ZE4AcDWgUQKAUqJdu3Zm6tSpxhhjzp8/bypUqGCWLVvmmN62bVvTr18/t8vu2bPHSHKaP7vnn3/e1K9f36nxevfdd03ZsmVNZmamMeZCo9S+fXvH9IyMDBMcHGweeOABRyw+Pt5IMuvXrzfGXGyUvv/+e8c8EydONJLM/v37HbFHHnnEdO/e3RhjTHJysilTpoyZN2+eY3p6erqpWrWqmTx5sjHGmOeee840bNjQKd9nnnnGqcFx5+abbzYjR450PO7QoYN58sknneZxbZT69u1runXr5jTP6NGjnZqZGjVqmPvvv9/x2G63m4oVK5pp06blmksW10bp6NGjxmazmZ9++slRe2RkpJk7d65jHknm0UcfdVrPddddZx577DFjzIWm2nU809LSTGBgoFm6dOklcwKAqwGX3gFAKbBnzx5t3LhR9957ryTJ19dXffr00ezZsx3zbNu2TV26dHG7/LZt22Sz2dShQwe303ft2qW2bdvKsixH7Prrr1dycrIOHz7siMXExDj+32azKSIiQk2bNnXEKlWqJEk6fvy40/qzL1epUiUFBQWpdu3aTrGsZfbv36/z58/r+uuvd0wvU6aM/va3v2nXrl2OfNu0aeOUb9u2bZ2eMzMzUy+//LJiYmIUERGhsmXL6rvvvlNcXJzbbZCbXbt2OeUiXdg2+/btU2Zmptsasy6lc90O+VGlShXdcsstjrFdsmSJzp07p3vuucdpPtd627Zt69g+mzdv1u+//66QkBCVLVtWZcuWVfny5XXu3DnH5XsAcLXjZg4AUArMmjVLGRkZqlatmiNmjFGZMmV06tQplStXLs8bAFzq5gDGGKemIysmySlepkwZp3ksy3KKZc1rt9ud5nOdx916spZx97yuOWbNk5fXX39db7zxhqZOnaqmTZsqODhYw4cPV3p6+iWXze15s8dc5VWTpx588EE98MADeuONNzRnzhz16dNHQUFBl1wu+/a/9tprNW/evBzzREZGXlZOAFDacEYJAEq4jIwMffjhh3r99de1bds2x79ffvlFNWrUcHwYjomJ0fLly92uo2nTprLb7Vq1apXb6Y0aNdK6deucGoB169YpJCTEqTkrCnXr1pWfn5/Wrl3riJ0/f16bNm1Sw4YNHflu2LDBaTnXx2vWrFGvXr10//33q1mzZqpdu7b27dvnNI+fn5/TWSF3GjVq5JSLdGHbXHPNNbLZbB7Xlx8333yzgoODNW3aNH3zzTcaNGhQjnnc1d+gQQNJUsuWLbVv3z5VrFhRdevWdfpXmLc9B4CShEYJAEq4JUuW6NSpUxo8eLCaNGni9O/uu+923Llu7Nixmj9/vsaOHatdu3bp119/1eTJkyVduCvbgAEDNGjQIC1evFixsbFauXKlFixYIEl6/PHHdejQIQ0dOlS7d+/W//73P40dO1ZPPfWUfHyK9q0kODhYjz32mEaPHq1vv/1WO3fu1EMPPaSzZ89q8ODBkqRHH31U+/fv11NPPaU9e/bo448/znEXwLp162rZsmVat26ddu3apUceeUTHjh1zmqdmzZr66aefdPDgQSUkJLg9AzRy5EgtX75cL774ovbu3asPPvhA77zzjkaNGlVo28Bms2ngwIF67rnnVLdu3RyX2UnSwoULNXv2bO3du1djx47Vxo0bNWTIEElSv379VKFCBfXq1Utr1qxRbGysVq1apSeffNLpUkoAuJrRKAFACTdr1ix17drV7ZmAu+66S9u2bdOWLVvUsWNHLVy4UF988YWaN2+uzp0766effnLMO23aNN199916/PHH1aBBAz300ENKSUmRJFWrVk1ff/21Nm7cqGbNmunRRx/V4MGD9a9//avI6szu1Vdf1V133aUHHnhALVu21O+//66lS5eqXLlykqTq1avrs88+05dffqlmzZpp+vTpeuWVV5zWMWbMGLVs2VLdu3dXx44dVblyZd1+++1O84waNUo2m02NGjVSZGSk2+8vtWzZUgsWLNAnn3yiJk2a6IUXXtCECRMK/UdhBw8erPT0dLdnkyRp/Pjx+uSTTxQTE6MPPvhA8+bNU6NGjSRJQUFBWr16tapXr64777xTDRs21KBBg5SamqrQ0NBCzRsASgrL5OdCbgAAUKz8+OOP6tixow4fPuy4SUYWy7L0+eef52j8AAD5x80cAAAoQdLS0nTo0CGNGTNGvXv3ztEkAQAKBpfeAQBQgsyfP1/169dXYmKi4ztmAICCx6V3AAAAAOCCM0oAAAAA4IJGCQAAAABc0CgBAAAAgAsaJQAAAABwQaMEAAAAAC5olAAAAADABY0SAAAAALigUQIAAAAAF/8PWt+12ANYFOEAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "yerr = [duration_stats[\"mean\"] - duration_stats[\"min\"], duration_stats[\"max\"] - duration_stats[\"mean\"]]\n", + "\n", + "plt.figure(figsize=(10,6))\n", + "plt.bar(duration_stats[\"accommodation_type\"], duration_stats[\"mean\"], yerr=yerr, capsize=5, color='skyblue')\n", + "plt.xlabel(\"Accommodation Type\")\n", + "plt.ylabel(\"Average Trip Duration (days)\")\n", + "plt.title(\"Trip Duration by Accommodation Type\")\n", + "plt.grid(axis='y', linestyle='--', alpha=0.7)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f49e9f16-0ecd-4e4e-91d0-5f3bc0e941c1", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 53, + "id": "5df391d9-71b0-497e-b7ef-9d45e39b4fed", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "traveler_age_segment\n", + "26-33 Young Professionals 72\n", + "34-40 Young Parents 25\n", + "41-50 Money & Energy Group 25\n", + "18-25 Students-Early Professionals 13\n", + "51-60 Rich but Tired 2\n", + "61+ Retired-Elderly 0\n", + "Name: count, dtype: int64" + ] + }, + "execution_count": 53, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandas as pd\n", + "\n", + "age_bins = [0, 26, 34, 41, 51, 61, 120]\n", + "age_labels = [\n", + " \"18-25 Students-Early Professionals\", # [0,26) -> effectively 18–25 in your data\n", + " \"26-33 Young Professionals\", # [26,34)\n", + " \"34-40 Young Parents\", # [34,41)\n", + " \"41-50 Money & Energy Group\", # [41,51)\n", + " \"51-60 Rich but Tired\", # [51,61)\n", + " \"61+ Retired-Elderly\" # [61,120)\n", + "]\n", + "\n", + "travel_trip_complete_hoaithuong_df[\"traveler_age_segment\"] = pd.cut(\n", + " travel_trip_complete_hoaithuong_df[\"traveler_age\"],\n", + " bins=age_bins,\n", + " labels=age_labels,\n", + " right=False\n", + ")\n", + "\n", + "travel_trip_complete_hoaithuong_df[\"traveler_age_segment\"].value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "id": "9d2eb19f-40c9-4311-81a3-887e6ef36966", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Age Segment Count Percentage\n", + "0 18-25 Students-Early Professionals 13 9.489051\n", + "1 26-33 Young Professionals 72 52.554745\n", + "2 34-40 Young Parents 25 18.248175\n", + "3 41-50 Money & Energy Group 25 18.248175\n", + "4 51-60 Rich but Tired 2 1.459854\n", + "5 61+ Retired-Elderly 0 0.000000\n" + ] + } + ], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "\n", + "traveler_age_segment = {\n", + " 'Age Segment': [\n", + " '18-25 Students-Early Professionals',\n", + " '26-33 Young Professionals',\n", + " '34-40 Young Parents',\n", + " '41-50 Money & Energy Group',\n", + " '51-60 Rich but Tired',\n", + " '61+ Retired-Elderly'\n", + " ],\n", + " 'Count': [13, 72, 25, 25, 2, 0]\n", + "}\n", + "\n", + "travel_trip_complete_hoaithuong_df = pd.DataFrame(traveler_age_segment)\n", + "\n", + "travel_trip_complete_hoaithuong_df['Percentage'] = travel_trip_complete_hoaithuong_df['Count'] / travel_trip_complete_hoaithuong_df['Count'].sum() * 100\n", + "\n", + "print(travel_trip_complete_hoaithuong_df)" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "id": "63e2d310-c28b-4c1f-ac56-c5a979f10f2f", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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L/j4+Ah6enqChYWFMHLkSGHz5s0CACEwMFBl33PnzgldunQRLCwsBG1tbaFy5cpCly5dcr1n3nX16lVhwoQJQv369QULCwtBU1NTqFSpktCxY0fhyJEjudoHBgYKffv2FaytrQVtbW3B1tZWaNOmjbBu3TqVdhcuXBCaNm0q6OrqCra2tsKMGTOEJUuWCACU1UkFIe/3iSDk/V7Jeb8vW7asyDHlV2U2r0qsISEhQvv27QVjY2MBQL5VWYkqCokgvKfEFxERFVlISAiqVq2KZcuWYfr06WKHQ2XA119/jbVr1yIsLCxXYQUSz5gxY7Bjxw7ExcUpi2aUFe3bt0dISAgeP34sdihEVARc4khERCSiq1ev4vHjx1izZg2+/PJLJmci8vX1hb29PVxcXJCamopDhw5h48aN+P7779U+OZs2bRo8PT3h4OCA+Ph4bNu2DSdOnFAWSiGisoMJGhERkYi8vLxgYGCArl275lnMgkqPtrY2li1bhlevXkEmk6FGjRpYuXIlJk+eLHZo7yWXyzFnzhxERkZCIpHA3d0dW7ZsweDBg8UOjYiKiEsciYiIiIiI1AQvVE1ERERERKQmmKARERERERGpCSZoREREREREaoIJGhERERERkZpggkZERERERKQmmKARERERERGpCSZoREREREREaoIJGhERERERkZpggkZERERERKQmmKARERERERGpCSZoREREREREaoIJGhERERERkZpggkZERERERKQmmKARERERERGpCSZoREREREREaoIJGhERERERkZpggkZERERERKQmmKARERERERGpCSZoREREREREaoIJGhERERERkZpggkZERERERKQmmKARERERERGpCSZoREREREREaoIJGhERERERkZpggkZERERERKQmmKARERERERGpCSZoREREREREaoIJGhERERERkZpggkZERERERKQmmKARERERERGpCSZoREREREREaoIJGhERERERkZpggkZERERERKQmmKARERERERGpCSZoREREREREaoIJGhERERERkZpggkZERERERKQmmKARERERERGpCSZoREREREREaoIJGhERERERkZpggkZERERERKQmmKARlSOLFy+GRCLBlClTVLbv3bsXHTp0gJWVFSQSCQICAgrVn7OzMyQSicpt5syZKm1CQ0PRrVs3GBoawsrK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ERERERGRmmCCRkREREREpCaYoBEREREREakJJmhERERERERqggkaERERERGRmmCCRkREREREpCaYoBEREREREakJJmhERERERERqggkaERERERGRmmCCRkREREREpCa0xA6AiIiI8qbIyIA8ORmK5GTIU1IgT0qCIi0dACDRkAAaGoBEA9CQQJLr/yWAREOl3dv/r2GgD01zc2iZm0OioyPykRIRUQ4maERERCVMkZ6O7LAwyGJj3yRbySlQpCRDnpQMeUqycps8JRmKpDfJmCI5GYJUWirxaRgYQNPCAprm5tA0N4OWuTk0zf+7n5PIKduYmr5JAomIqNhJBEEQxA6CiIiorJPFxiI7NAzSV2Fv/hsWiuzQMGSHhUEeGyt2eMVLQwOaJibQtLKEjoMjdKpWhY6zE3SrVoVO1arQsrISO0IiojKLCRoREVEhCHI5pOHhyA4NhTRMNQmThoVBkZ4udohqQ8PYOFfSplO1KnScnKChpyd2eEREao0JGhER0TtkCQnIvB+EzKAgZD54gMzgR5C+DgdkMrFDK9skEmjZ2ULX+f8TNmdn6FStCj13N2hZWIgdHRGRWmCCRkREFZosPh6Z9+8jMygIGf+fkMnCI8QOq8LRdnSEgacH9D09oe/hAd2aNXmeGxFVSEzQiIiowhDkcmQFByP9zh1kBAQiIyAA0rAwscOiPGgYGkK/fj3oe3j+f9JWH5rGxmKHRURU4pigERFRuSVPTkb6zVvICAh4c7t/HwLPFSubNDSgW83lv4TN0wO6VauKHRURUbFjgkZEROVK5oMHSD1/AannzyMjMBCQy8UOiUqIprk59OvXh76nJwybNoFevXpcFklEZR4TNCIiKtPkqalIu3gJqRfOI+3CRciio8UOiUSiaWkJo5YtYdS6FYy8vaFhYCB2SERERcYEjYiIypzM4GCknj+PtHPnkR4QwOqKlItERwcGzZrCuHVrGLVuDW1bW7FDIiIqFCZoRESk9uSpaUi7chlp588j9cJFyCIjxQ6JyhhddzcYt2oNozZtoFfbHRKJROyQiIjyxASNiIjUUnZoKFJOnETq+fNIv30bkErFDonKCS1raxi1agWjNq1h6OUFDV1dsUMiIlJigkZERGpDnpyM5CNHkfTPP8i4c0fscKgCkOjrw7B5cxi3bgWjtm2hZW4udkhEVMExQSMiIlEJUilS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BQBQr149BAQEYPny5fDx8YGvr6/K8q23hYeHo3Xr1vDy8sLvv//+3vGaNWuG5ORkREVFwcYm/2pjlpaW6NOnD/r06YPFixfD09MTy5cvx+bNm/PdR0NDI9eyyLeXpeW1ZDJnliyHQqFAw4YNsW3btlxt30403i12IZFICly6CbyZperQoQMOHz6M48ePY/HixVixYgW++uorHDlyRBnru+foVa1aNd+ZwmHDhiEmJgarVq2Ck5MTdHV14eXllauapqGhYYGx5cT322+/YebMmfDz88Pw4cNzPT/vat26NdauXQttbW3Y29vnel7eHVcQhDz7zG97DoVCgfnz5+d5LqWenh4cHBwQHByMEydO4OTJkxg/fjyWLVuGc+fOwdjYGLdv38bZs2dx/PhxzJkzB/PmzcONGzdyPa95vUfyii+v1//tfQv7uuRo0KABXrx4gaNHj+LkyZPo27cvfHx8cp0XWJJ+PsnZM7H9GRGLts6mMAqXorJlNTRz7YiNJ+YVev8f+vlDX+e/z5yRniliouS432khvlncHqPMLeBtaIip4a/xd2IiBpqbAwBWxMSgn5k57AtRxIcqnluN8i/sRVRWZcgysDt4N0bXGy12KFROFGuCJpVKIZVKlUUncmhqaioTDmtr6zyrBr5+/RqtW7dGw4YN4efnl6uPvNy5cwd6enpFWpqoo6ODatWqKcu36+joAADkctX18JUqVVIp1JCcnKyylM/d3R2hoaHKZXzAmwIpb2vQoAF27doFa2vrXJUTi0JHRydXfMCbc+jGjh2LsWPHYtasWdiwYQO++uqrD17SduHCBaxZswadO3cGAISFhSkvR1BUgwcPxjfffINff/0VQUFByuWEBTE0NET16tULPUbOaxAWFqacRXvw4AGSkpLg5uaW734NGjRAcHBwgWPp6+vjs88+w2effYYJEyYoZ10bNGgALS0t+Pj4wMfHB3PnzoWZmRlOnz6dK+Fzd3eHTCbDtWvXlEsc4+Li8Pjx4wLje9eHvC4mJibo168f+vXrh969e6Njx46Ij48vlSqTl5/G4v7r4lteRx/uVGwSajVsiP51PkFadEaR9jXWN4eBbu5VDi9exiNeJkO/Ks7QT09GayMjPMvOAgDcTk9HUGYmfijgBzOquCT6ethkyx9vqHza+WgnhtUZBm0N/jhFH69ICVpqaiqePn2qvP/i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8mAEDYDrXHXVVVqxYoWefvrphtui0agkaebMmbruuus0fPhw3XTTTTr11FP1yCOPSJIuv/xyBQKBho+9zZs3T8uWLdPrr78un8+nCy+8UMaYRsfMnz9fH374oV588UWtX79e119//QGzHnfccRo3bpwuuOAC9ezZU1JsIZOJEyc2Om7ixIn69NNPD/prceSRRzb8uXPnzpKkbdu2SZLWrFmjo446qtHx3/y8ORMmTFAgEFAwGNTLL7+sJ554QkOHDm24f/To0Y2OP5TXtHTpUlVWVio3N7fR38uGDRu0fv16SdL111+vSy65RCeccILuvffehtsl6ZprrtFPfvITTZw4UbfffrtWrFjR7HM1l2/dunWKRCINt+399fR4POrUqVPD11OKXUc4adIkderUSYFAQLfeemuzi9B06NBBF110kaZPn67TTjtNDz74oIqKiprNCABIDhQ0AK5y9dVX6+9//7sWLFigbt26Ndyel5cnv9+vwYMHNzp+0KBBDb9A33nnnVq+fHnDx97y8vJUWFioqVOn6plnntGrr76q999/v9ExnTp10sCBAzVz5kw9+uijevjhh1v0C7ff799nUZBvTnMzxjTc5vV6G27bo7mFOPaehrnn8XvKanPP0xLPPvusPvroI23fvl1fffWVzj///Eb3Z2Vl7fOY/b2mpkSjUXXu3LnR38ny5cu1Zs0azZs3T1Js2fpPPvlEp5xyit566y0NHjxYL7zwgiTpkksu0eeff64LLrhAK1eu1OjRo/XrX/+6yedqKktTX4tvTmv1eDwNX8/3339f55xzjk466ST94x//0LJly3TzzTerrq6u2df4+OOPa9GiRZowYYKeffZZFRYW7vPvCgCQXChoAFzBGKOrrrpKzz//vN566y317t270f2pqakaM2bMPkvvr127tmHkqqCgQP369Wv42N9zSVIoFDqsY5ozaNAg/b//9/8a3fbee+9p0KBBkqT8/HxJalT+vlkoW2LAgAH64IMPGt22ZMmSFj22e/fu6tu3r3Jzc1t0/IFeU1NGjhyprVu3yu/3N/p76devn/Ly8hqOKyws1HXXXafXX39dp59+uh5//PFGOS+//HI9//zzuuGGG/TYY481+VyDBw9uMl9hYaF8Pl+LXuO7776rnj176uabb9bo0aPVv39/ffHFFwd83IgRI/TDH/5Q7733noYMGaKnnnqqRc8HAEhMzl6nGQBaydy5c/XUU0/ppZdeUjAY1NatWyVJOTk5ysjIkBSbpjh79mwdc8wxmjJlil577TW9/PLLevvtt5s97wcffKAPPvhAkyZNUvv27fX555/rtttuU9++fTV+/HhJ0quvvqri4mKNGTNGgUBAq1at0o033qiJEyeqV69eB/1a5s2bp7PPPrthQYyXX35Zzz//vN58801JUkZGhsaNG6d7771XvXr1UklJiW655ZaDfp6rr75al156qUaPHt0wgrNixQr16dPnoM91IAd6TU054YQTNH78eM2aNUv33XefBgwYoC1btujVV1/VrFmzdMQRR2jevHk688wz1bt3b23evFmLFy/WGWecIUn63ve+p5NOOkmFhYUqLS3VW2+91WwhvOGGGzRmzBjdddddmj17thYtWqTf/OY3euihh1r8Gvv166dNmzbpmWee0ZgxY/TKK680jOY1ZcOGDfrtb3+rGTNmqEuXLlqzZo3Wrl2rCy+8sMXPCQBIQLYufgOAeNJeS7Tv/fH44483Ou73v/+96devn0lPTzfDhg0zL7744n7Pu2LFCjNlyhTToUMHk5aWZnr16mUuv/xys3nz5oZj3nrrLTN+/HiTk5Nj0tPTTf/+/c0PfvCDRku478+xxx5rrr322ka37W9JemOMWbVqlRk3bpzJyMgww4cPN6+//nqTi4TsnWHZsmVGktmwYUPDbXfeeafJy8szgUDAzJkzx1xzzTVm3LhxzWZtaoGSb5JkXnjhhX1uP9Br+uYiIcYYU15ebq6++mrTpUsXk5KSYrp3727OO+88s2nTJhMKhcw555xjunfvblJTU02XLl3MVVdd1bAIylVXXWX69u1r0tLSTH5+vrngggsaFnfZ3zL7KSkppkePHub+++9vlKVnz54N2yDsMWzYMHP77bc3fD5v3jyTm5trAoGAmT17tpk/f77JyclpuH/vRUK2bt1qZs2aZTp37tywtP9tt91mIpFIs19bAEDi8xjTwgsKAACuN3XqVHXq1El/+tOfbEcBACApMcURANCk6upqPfLII5o+fbp8Pp+efvppvfnmm3rjjTdsRwMAIGkxggYAaFJNTY1OO+00ffjhhwqFQhowYIBuueUWnX766bajAQCQtChoAAAAAOAQLLMPAAAAAA5BQQMAAAAAh6CgAQAAAIBDUNAAAAAAwCEoaAAAAADgEBQ0AAAAAHAIChoAAAAAOAQFDQAAAAAcgoIGAAAAAA5BQQMAAAAAh6CgAQAAAIBDUNAAAAAAwCEoaAAAAADgEBQ0AAAAAHAIChoAAAAAOAQFDQAAAAAcgoIGAAAAAA5BQQMAAAAAh6CgAQAAAIBDUNAAAAAAwCEoaAAAAADgEBQ0AAAAAHAIChoAAAAAOAQFDQAAAAAcgoIGAAAAAA5BQQMAAAAAh6CgAQAAAIBDUNAAAAAAwCEoaAAAAADgEBQ0AAAAAHAIChoAAAAAOAQFDQAAAAAcgoIGAAAAAA5BQQMAAAAAh6CgAQAAAIBDUNAAAAAAwCEoaAAAAADgEBQ0AAAAAHAIChoAAAAAOMT/B1+Qp+h7u7rPAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize=(8,8))\n", + "plt.pie(travel_trip_complete_hoaithuong_df['Count'], labels=travel_trip_complete_hoaithuong_df['Age Segment'], autopct='%1.1f%%', startangle=140)\n", + "plt.title(\"Trips Distribution by Traveler Age Segment\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cc51f48d-1d10-4602-a4c1-2b91784c10b4", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.13.9" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From c95369bafee6641333e1d4852b18bae0cdc71791 Mon Sep 17 00:00:00 2001 From: Christos Vachakis Date: Tue, 9 Dec 2025 18:04:50 +0100 Subject: [PATCH 13/14] christos analysis day2 --- notebooks/analysis_travel_trip_christos.ipynb | 2332 +++++++++++++++++ 1 file changed, 2332 insertions(+) create mode 100644 notebooks/analysis_travel_trip_christos.ipynb diff --git a/notebooks/analysis_travel_trip_christos.ipynb b/notebooks/analysis_travel_trip_christos.ipynb new file mode 100644 index 00000000..34c6c672 --- /dev/null +++ b/notebooks/analysis_travel_trip_christos.ipynb @@ -0,0 +1,2332 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "2d59f052-76ef-41c8-ae22-d76d2e3f7cb1", + "metadata": {}, + "source": [ + "# Calling the cleaned dataframe from the respective notebook" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "f1d024cc-bea2-4cb3-bb4d-fb7fa0c48b1b", + "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", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
destinationtrip_iddestination_countrydestination_citystart_dateend_dateduration_daystraveler_nametraveler_agetraveler_gender...accommodation_costtransportation_typetransportation_costend_yearend_monthstart_yearstart_monthstart_month_nameend_month_nametraveler_nationality_clean
0London, UK1UKLondon2023-05-012023-05-017.0john smith35.0Male...1200Flight600.02023520235MayMayUnited States
1Phuket, Thailand2ThailandPhuket2023-06-012023-06-015.0jane doe28.0Female...800Flight500.02023620236JuneJuneCanada
2Bali, Indonesia3IndonesiaBali2023-07-012023-07-017.0david lee45.0Male...1000Flight700.02023720237JulyJulySouth Korea
3New York, USA4USANew York2023-08-012023-08-0114.0sarah johnson29.0Female...2000Flight1000.02023820238AugustAugustUnited Kingdom
4Tokyo, Japan5JapanTokyo2023-09-012023-09-017.0kim nguyen26.0Female...700Train200.02023920239SeptemberSeptemberVietnamese
..................................................................
132Rio de Janeiro, Brazil135BrazilRio de Janeiro2023-08-012023-08-019.0jose perez37.0Male...2500Private Car2000.02023820238AugustAugustBrazil
133Vancouver, Canada136CanadaVancouver2023-08-012023-08-016.0emma wilson29.0Female...5000Airplane3000.02023820238AugustAugustCanada
134Bangkok, Thailand137ThailandBangkok2023-09-012023-09-017.0ryan chen34.0Male...2000Train1000.02023920239SeptemberSeptemberChina
135Barcelona, Spain138SpainBarcelona2023-09-012023-09-017.0sofia rodriguez25.0Female...6000Airplane2500.02023920239SeptemberSeptemberSpain
136Auckland, New Zealand139New ZealandAuckland2023-10-012023-10-017.0william brown39.0Male...7000Train2500.0202310202310OctoberOctoberNew Zealander
\n", + "

137 rows × 22 columns

\n", + "
" + ], + "text/plain": [ + " destination trip_id destination_country destination_city \\\n", + "0 London, UK 1 UK London \n", + "1 Phuket, Thailand 2 Thailand Phuket \n", + "2 Bali, Indonesia 3 Indonesia Bali \n", + "3 New York, USA 4 USA New York \n", + "4 Tokyo, Japan 5 Japan Tokyo \n", + ".. ... ... ... ... \n", + "132 Rio de Janeiro, Brazil 135 Brazil Rio de Janeiro \n", + "133 Vancouver, Canada 136 Canada Vancouver \n", + "134 Bangkok, Thailand 137 Thailand Bangkok \n", + "135 Barcelona, Spain 138 Spain Barcelona \n", + "136 Auckland, New Zealand 139 New Zealand Auckland \n", + "\n", + " start_date end_date duration_days traveler_name traveler_age \\\n", + "0 2023-05-01 2023-05-01 7.0 john smith 35.0 \n", + "1 2023-06-01 2023-06-01 5.0 jane doe 28.0 \n", + "2 2023-07-01 2023-07-01 7.0 david lee 45.0 \n", + "3 2023-08-01 2023-08-01 14.0 sarah johnson 29.0 \n", + "4 2023-09-01 2023-09-01 7.0 kim nguyen 26.0 \n", + ".. ... ... ... ... ... \n", + "132 2023-08-01 2023-08-01 9.0 jose perez 37.0 \n", + "133 2023-08-01 2023-08-01 6.0 emma wilson 29.0 \n", + "134 2023-09-01 2023-09-01 7.0 ryan chen 34.0 \n", + "135 2023-09-01 2023-09-01 7.0 sofia rodriguez 25.0 \n", + "136 2023-10-01 2023-10-01 7.0 william brown 39.0 \n", + "\n", + " traveler_gender ... accommodation_cost transportation_type \\\n", + "0 Male ... 1200 Flight \n", + "1 Female ... 800 Flight \n", + "2 Male ... 1000 Flight \n", + "3 Female ... 2000 Flight \n", + "4 Female ... 700 Train \n", + ".. ... ... ... ... \n", + "132 Male ... 2500 Private Car \n", + "133 Female ... 5000 Airplane \n", + "134 Male ... 2000 Train \n", + "135 Female ... 6000 Airplane \n", + "136 Male ... 7000 Train \n", + "\n", + " transportation_cost end_year end_month start_year start_month \\\n", + "0 600.0 2023 5 2023 5 \n", + "1 500.0 2023 6 2023 6 \n", + "2 700.0 2023 7 2023 7 \n", + "3 1000.0 2023 8 2023 8 \n", + "4 200.0 2023 9 2023 9 \n", + ".. ... ... ... ... ... \n", + "132 2000.0 2023 8 2023 8 \n", + "133 3000.0 2023 8 2023 8 \n", + "134 1000.0 2023 9 2023 9 \n", + "135 2500.0 2023 9 2023 9 \n", + "136 2500.0 2023 10 2023 10 \n", + "\n", + " start_month_name end_month_name traveler_nationality_clean \n", + "0 May May United States \n", + "1 June June Canada \n", + "2 July July South Korea \n", + "3 August August United Kingdom \n", + "4 September September Vietnamese \n", + ".. ... ... ... \n", + "132 August August Brazil \n", + "133 August August Canada \n", + "134 September September China \n", + "135 September September Spain \n", + "136 October October New Zealander \n", + "\n", + "[137 rows x 22 columns]" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandas as pd\n", + "\n", + "travel_trip_complete_df = pd.read_parquet(\"../data/clean/travel_trip_complete.parquet\")\n", + "travel_trip_complete_christos_df = travel_trip_complete_df.copy()\n", + "travel_trip_complete_christos_df" + ] + }, + { + "cell_type": "markdown", + "id": "5244f8d1-9425-4b55-b3fe-60951e491f36", + "metadata": {}, + "source": [ + "# Adding continent information to my existing table, to check whether a trip is intercontinental vs intra-continental" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "31e91ee8-1c9d-4c42-9674-d05795749ec1", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Requirement already satisfied: pycountry-convert in /opt/anaconda3/lib/python3.13/site-packages (0.7.2)\n", + "Requirement already satisfied: pprintpp>=0.3.0 in /opt/anaconda3/lib/python3.13/site-packages (from pycountry-convert) (0.4.0)\n", + "Requirement already satisfied: pycountry>=16.11.27.1 in /opt/anaconda3/lib/python3.13/site-packages (from pycountry-convert) (24.6.1)\n", + "Requirement already satisfied: pytest>=3.4.0 in /opt/anaconda3/lib/python3.13/site-packages (from pycountry-convert) (8.3.4)\n", + "Requirement already satisfied: pytest-mock>=1.6.3 in /opt/anaconda3/lib/python3.13/site-packages (from pycountry-convert) (3.15.1)\n", + "Requirement already satisfied: pytest-cov>=2.5.1 in /opt/anaconda3/lib/python3.13/site-packages (from pycountry-convert) (7.0.0)\n", + "Requirement already satisfied: repoze.lru>=0.7 in /opt/anaconda3/lib/python3.13/site-packages (from pycountry-convert) (0.7)\n", + "Requirement already satisfied: wheel>=0.30.0 in /opt/anaconda3/lib/python3.13/site-packages (from pycountry-convert) (0.45.1)\n", + "Requirement already satisfied: iniconfig in /opt/anaconda3/lib/python3.13/site-packages (from pytest>=3.4.0->pycountry-convert) (1.1.1)\n", + "Requirement already satisfied: packaging in /opt/anaconda3/lib/python3.13/site-packages (from pytest>=3.4.0->pycountry-convert) (24.2)\n", + "Requirement already satisfied: pluggy<2,>=1.5 in /opt/anaconda3/lib/python3.13/site-packages (from pytest>=3.4.0->pycountry-convert) (1.5.0)\n", + "Requirement already satisfied: coverage>=7.10.6 in /opt/anaconda3/lib/python3.13/site-packages (from coverage[toml]>=7.10.6->pytest-cov>=2.5.1->pycountry-convert) (7.13.0)\n" + ] + } + ], + "source": [ + "!pip install pycountry-convert" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "017e9c38-ca71-4710-9e36-04a84727f3b3", + "metadata": {}, + "outputs": [], + "source": [ + "import pycountry\n", + "import pycountry_convert as pc\n", + "import pandas as pd\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "65226305-f8f3-4166-af82-60d4ad81cb34", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import pycountry\n", + "import pycountry_convert as pc\n", + "\n", + "def country_to_alpha2(country_name: str):\n", + " if pd.isna(country_name):\n", + " return None\n", + " try:\n", + " return pycountry.countries.lookup(country_name).alpha_2\n", + " except LookupError:\n", + " return None\n", + "\n", + "def alpha2_to_continent(alpha2: str):\n", + " if alpha2 is None:\n", + " return None\n", + " try:\n", + " continent_code = pc.country_alpha2_to_continent_code(alpha2)\n", + " return pc.convert_continent_code_to_continent_name(continent_code)\n", + " except KeyError:\n", + " return None\n", + "\n", + "def country_to_continent(country_name: str):\n", + " alpha2 = country_to_alpha2(country_name)\n", + " return alpha2_to_continent(alpha2)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "f43afe4d-9efc-4711-acec-78edc6da2fb1", + "metadata": {}, + "outputs": [], + "source": [ + "travel_trip_complete_christos_df[\"traveler_nationality_continent\"] = travel_trip_complete_christos_df[\"traveler_nationality_clean\"].apply(country_to_continent)\n", + "travel_trip_complete_christos_df[\"destination_continent\"] = travel_trip_complete_christos_df[\"destination_country\"].apply(country_to_continent)\n", + "\n", + "travel_trip_complete_christos_df[\"is_intercontinental_trip\"] = (\n", + " travel_trip_complete_christos_df[\"traveler_nationality_continent\"] != travel_trip_complete_christos_df[\"destination_continent\"]\n", + ")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "c03ba4b1-c31d-4b9b-8aa2-3c90ed14c13f", + "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", + "
destinationtrip_iddestination_countrydestination_citystart_dateend_dateduration_daystraveler_nametraveler_agetraveler_gender...end_yearend_monthstart_yearstart_monthstart_month_nameend_month_nametraveler_nationality_cleantraveler_nationality_continentdestination_continentis_intercontinental_trip
132Rio de Janeiro, Brazil135BrazilRio de Janeiro2023-08-012023-08-019.0jose perez37.0Male...2023820238AugustAugustBrazilSouth AmericaSouth AmericaFalse
133Vancouver, Canada136CanadaVancouver2023-08-012023-08-016.0emma wilson29.0Female...2023820238AugustAugustCanadaNorth AmericaNorth AmericaFalse
134Bangkok, Thailand137ThailandBangkok2023-09-012023-09-017.0ryan chen34.0Male...2023920239SeptemberSeptemberChinaAsiaAsiaFalse
135Barcelona, Spain138SpainBarcelona2023-09-012023-09-017.0sofia rodriguez25.0Female...2023920239SeptemberSeptemberSpainEuropeEuropeFalse
136Auckland, New Zealand139New ZealandAuckland2023-10-012023-10-017.0william brown39.0Male...202310202310OctoberOctoberNew ZealanderNoneOceaniaTrue
\n", + "

5 rows × 25 columns

\n", + "
" + ], + "text/plain": [ + " destination trip_id destination_country destination_city \\\n", + "132 Rio de Janeiro, Brazil 135 Brazil Rio de Janeiro \n", + "133 Vancouver, Canada 136 Canada Vancouver \n", + "134 Bangkok, Thailand 137 Thailand Bangkok \n", + "135 Barcelona, Spain 138 Spain Barcelona \n", + "136 Auckland, New Zealand 139 New Zealand Auckland \n", + "\n", + " start_date end_date duration_days traveler_name traveler_age \\\n", + "132 2023-08-01 2023-08-01 9.0 jose perez 37.0 \n", + "133 2023-08-01 2023-08-01 6.0 emma wilson 29.0 \n", + "134 2023-09-01 2023-09-01 7.0 ryan chen 34.0 \n", + "135 2023-09-01 2023-09-01 7.0 sofia rodriguez 25.0 \n", + "136 2023-10-01 2023-10-01 7.0 william brown 39.0 \n", + "\n", + " traveler_gender ... end_year end_month start_year start_month \\\n", + "132 Male ... 2023 8 2023 8 \n", + "133 Female ... 2023 8 2023 8 \n", + "134 Male ... 2023 9 2023 9 \n", + "135 Female ... 2023 9 2023 9 \n", + "136 Male ... 2023 10 2023 10 \n", + "\n", + " start_month_name end_month_name traveler_nationality_clean \\\n", + "132 August August Brazil \n", + "133 August August Canada \n", + "134 September September China \n", + "135 September September Spain \n", + "136 October October New Zealander \n", + "\n", + " traveler_nationality_continent destination_continent \\\n", + "132 South America South America \n", + "133 North America North America \n", + "134 Asia Asia \n", + "135 Europe Europe \n", + "136 None Oceania \n", + "\n", + " is_intercontinental_trip \n", + "132 False \n", + "133 False \n", + "134 False \n", + "135 False \n", + "136 True \n", + "\n", + "[5 rows x 25 columns]" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_complete_christos_df.tail(5)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "f9b871ab-9f15-4c4e-b717-b7e7c1be81d8", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "np.int64(71)" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_complete_christos_df.destination_country.value_counts().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "6ee1b5c8-bd17-4583-94aa-ca9af54ca200", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "25" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# we need to fill the NaN values in the destination_country column\n", + "df = travel_trip_complete_christos_df\n", + "\n", + "# use only rows where country is known\n", + "city_country_map = (\n", + " df.dropna(subset=[\"destination_country\"])\n", + " .groupby(\"destination_city\")[\"destination_country\"]\n", + " .agg(lambda s: s.mode().iloc[0]) # most frequent country per city\n", + " .to_dict()\n", + ")\n", + "\n", + "len(city_country_map) # just to inspect how many cities you mapped\n" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "38545241-78c5-4fe0-8eeb-5b350a93bf48", + "metadata": {}, + "outputs": [], + "source": [ + "mask_missing_country = df[\"destination_country\"].isna()\n", + "\n", + "df.loc[mask_missing_country, \"destination_country\"] = (\n", + " df.loc[mask_missing_country, \"destination_city\"]\n", + " .map(city_country_map)\n", + ")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "4252bd75-5744-4959-b4cc-bef2e155fce9", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "np.int64(26)" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df[\"destination_continent\"] = df[\"destination_country\"].apply(country_to_continent)\n", + "\n", + "df[\"destination_continent\"].isna().sum()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "0570bd59-cb41-4967-b858-2bf253425715", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "destination_city destination_country\n", + "London UK 7\n", + "Phuket Thai 2\n", + "Bangkok Thai 1\n", + "Honolulu Hawaii 1\n", + "Edinburgh Scotland 1\n", + "Name: count, dtype: int64" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.loc[df[\"destination_continent\"].isna(), [\"destination_city\", \"destination_country\"]].value_counts()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "4f33ba78-0d92-42b6-be37-a6d06b2a0da7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "np.int64(14)" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = travel_trip_complete_christos_df\n", + "\n", + "# manual mapping for the remaining weird country labels\n", + "manual_country_fix_2 = {\n", + " \"UK\": \"United Kingdom\",\n", + " \"Thai\": \"Thailand\",\n", + " \"Hawaii\": \"United States\",\n", + " \"Scotland\": \"United Kingdom\",\n", + "}\n", + "\n", + "# only touch the rows that still have no continent\n", + "mask_missing_continent = df[\"destination_continent\"].isna()\n", + "\n", + "df.loc[mask_missing_continent, \"destination_country\"] = (\n", + " df.loc[mask_missing_continent, \"destination_country\"]\n", + " .replace(manual_country_fix_2)\n", + ")\n", + "\n", + "# recompute continent\n", + "df[\"destination_continent\"] = df[\"destination_country\"].apply(country_to_continent)\n", + "\n", + "# check remaining NaNs\n", + "df[\"destination_continent\"].isna().sum()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "492c7a34-a026-41e7-8e4e-5ff38a5d8e6d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "np.int64(14)" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# how many missing in destination_country\n", + "df[\"destination_country\"].isna().sum()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "6c30d546-b773-42c4-b33f-d8a2782dc641", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "destination_city\n", + "Hawaii 1\n", + "Japan 1\n", + "Thailand 1\n", + "France 1\n", + "Australia 1\n", + "Brazil 1\n", + "Greece 1\n", + "Egypt 1\n", + "Mexico 1\n", + "Italy 1\n", + "Spain 1\n", + "Canada 1\n", + "Santorini 1\n", + "Phnom Penh 1\n", + "Name: count, dtype: int64" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.loc[df[\"destination_country\"].isna(), \"destination_city\"].value_counts()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "f0ada346-a4f6-4fa1-89ed-48a5e5ea6ae7", + "metadata": {}, + "outputs": [], + "source": [ + "manual_city_to_country_fix = {\n", + " \"Hawaii\": \"United States\",\n", + " \"Japan\": \"Japan\",\n", + " \"Thailand\": \"Thailand\",\n", + " \"France\": \"France\",\n", + " \"Australia\": \"Australia\",\n", + " \"Brazil\": \"Brazil\",\n", + " \"Greece\": \"Greece\",\n", + " \"Egypt\": \"Egypt\",\n", + " \"Mexico\": \"Mexico\",\n", + " \"Italy\": \"Italy\",\n", + " \"Spain\": \"Spain\",\n", + " \"Canada\": \"Canada\",\n", + " \"Santorini\": \"Greece\", # island in Greece\n", + " \"Phnom Penh\": \"Cambodia\", # capital of Cambodia\n", + "}\n", + "\n", + "mask = df[\"destination_country\"].isna()\n", + "df.loc[mask, \"destination_country\"] = (\n", + " df.loc[mask, \"destination_city\"].map(manual_city_to_country_fix)\n", + ")\n", + "\n", + "df[\"destination_continent\"] = df[\"destination_country\"].apply(country_to_continent)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "3c9c573e-e8aa-4365-8cd0-1da465a3a96b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "np.int64(0)" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df[\"destination_country\"].isna().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "ac712d0f-ea8e-4d8b-87bf-2c40321f361a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0\n", + "destination_continent\n", + "Europe 47\n", + "Asia 46\n", + "North America 21\n", + "Oceania 14\n", + "South America 6\n", + "Africa 3\n", + "Name: count, dtype: int64\n" + ] + } + ], + "source": [ + "df = travel_trip_complete_christos_df # if not already\n", + "\n", + "# recompute destination_continent from the now-clean destination_country\n", + "df[\"destination_continent\"] = df[\"destination_country\"].apply(country_to_continent)\n", + "\n", + "# quick sanity check\n", + "print(df[\"destination_continent\"].isna().sum())\n", + "print(df[\"destination_continent\"].value_counts())\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "89e88e98-8135-4c4c-bfb0-e9706a70c467", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "c7c153f6-8263-4449-b72c-fc30dd718915", + "metadata": {}, + "outputs": [], + "source": [ + "# now we do the same with traveler_nationality_continent" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "a74c9027-e989-471f-971e-f95645c37060", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "traveler_nationality\n", + "Australian 8\n", + "Indian 4\n", + "Vietnamese 3\n", + "Dutch 2\n", + "Mexican 2\n", + "South African 2\n", + "Moroccan 1\n", + "French 1\n", + "Indonesian 1\n", + "New Zealander 1\n", + "Name: count, dtype: int64" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "missing_nat = (\n", + " travel_trip_complete_christos_df\n", + " .loc[travel_trip_complete_christos_df[\"traveler_nationality_continent\"].isna(), \"traveler_nationality\"]\n", + " .dropna()\n", + " .value_counts()\n", + ")\n", + "missing_nat\n" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "c65caa55-0a1e-4def-8bf6-418ad6738037", + "metadata": {}, + "outputs": [], + "source": [ + "manual_nat_fix = {\n", + " \"Australian\": \"Australia\",\n", + " \"Indian\": \"India\",\n", + " \"Vietnamese\": \"Vietnam\",\n", + " \"Dutch\": \"Netherlands\",\n", + " \"Mexican\": \"Mexico\",\n", + " \"South African\": \"South Africa\",\n", + " \"Moroccan\": \"Morocco\",\n", + " \"French\": \"France\",\n", + " \"Indonesian\": \"Indonesia\",\n", + " \"New Zealander\": \"New Zealand\",\n", + "}\n" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "2b715f1c-2757-4321-b8bc-fa6b2a7a58aa", + "metadata": {}, + "outputs": [], + "source": [ + "df = travel_trip_complete_christos_df # just shorter name\n", + "\n", + "# clean nationality\n", + "df[\"traveler_nationality_clean\"] = (\n", + " df[\"traveler_nationality\"]\n", + " .astype(\"string\")\n", + " .str.strip()\n", + " .replace(manual_nat_fix)\n", + ")\n", + "\n", + "# recompute continents ONLY from the cleaned text\n", + "df[\"traveler_nationality_continent\"] = df[\"traveler_nationality_clean\"].apply(country_to_continent)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "48970663-82ab-4b2e-a106-b89f4f5c4ada", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "91\n", + "traveler_nationality_continent\n", + "Asia 19\n", + "Oceania 9\n", + "Europe 8\n", + "North America 6\n", + "Africa 3\n", + "South America 1\n", + "Name: count, dtype: int64\n" + ] + } + ], + "source": [ + "print(df[\"traveler_nationality_continent\"].isna().sum())\n", + "print(df[\"traveler_nationality_continent\"].value_counts())\n" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "d8c5b4fc-61d8-483c-a4f9-33d38aaae311", + "metadata": {}, + "outputs": [], + "source": [ + "more_nat_fix = {\n", + " \"American\": \"United States\",\n", + " \"Korean\": \"South Korea\", # ambiguous, but common usage\n", + " \"British\": \"United Kingdom\",\n", + " \"Canadian\": \"Canada\",\n", + " \"Spanish\": \"Spain\",\n", + " \"Chinese\": \"China\",\n", + " \"Brazilian\": \"Brazil\",\n", + " \"Italian\": \"Italy\",\n", + " \"South Korean\": \"South Korea\",\n", + " \"Emirati\": \"United Arab Emirates\",\n", + " \"Japanese\": \"Japan\",\n", + " \"Scottish\": \"United Kingdom\",\n", + " \"German\": \"Germany\",\n", + " \"Taiwanese\": \"Taiwan\",\n", + " \"UK\": \"United Kingdom\",\n", + "}\n" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "539f09fd-43cf-4a6d-b1da-3812a0ac63f1", + "metadata": {}, + "outputs": [], + "source": [ + "manual_nat_fix.update(more_nat_fix)\n", + "\n", + "df[\"traveler_nationality_clean\"] = (\n", + " df[\"traveler_nationality\"]\n", + " .astype(\"string\")\n", + " .str.strip()\n", + " .replace(manual_nat_fix)\n", + ")\n", + "\n", + "df[\"traveler_nationality_continent\"] = (\n", + " df[\"traveler_nationality_clean\"].apply(country_to_continent)\n", + ")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "74be564d-4e21-4b47-ae32-37295c021391", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "np.int64(0)" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df[\"traveler_nationality_continent\"].isna().sum()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "3720d48e-5dcd-45b0-b930-05b7a60b96f6", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "np.int64(137)" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df[\"destination_continent\"].value_counts().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "17be7a7f-3e3d-41df-b5a0-bb6bfa68423d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "is_intercontinental_trip\n", + "False 81\n", + "True 56\n", + "Name: count, dtype: int64" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df[\"is_intercontinental_trip\"] = (\n", + " df[\"traveler_nationality_continent\"] != df[\"destination_continent\"]\n", + ")\n", + "\n", + "df[\"is_intercontinental_trip\"].value_counts()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "08c99e5b-6a64-409d-bb37-45e15036434e", + "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", + "
destinationtrip_iddestination_countrydestination_citystart_dateend_dateduration_daystraveler_nametraveler_agetraveler_gender...end_yearend_monthstart_yearstart_monthstart_month_nameend_month_nametraveler_nationality_cleantraveler_nationality_continentdestination_continentis_intercontinental_trip
0London, UK1United KingdomLondon2023-05-012023-05-017.0john smith35.0Male...2023520235MayMayUnited StatesNorth AmericaEuropeTrue
1Phuket, Thailand2ThailandPhuket2023-06-012023-06-015.0jane doe28.0Female...2023620236JuneJuneCanadaNorth AmericaAsiaTrue
2Bali, Indonesia3IndonesiaBali2023-07-012023-07-017.0david lee45.0Male...2023720237JulyJulySouth KoreaAsiaAsiaFalse
3New York, USA4USANew York2023-08-012023-08-0114.0sarah johnson29.0Female...2023820238AugustAugustUnited KingdomEuropeNorth AmericaTrue
4Tokyo, Japan5JapanTokyo2023-09-012023-09-017.0kim nguyen26.0Female...2023920239SeptemberSeptemberVietnamAsiaAsiaFalse
\n", + "

5 rows × 25 columns

\n", + "
" + ], + "text/plain": [ + " destination trip_id destination_country destination_city start_date \\\n", + "0 London, UK 1 United Kingdom London 2023-05-01 \n", + "1 Phuket, Thailand 2 Thailand Phuket 2023-06-01 \n", + "2 Bali, Indonesia 3 Indonesia Bali 2023-07-01 \n", + "3 New York, USA 4 USA New York 2023-08-01 \n", + "4 Tokyo, Japan 5 Japan Tokyo 2023-09-01 \n", + "\n", + " end_date duration_days traveler_name traveler_age traveler_gender ... \\\n", + "0 2023-05-01 7.0 john smith 35.0 Male ... \n", + "1 2023-06-01 5.0 jane doe 28.0 Female ... \n", + "2 2023-07-01 7.0 david lee 45.0 Male ... \n", + "3 2023-08-01 14.0 sarah johnson 29.0 Female ... \n", + "4 2023-09-01 7.0 kim nguyen 26.0 Female ... \n", + "\n", + " end_year end_month start_year start_month start_month_name \\\n", + "0 2023 5 2023 5 May \n", + "1 2023 6 2023 6 June \n", + "2 2023 7 2023 7 July \n", + "3 2023 8 2023 8 August \n", + "4 2023 9 2023 9 September \n", + "\n", + " end_month_name traveler_nationality_clean traveler_nationality_continent \\\n", + "0 May United States North America \n", + "1 June Canada North America \n", + "2 July South Korea Asia \n", + "3 August United Kingdom Europe \n", + "4 September Vietnam Asia \n", + "\n", + " destination_continent is_intercontinental_trip \n", + "0 Europe True \n", + "1 Asia True \n", + "2 Asia False \n", + "3 North America True \n", + "4 Asia False \n", + "\n", + "[5 rows x 25 columns]" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_complete_christos_df = df\n", + "travel_trip_complete_christos_df.head()\n" + ] + }, + { + "cell_type": "markdown", + "id": "f8853150-3e86-4ba0-93da-38adffffcd38", + "metadata": {}, + "source": [ + "# Creating traveler_age clusters" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "8919d9a1-21af-49f9-94e5-2f93822eb00d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "traveler_age_segment\n", + "26-33 Young Professionals 72\n", + "34-40 Young Parents 25\n", + "41-50 Money & Energy Group 25\n", + "18-25 Students-Early Professionals 13\n", + "51-60 Rich but Tired 2\n", + "61+ Retired-Elderly 0\n", + "Name: count, dtype: int64" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandas as pd\n", + "\n", + "age_bins = [0, 26, 34, 41, 51, 61, 120]\n", + "age_labels = [\n", + " \"18-25 Students-Early Professionals\", # [0,26) -> effectively 18–25 in your data\n", + " \"26-33 Young Professionals\", # [26,34)\n", + " \"34-40 Young Parents\", # [34,41)\n", + " \"41-50 Money & Energy Group\", # [41,51)\n", + " \"51-60 Rich but Tired\", # [51,61)\n", + " \"61+ Retired-Elderly\" # [61,120)\n", + "]\n", + "\n", + "travel_trip_complete_christos_df[\"traveler_age_segment\"] = pd.cut(\n", + " travel_trip_complete_christos_df[\"traveler_age\"],\n", + " bins=age_bins,\n", + " labels=age_labels,\n", + " right=False\n", + ")\n", + "\n", + "travel_trip_complete_christos_df[\"traveler_age_segment\"].value_counts()" + ] + }, + { + "cell_type": "markdown", + "id": "cc105ad8-6e4d-4287-a7c9-6da88ee215e5", + "metadata": {}, + "source": [ + "# Hypothesis testing" + ] + }, + { + "cell_type": "markdown", + "id": "6abd12a6-7d8d-4fab-83b7-79d6323ebb5d", + "metadata": {}, + "source": [ + "### Hypothesis #1: Seasonality patterns vary between continents Europe and Asia" + ] + }, + { + "cell_type": "markdown", + "id": "c4bcd33c-b780-4252-a9a5-ffbdcea8451c", + "metadata": {}, + "source": [ + "To do that we need to use the series:\n", + "- start_month_name\n", + "- destination_continent\n", + "\n", + "What we are going to look is whether different continents follow a different \"demand curve\" across the 12 months of the year. Also, we are going to examine monthly standard deviation and autocorrelation.\n", + "\n", + "Interpretation: if confirmed, campaigns might be scheduled per continet.\n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "0ff3b886-50b3-49ab-8120-d133f5262c1d", + "metadata": {}, + "outputs": [], + "source": [ + "# we need to a pivot table, with index by destination_continent, columns the months fo the year, and values the count() of the trips' month" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "1e898d8f-a22b-4616-b84b-9b2b5bd1a51b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "destination_continent start_month_name\n", + "Europe April 2\n", + " August 4\n", + " December 2\n", + " February 4\n", + " July 7\n", + " June 7\n", + " March 5\n", + " May 6\n", + " November 2\n", + " October 4\n", + " September 4\n", + "Asia April 1\n", + " August 5\n", + " December 1\n", + " February 5\n", + " January 5\n", + " July 4\n", + " June 2\n", + " March 1\n", + " May 7\n", + " November 2\n", + " October 3\n", + " September 10\n", + "Name: start_month_name, dtype: int64" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "hypothesis_1_group_df = travel_trip_complete_christos_df.groupby([\"destination_continent\", \"start_month_name\"])[\"start_month_name\"].count()\n", + "hypothesis_1_group__filtered_df = hypothesis_1_group_df.loc[[\"Europe\", \"Asia\"]]\n", + "hypothesis_1_group__filtered_df" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "16fe16df-098e-4397-8ce4-cb5091dbbfcb", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAHqCAYAAAAZLi26AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAA2mhJREFUeJzs3XdclvX+x/HXzd4IAgIOQHArzjTNmZpaqaWdNG2YdU6npU2z5WhZ1um07fzK1JbVSTPHSSvTsixHihMXIi5cyFCQeV+/Py5BCVBQ4GK8n48Hj/viuq/xuS/GfX+u7/f7+doMwzAQERERERERkXLnYHUAIiIiIiIiIjWVkm4RERERERGRCqKkW0RERERERKSCKOkWERERERERqSBKukVEREREREQqiJJuERERERERkQqipFtERERERESkgijpFhEREREREakgSrpFREREREREKoiSbhGRGmTNmjXceOONNGrUCFdXV+rVq0fXrl159NFHrQ7NUmPGjCE8PLzQuvDwcMaMGVPw/eHDh5kyZQoxMTGVGtv5li9fTqdOnfD09MRms7FgwYJit7vUWIu7DlaZMmUKNputxK99+/ZZHWKNkJOTQ3BwMDabja+//vqSj9O7d2969+5dfoGJiNQiTlYHICIi5WPJkiUMGTKE3r17M336dEJCQkhMTGT9+vV88cUX/Otf/7I6xCrlm2++wcfHp+D7w4cPM3XqVMLDw2nXrl2lx2MYBjfffDNNmzZl4cKFeHp60qxZs2K3vdRYn332WcaPH19OEZePpUuX4uvrW2R9SEiIBdHUPIsXL+bo0aMAzJw5k5tuuumSjvPee++VZ1giIrWKkm4RkRpi+vTpREREsGzZMpyczv17HzlyJNOnT7cwsqqpffv2VodQyOHDhzl58iQ33ngjffv2LddjZ2Rk4OHhQWRkZLketzx07NiRgICACjt+/muvrWbOnImLiwu9evXi+++/5+DBgzRo0KDMx2nZsmUFRCciUjuoe7mISA2RlJREQEBAoYQ7n4ND0X/3X375JV27dsXT0xMvLy8GDBjAxo0bC22zfv16Ro4cSXh4OO7u7oSHh3PLLbeQkJBQaLuMjAwee+wxIiIicHNzw9/fn06dOjF37txC2y1cuJCuXbvi4eGBt7c3/fv35/fffy+0TX63423btnHLLbfg6+tLvXr1GDt2LKmpqYW2fffdd+nZsydBQUF4enrSpk0bpk+fTk5OzkWv1/ndy1euXMkVV1wBwJ133lnQxXnKlCl88skn2Gy2InECPPfcczg7O3P48OELnuvXX3+lb9++eHt74+HhQbdu3ViyZEmh15yfCD3xxBPYbLYSu4FfKFYwu5B7eXmxZcsWrrnmGry9vQuS+OK6l9tsNh544AH+85//0LRpU1xdXWnZsiVffPFFoe1K+zMubytXrsRms7Fy5cpC6/ft24fNZmP27NkF6y702k+ePMl9991H/fr1cXFxoXHjxjz99NNkZWUVOm5prwfAkSNHuOeee2jQoAEuLi5EREQwdepUcnNzL/iabrjhBsLCwrDb7UWe69KlCx06dCj4/r///S9dunTB19cXDw8PGjduzNixYy922QDzRs7SpUsZPHgwjz/+OHa7vdD1yrd3715GjhxJaGhowbCUvn37Fhq+UFz38qlTp9KlSxf8/f3x8fGhQ4cOzJw5E8MwShWfiEhtoZZuEZEaomvXrnz44YeMGzeO0aNH06FDB5ydnYvd9qWXXuKZZ57hzjvv5JlnniE7O5tXX32VHj16sHbt2oJWrX379tGsWTNGjhyJv78/iYmJzJgxgyuuuILt27cXtFA+8sgjfPLJJ7zwwgu0b9+e9PR0tm7dSlJSUsE5P//8c0aPHs0111zD3LlzycrKYvr06fTu3Zvly5fTvXv3QjEOHz6cESNGcNddd7FlyxaefPJJAD766KOCbeLi4hg1ahQRERG4uLiwadMmXnzxRXbs2FFou4vp0KEDs2bNKrge1113HQANGjQgKCiICRMm8O6779K1a9eCfXJzc/nPf/7DjTfeSGhoaInH/vnnn+nfvz/R0dHMnDkTV1dX3nvvPQYPHszcuXMZMWIEd999N23btmXYsGE8+OCDjBo1CldX1zLHmi87O5shQ4Zwzz33MHHixIsmgQsXLmTFihU899xzeHp68t5773HLLbfg5ORU0B25ND/jffv2ERERwR133FFsclecvLy8IvHZbDYcHR1Ltf9fFffaMzMz6dOnD3FxcUydOpXo6GhWrVrFtGnTiImJKXQDpLTX48iRI3Tu3BkHBwcmTZpEZGQkv//+Oy+88AL79u1j1qxZJcY4duxYhg4dyk8//US/fv0K1u/YsYO1a9fy1ltvAfD7778zYsQIRowYwZQpU3BzcyMh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pkyZQnZ2Nu+//36x+3/xxRc4OzuzePHigp8RcNm9FEREaiK1dIuI1BDFJXZAQTfw/CRgwIABODk5ERcXV6SFMf8LzOTFMIwiBb0+/PBD8vLySoyjXr16jBkzhltuuYWdO3eSkZFBs2bNqF+/Pp9//nmhysbp6enMmzevoKJ5WeQnT+fHZxhGoS7gZfHXlvS/6tixI926deOVV17hs88+Y8yYMXh6el7wmJ6ennTp0oX58+cXOq7dbufTTz+lQYMGNG3atNxjLavly5cX9IAAs6vzl19+SWRkZLHTSxX3M64o+dXWN2/eXGj9woULS32Mvn37cvr06SIJ4ccff1zw/PlKcz2uv/56tm7dSmRkZLF/QxdLusHs7r1mzRp+/fVXFi1aVKgr+F+5urrSq1cvXnnlFYAiMw2c7/PPP+fMmTM8//zzrFixoshXQEBAiYUGmzZtyjPPPEObNm3YsGFDieew2Ww4OTkVivfMmTN88sknF33dIiK1jVq6RURqiAEDBtCgQQMGDx5M8+bNsdvtxMTE8K9//QsvLy/Gjx8PmEnMc889x9NPP83evXsZOHAgfn5+HD16lLVr1xa0aPr4+NCzZ09effVVAgICCA8P5+eff2bmzJnUqVOn0Lm7dOnC9ddfT3R0NH5+fsTGxvLJJ58USqanT5/O6NGjuf7667nnnnvIysri1VdfJSUlhZdffrnMr7d///64uLhwyy23MGHCBDIzM5kxY0aRbuqlFRkZibu7O5999hktWrTAy8uL0NDQQsnT+PHjGTFiBDabraCV8GKmTZtG//796dOnD4899hguLi689957bN26lblz55a5Vbq0sZZFQEAAV199Nc8++2xBte4dO3YUmiarND/jhIQEIiMjueOOO0o9rvvPP//E19e3yPqWLVvi4+NDcHAw/fr1Y9q0afj5+REWFsby5cuZP39+qV/f7bffzrvvvssdd9zBvn37aNOmDb/++isvvfQS1157baEK4qW9Hs899xw//PAD3bp1Y9y4cTRr1ozMzEz27dvH//73P95///2Lzod9yy238Mgjj3DLLbeQlZVVMMY836RJkzh48CB9+/alQYMGpKSk8Oabb+Ls7EyvXr1KPO7MmTPx8/PjscceK9QKff71eP3119m0aVPBFGl/+9vfaNKkCS4uLvz0009s3ry5UA+Xv7ruuut4/fXXGTVqFP/4xz9ISkritddeK7HqvohIrWZpGTcRESk3X375pTFq1CijSZMmhpeXl+Hs7Gw0atTIuO2224zt27cX2X7BggVGnz59DB8fH8PV1dUICwszbrrpJuPHH38s2ObgwYPG8OHDDT8/P8Pb29sYOHCgsXXr1iKVvydOnGh06tTJ8PPzM1xdXY3GjRsbDz/8cEEV5vPP2aVLF8PNzc3w9PQ0+vbta/z222+FtsmvsHz8+PFC62fNmmUARnx8fMG6RYsWGW3btjXc3NyM+vXrG48//rjx3XffFal2XZrq5YZhGHPnzjWaN29uODs7G4AxefLkQs9nZWUZrq6uxsCBA4tczwtZtWqVcfXVVxuenp6Gu7u7ceWVVxqLFi0qtE1ZqpdfKNY77rjD8PT0LHafkqqX33///cZ7771nREZGGs7Ozkbz5s2Nzz77rNB2pfkZ57+Gv17X4lyoejlg/PDDDwXbJiYmGjfddJPh7+9v+Pr6Grfeequxfv36YquXl/Tak5KSjH/+859GSEiI4eTkZISFhRlPPvmkkZmZeUnXwzAM4/jx48a4ceOMiIgIw9nZ2fD39zc6duxoPP3008bp06cveg0MwzBGjRplAMZVV11V5LnFixcbgwYNMurXr2+4uLgYQUFBxrXXXmusWrWqxONt2rTJAIyHHnqoxG127NhhAMaDDz5oHD161BgzZozRvHlzw9PT0/Dy8jKio6ONf//73wVVzw2j+OrlH330kdGsWbOC34dp06YZM2fOLPJ3KiJS29kM47x+fiIiIlKiRYsWMWTIEJYsWcK1115rdTjlwmazcf/99/POO+9YHUqVoOshIiLlTd3LRURELmL79u0kJCTw6KOP0q5du4JpoUREREQuRoXURERELuK+++5jyJAh+Pn5XfI4bBEREamd1L1cREREREREpIKopVtERERERESkgijpFhEREREREakgSrpFREREREREKkiNr15ut9s5fPgw3t7eKnwjIiIiIiIi5cIwDE6dOkVoaCgODiW3Z9f4pPvw4cM0bNjQ6jBERERERESkBjpw4AANGjQo8fkan3R7e3sD5oXw8fGxOBoRERERERGpCdLS0mjYsGFBzlmSGp9053cp9/HxUdItIiIiIiIi5epiw5hVSE1ERERERESkgijpFhEREREREakgSrpFREREREREKkiNH9MtIiIiIiLyV3a7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d3HHyZe/ve0vvUwMwyiyrjj529jtdu655x5iYmIKvjZt2sTu3bsvKdE9P8bSnL+4dVOmTGHbtm1cd911/PTTT7Rs2bKgZb4yKekWEREREWvk5UDMXHO5IubmLo5PiPmYmQLZGZVzTpFKEBgYCEBiYmLButJMxRUVFYWLiwu//vprwbqcnBzWr19fpHX6jz/+KFhOTk5m165dNG/eHIAOHTqwbdu2IjcF8o9fHBcXF/Ly8kr9Gv8qNze3UGG0nTt3kpKSUhATQNOmTXn44Yf5/vvvGTZsWJHq75VB3ctFRERExBp7foT0Y+AZCE0HVM45ndzAIwAyTsCpw2bxNpFqIisriyNHjhRa5+TkREBAAO7u7lx55ZW8/PLLhIeHc+LECZ555pmLHtPT05N7772Xxx9/HH9/fxo1asT06dPJyMjgrrvuKrTtc889R926dalXrx5PP/00AQEB3HDDDQA88cQTXHnlldx///38/e9/x9PTk9jYWH744QfefvvtYs8dHh5OfHw8MTExNGjQAG9v7zJNgebs7MyDDz7IW2+9hbOzMw888ABXXnklnTt35syZMzz++OPcdNNNREREcPDgQdatW8fw4cNLffzyopZuEREREbHGhk/Mx7YjwbESKwoXdDHX1GFSvSxdupSQkJBCX927dy94/qOPPiInJ4dOnToxfvx4XnjhhVId9+WXX2b48OHcdtttdOjQgT179rBs2bKC6cjO3278+PF07NiRxMREFi5cWNCKHR0dzc8//8zu3bvp0aMH7du359lnnyUkJKTE8w4fPpyBAwfSp08fAgMDmTt3bpmuh4eHB0888QSjRo2ia9euuLu788UXXwDg6OhIUlISt99+O02bNuXmm29m0KBBTJ06tUznKA824/xO/zVQWloavr6+pKam4uPjY3U4IiIiIgJm9fDXW4CRB/etgaDmF9/nQhaNL8O5j8CupWard/SIC1dMH/zm5cUlVU5mZibx8fFERETg5uZmdTjVwsqVK+nTpw/JycnUqVPH6nAAc57uhx56qGDe7opyod+X0uaaaukWERERkcq3+Usz4W5wxeUn3GXlGQgOTpCbCWdOXnx7EZHLoKRbRERERCqXYRSem7uyOTiC99kur6piLiIVTEm3iIiIiFSug+vgxE5w9oBWw6yJQeO6RUqtd+/eGIZRZbqWA4wZM6bCu5aXFyXdIiIiIlK5Np4toNbyBnCzqOaOT33z8fQxc+oyEZEKoqRbRERERCpPdjpsnW8uW9G1PJ+rN7h4gWGH00eti0NEajwl3SIiIiJSebZ/C9mnwb8xhHWzLg6b7bwu5hrXLSIVR0m3iIiIiFSe/AJq7UZfeKquyqBx3SJSCZR0i4iIiEjlSIqDhN/A5gDtRlkdzdkK5jbITDVb30VEKoCSbhERERGpHPmt3FH9zrUyW8nJFTwDzGW1dotIBVHSLSIiIiIVLy8XNs01l60soPZX6mIutcS+ffuw2WzExMRU2jltNhsLFiyotPNVVU5WByAiIiIitUDcT3AqETzqQtNBVkdzjk99SNwEaYlmJXOb2qRqrUXjK/d8g9+8pN1Wr15Njx496N+/P0uXLi31fg0bNiQxMZGAgIBLOi/AypUr6dOnD8nJyaWaszsxMRE/P79LPl9Nof8qIiIiIlLxNn5sPkaPBCcXa2M5n2cAODhDXhZknLQ6GpGL+uijj3jwwQf59ddf2b9/f6n3c3R0JDg4GCenim93zc7OBiA4OBhXV9cKP19Vp6RbRERERCpW+gnY+Z25XJW6loPZsu0TYi5r6jCp4tLT0/nqq6+49957uf7665k9e3ah55OTkxk9ejSBgYG4u7vTpEkTZs2aBRTtXp6Xl8ddd91FREQE7u7uNGvWjDffLLn1fd++ffTp0wcAPz8/bDYbY8aMAaB379488MADPPLIIwQEBNC/f3+gcPfy/PN/8cUXdOvWDTc3N1q1asXKlStLFX91pu7lIiIiIlKxNn8J9lwI7QD1WlodTVE+oZCy3xzXHdLW6mhESvTll1/SrFkzmjVrxq233sqDDz7Is88+i+3s9HvPPvss27dv57vvviMgIIA9e/Zw5syZYo9lt9tp0KABX331FQEBAaxevZp//OMfhISEcPPNNxfZvmHDhsybN4/hw4ezc+dOfHx8cHd3L3h+zpw53Hvvvfz2228YhlHia3j88cd54403aNmyJa+//jpDhgwhPj6eunXrlin+6kRJt4iIiIhUHMOADZ+Yy1WtlTufT33z8fQxyMsGxyrU/V3kPDNnzuTWW82/o4EDB3L69GmWL19Ov379ANi/fz/t27enU6dOAISHh5d4LGdnZ6ZOnVrwfUREBKtXr+arr74qNul2dHTE398fgKCgoCJjuqOiopg+ffpFX8MDDzzA8OHDAZgxYwZLly5l5syZTJgwoUzxVyfqXi4iIiIiFefQBjgeC05u0Hq41dEUz9Xb/MKAU0esjkakWDt37mTt2rWMHDkSACcnJ0aMGMFHH31UsM29997LF198Qbt27ZgwYQKrV6++4DHff/99OnXqRGBgIF5eXnzwwQdlGid+vvxE+WK6du1asOzk5ESnTp2IjY29pPirCyXdIiIiIlJxNp5t5W45FNzrWBrKBeW3dmvqMKmiZs6cSW5uLvXr18fJyQknJydmzJjB/PnzSU5OBmDQoEEkJCTw0EMPcfjwYfr27ctjjz1W7PG++uorHn74YcaOHcv3339PTEwMd955Z0ERtLLy9PS85NeW3z2+LPFXJ0q6RURERKRiZGfA1nnmclXtWp5P83VLFZabm8vHH3/Mv/71L2JiYgq+Nm3aRFhYGJ999lnBtoGBgYwZM4ZPP/2UN954g//7v/8r9pirVq2iW7du3HfffbRv356oqCji4uIuGIeLizn0Ii8v75Jfyx9//FHodf355580b968zPFXJxrTLSIiIiIVI3YRZKVBnTAI6251NBfmHQzYzHizTp3tbi5SNSxevJjk5GTuuusufH19Cz130003MXPmTB544AEmTZpEx44dadWqFVlZWSxevJgWLVoUe8yoqCg+/vhjli1bRkREBJ988gnr1q0jIiKixDjCwsKw2WwsXryYa6+9Fnd3d7y8vMr0Wt59912aNGlCixYt+Pe//01ycjJjx44FKFP81YlaukVERESkYmw8r4CaQxX/2OnoAl6B5rJau6WKmTlzJv369SuScAMMHz6cmJgYNmzYgIuLC08++STR0dH07NkTR0dHvvjii2KP+c9//pNhw4YxYsQIunTpQlJSEvfdd98F46hfvz5Tp05l4sSJ1KtXjwceeKDMr+Xll1/mlVdeoW3btqxatYpvv/2WgIAAgDLFX53YjAvVc68B0tLS8PX1JTU1FR8fH6vDEREREakdTu6Ft9oDNnh4K/g2qNjzLRp/+cdI3ASHN5ot85HmfMQMLnneYqmeMjMziY+PJyIiAjc3N6vDqTX27dtHREQEGzdupF27dlaHU2oX+n0pba5ZxW85ioiIiEi1FPO5+Rh5dcUn3OUlf1z3qcNg2K2NRURqDCXdIiIiIlK+7Hnnku6qXkDtfB51zW7meTmQfsLqaESkhlAhNREREREpX3tXQNohcPeD5tdZHU3p2RzM1u7kfea4bq8gqyMSqTHCw8Op4SObS6SWbhEREREpXxvOFlBrczM4uVobS1kVTB12yNo4RKTGUNItIiIiIuUnPQl2LDGXO9xmbSyXwvts0p1+AnKzrI1FKlRtbXWVsimP35MqnXTn5ubyzDPPEBERgbu7O40bN+a5557DbldhCxEREZEqact/wZ4DIW0huI3V0ZSdqxe4+gAGnDpidTRSARwdHQHIzs62OBKpDjIyMgBwdna+5GNU6THdr7zyCu+//z5z5syhVatWrF+/njvvvBNfX1/Gjy+HaSFEREREpPwYxnlzc1fDVu58PvXheJq6mNdQTk5OeHh4cPz4cZydnXGo6nPIiyUMwyAjI4Njx45Rp06dgps1l6JKJ92///47Q4cO5brrzAIc4eHhzJ07l/Xr11scmYiIiIgUkRgDR7eCoyu0ucnqaC6dbygcjzWLqRkG2GxWRyTlyGazERISQnx8PAkJCVaHI1VcnTp1CA4OvqxjVOmku3v37rz//vvs2rWLpk2bsmnTJn799VfeeOONEvfJysoiK+vc+Ju0tLRKiFRERERE2Pip+dhisFm5vLryCjYrmWefhpN7oW6k1RFJOXNxcaFJkybqYi4X5OzsfFkt3PmqdNL9xBNPkJqaSvPmzXF0dCQvL48XX3yRW265pcR9pk2bxtSpUysxShEREREh54w5nhuq19zcxXF0Bs8gOH0E4n5S0l1DOTg44ObmZnUYUgtU6QEMX375JZ9++imff/45GzZsYM6cObz22mvMmTOnxH2efPJJUlNTC74OHDhQiRGLiIiI1FI7lkBmKvg2hIheVkdz+fKnDov7ydo4RKTaq9It3Y8//jgTJ05k5MiRALRp04aEhASmTZvGHXfcUew+rq6uuLpWs/kgRURERKq7/AJq7UZDTShM5RMKhzdA/C+Ql2O2fouIXIIq/R8xIyOjSDVBR0dHTRkmIiIiUpUkJ8DelYAN2o2yOpry4VEXnFzNcd0H11kdjYhUY1W6pXvw4MG8+OKLNGrUiFatWrFx40Zef/11xo4da3VoIiIiIpIv5nPzsXEv8AuzNpbyYrOBdygkx5tdzMO6WR2RiFRTVbql++233+amm27ivvvuo0WLFjz22GPcc889PP/881aHJiIiIiIAdjvEfGYuV+e5uYujcd0iUg6qdEu3t7c3b7zxxgWnCBMRERERC8X/DKkHwM0Xml9ndTTlKz/pPrQBMk6Ch7+18YhItVSlW7pFREREpIrLL6DW5m/g7G5tLOXNxRMCWwDG2THrIiJlp6RbRERERC5NxkmIXWwu17Su5fkirzYf1cVcRC6Rkm4RERERuTRb50FeFtRrAyFtrY6mYhQk3SvAMKyNRUSqJSXdIiIiInJp8ruWt7/VrPZdE4V1A0dXSDsIJ3ZbHY2IVENKukVERESk7BI3Q+ImcHSB6JutjqbiuHhAWFdzWV3MReQSKOkWERERkbLb+Kn52Ozaml/VW+O6ReQyKOkWERERkbLJyYTNX5rLHWpoAbXz5Sfd+1ZBbpa1sYhItaOkW0RERETKZuf/IDMFfOpD4z5WR1PxglqBZxDkZMCBNVZHIyLVjJJuERERESmb/K7l7UaBg6O1sVQGBweIPHtzQV3MRaSMlHSLiIiISOmlHDiXeLYbbW0slUnjukXkEinpFhEREZHS2zQXMCC8B/hHWB1N5cnvRp+4CdJPWBuLiFQrSrpFREREpHTs9nNdy9vXggJq5/OuB/XamMt7V1oaiohUL0q6RURERKR0En6FlARw9YEWg62OpvLlj+ves9zaOESkWlHSLSIiIiKls+ET87H1cHDxsDYWK5w/rtswrI1FRKoNJd0iIiIicnFnUiB2oblc27qW52vUFZzc4PQROBZrdTQiUk0o6RYRERGRi9s6D3IzIagl1O9gdTTWcHaDsKvMZVUxF5FSUtItIiIiIhdXUEDtVrDZrI3FSlF9zUcl3SJSSkq6RUREROTCjm6DwxvAwQmiR1gdjbXyx3Un/AY5mdbGIiLVgpJuEREREbmw/FbuZoPAM8DaWKwW2By8Q8yu9vtXWx2NiFQDSrpFREREpGS52bDpC3O5/e3WxlIV2GyFq5iLiFyEkm4RERERKdmu7+DMSbN1Nz/ZrO0Kku4V1sYhItWCkm4RERERKVl+1/K2t4Cjk7WxVBWNewM2OLoVTh2xOhoRqeKUdIuIiIhI8dIOw54fzeX2t1obS1XiGQAhbc3lvSstDUVEqj4l3SIiIiJSvJjPwbBDo25QN9LqaKoWjesWkVJS0i0iIiIiRRnGua7lHW6zNpaq6Pyk2263NhYRqdKUdIuIiIhIUQmrITkeXLyg5VCro6l6GnYGZ09IP26O7RYRKYGSbhEREREpauMn5mPrYeDiaW0sVZGTK4R3N5fVxVxELkBJt4iIXJg9D+JXwZavzUd7ntURVUl5doPf45L4NuYQv8clkWc3rA6pytK1qgYy02DbAnO5vbqWl0jjukWkFDTvg4iIlGz7Qlj6hFnBOJ9PKAx8BVoOsS6uKmbp1kSmLtpOYmpmwboQXzcmD27JwNYhFkZW9ehaVRPb5kPuGQhoBg2usDqaqiuqr/m4/3fIzgAXD2vjEZEqSS3dIiJSvO0L4avbCyfcAGmJ5vrtC62Jq4pZujWRez/dUCiJBDiSmsm9n25g6dZEiyKrenStqpH8AmrtbwWbzdpYqrK6UeDbEPKyzTHwIiLFUEu3iIgUZc8zW7gprtuvAdhg6URofh04OFZycFVHnt1g6qLtJV4lgKe/2YqPmzMODrU7cbHbDZ76ZuuFfqOYumg7/VsG41jLr5Xlju2Ag+vA5ghtR1odTdVms0FkH9jwMcQthyb9rI5IRKogJd0iIlJUwuqiLdyFGJB2yNwuokelhVXVrI0/WaTV9q+S0rMZ9eGaSoqo+jKAxNRM1safpGtkXavDqd3yC6g1HQheQdbGUh1EXn026da4bhEpnpJuEREp6vTR0m33y3TY+vXlnWvwm5e3/yV6cv6Wyz5G/PHTpdouyNsVb7fq+ZZ7/FRWuRwnJ8/OmZyLz2V87NSFb2JIBcvLgU1fmMvtb7U2luoiohdgg+M7IPUQ+Na3OiIRqWKq5ycAERGpWF71Sreds3vFxlFF2Q2D+BPpbDqQUqrt3xzZvtq23pbHzQmAo2mZ/LTj2EW3C/J2K5fzySXatQwyTpj/A5pcY3U01YOHP9TvAIf+hL0rdLNCRIpQITURESkqrJtZpZwLjK119ih9cl5DGIZBQlI6/9ucyNr4k2TlXrjl1oZZmbtzhH/lBFiFBXq74u5S8vh/XasqIr+AWtuR4Ki2mVKLPFvFXF3MRaQYSrpFRKQoB0dzWrBiy16d1bAL2GrH24hhGBxKzmDp1iOsjkviVFYurk4OtG9Yp8QW7PzbFZMHt1RhMMDBZqNjI78SnzfQtbLcqSOw+3tzuZ1aa8ukYL7uFWC/+DAKEalddAtTRESK13IIRPSG+JVFn4voBX5hlRyQNY6kZbL5QApJ6dkAODvaaB7sQ7Ngb5wdzZsOjjYbf+5P5kx2XsF+wZp7uoiG/h50jwoocq0AmtbzYkCrYIsiEwA2zQUjz7yhFtjU6miqlwadwMUbzpyEI5sgtL3VEYlIFaKkW0REimfPg6NbzeX+z5tjPQ+sAXsOONT8t48Tp7PYfDCFo2lmITFHBxtN63nTIsQbV6fC3aQb+ntQ38+d46eyGNoulCBvs5u0Wm2L+uu1woAJ8zax6+hp/rv+IDdf0dDqEGsnwzhvbu7brI2lOnJ0hoiesHMJ7FmupFtECqn5n5pEROTS7P/DLKjkVgeuvBdOxsGZZDi2DZJ2Q52amRwlZ2Sz5WAqh1LOAOBgg8hAL1qF+l5wTLKDzUY9HzeGtlPl4ov567U6diqLF/8XywtLttO7eaCKqVnhwBpI2gPOntDqBqujqZ4i+5hJd9wK6PmY1dGISBVSOwbjiYhI2cUuMh+bXWu24gAERJmPKQcg54w1cVWQtDM5/LbnBEu3HuFQyhlsQESAJ9dFh9Ip3P+CCbdcnjuvCqdNfV/SMnOZunC71eHUThvOzs3d6kZw9bY2luoqf1z3gTWQdcraWESkSlHSLSIiRRnGuaS7xeBz6939wDMAMMyW7xogPSuXNfFJ/G9LIvtPZgDQyN+Da9uEcGXjuni5qlNYRXNydODl4W1wdLCxZEsiP2wv5TzxUj6yTsG2b8xlTXd16epGgl+4OQRn329WRyMiVYiSbhERKerwRkg7aHY1jexT+Lm6TczHE7vN5LyaOpOdx58JJ1m8+TB7j6djAKF13BjYKpirogLwcXe2OsRapVWoL3/v0RiAZxds5VRmjsUR1SLbFkBOOtSNgkZXWh1N9VZQxVxTh4nIOUq6RUSkqPxW7ib9wNm98HP+EWBzhMxUSD9e+bFdppSMbF5ZuoNFmw+z6+hp7AYEebvSv0U9ejUNws/TxeoQa62H+jUhrK4HR9Iymb50p9Xh1B4FBdRuBZuK/10WJd0iUgwl3SIiUtSOxeZjiyFFn3N0MbtQgll4qZo4nZXL28t302P6CmasjCPPblDX04U+zYK4unkQAd6uVodY67k5OzJtWBsAPvkjgfX7TlocUS1wYjcc+MO8kdb2Fqujqf7Ce5jXMmk3pOy3OhoRqSKUdIuISGHHd8KJXWZy3eSa4rcJONvF/GQ85FXtbsCZOXl8uGovvaav4F8/7OJUZi7N6nnTo0kA/VvWI9jXDZta96qMbpEB3NypAQAT528hKzfvInvIZdl4toBak/7grXnSL5t7HXPOblBrt4gUUNItIiKFxS40Hxv3Bjef4rfxqmdWOLbnQEpCpYVWFjl5dj5fs58+r63khSWxJKVnE17XgzdHtuO78T1o4OehZLuKeuraFgR4ubLn2GneW1EzCvZVSXk5EDPXXFYBtfKjLuYi8hdlTrrPnDlDRkZGwfcJCQm88cYbfP/99+UamIiIWKS4quV/ZbOZRZfA7J5aheTZDRZsPES/13/mqW+2kJiaSYivGy8Pa8MPj/RiaLv6ODgo2a7K6ni4MHVIKwDeW7mHXUc1/VKF2PMjpB8Dz0BoOtDqaGqOyL7m496VYFdPDRG5hKR76NChfPzxxwCkpKTQpUsX/vWvfzF06FBmzJhR7gGKiEglSk6AxE1gczDn576QulGADU4fhcy0SgnvQgzDYNm2I1z75ioe+jKGhKQMArxcmHR9S1Y81puRnRvh7KgOXtXFtW2C6dciiJw8g4nzNmO3V99K+VVWfgG16BHgqGr95Sa0Pbj5msUmD2+0OhoRqQLK/Oljw4YN9OjRA4Cvv/6aevXqkZCQwMcff8xbb71V7gGKiEglyi+gFnbV2fm4L8DFE3xCzWULC6oZhsGq3ce54d3fuOeTP9l59BQ+bk48PqAZPz/eh7HdI3BzdrQsPrk0NpuN529ojZerExv2p/Dpmqo5jKHaOn0Mdi01l9W1vHw5OkFEL3NZXcxFhEtIujMyMvD29gbg+++/Z9iwYTg4OHDllVeSkKA3RBGRai2/a3nz60u3fX5BtaQ9YNgrJqYLWL/vJCP/7w9um7mWTQdT8XBx5P4+kayacDX394nC09Wp0mOS8hPi684TA5sB8Mp3OziccsbiiGqQTV+APRfqd4KgFlZHU/Pkj+ves9zaOESkSihz0h0VFcWCBQs4cOAAy5Yt45przMq2x44dw8enhII7IiJS9Z0+Bvv/MJdblDLp9m0Ijq6QkwFphysutr/YeiiVO2et5ab3f2dN/ElcHB2486pwfn68D48PaI6vh7rK1hSju4TRMcyP9Ow8nl2wFcNQN/PLZhjnupZ3uM3aWGqqyD7m48F1ZjdzEanVypx0T5o0iccee4zw8HA6d+5M165dAbPVu3379uUeoIiIVJIdSwADQjuAb4PS7ePgCHUbm8uVUFBtz7HT3P/ZBq5/+1dW7DyOo4ONWzo3ZOXjvZk8uBWBmmu7xnFwsPHysDY4O9pYvuMYS7YkWh1S9XdwPZzYCU7u0GqY1dHUTH7h4B8JRh7Er7I6GhGxWJn73d100010796dxMRE2rZtW7C+b9++3HjjjeUanIiIVKLSVC0vTkBTOBYLqQcgJxOc3co9tAMnM3hz+W7mbziI3TCLpw9pG8pD/ZoSEeBZ7ueTqqVJPW/u7xPFGz/uZsrCbXSPCqCOh4vVYVVfG82CuLS6oeRpAeXyRV4NJ+PMcd2l7T0kIjXSJQ12Cw4OJjg4mAMHDmCz2WjQoAGdO3cu79hERKSynEmB+J/N5RZDyravux941IWMJPMDZr1W5RbWsbRM3lmxh7lr95OTZ3Yr7t+yHo9e05TmwUoWapN7e0eyZHMiu4+d5sUlsbz6t7YX30mKyk6HrfPNZRVQq1hRfWHdByqmJiJl716em5vLs88+i6+vL+Hh4YSFheHr68szzzxDTk5ORcQoIiIVbdcys6hSYAsIiCr7/oUKql3+mNvk9GymfRdLz1dX8PHvCeTkGXSPCuCb+7rxwe2dlHDXQq5Ojrw8vA02G/z3z4P8tueE1SFVT9u/hezT4BdhzlIgFSe8Ozg4QXI8nNxrdTQiYqEyt3Q/8MADfPPNN0yfPr1gPPfvv//OlClTOHHiBO+//365BykiIhUsdqH5WNau5fn8IuDAOjiTbLZ4X2y6sRKcyszho1/38eGqvZzKygWgQ6M6PDagGd0iL+2YUnN0DPPntivD+Pj3BJ76ZgtLx/fE3UXTwZVJfgG19rea4zSk4rh6Q8MukPCb2drt39jqiETEImVOuufOncsXX3zBoEGDCtZFR0fTqFEjRo4cqaRbRKS6yc44N63NpY47dHIFvzCzNefE7jIn3Zk5eXzyewLvrdxDcobZa6pFiA+PD2hKn2ZB2JQcyFmPD2jGD9uPkpCUwRvLd/HkIE13VWpJcWYCaHOAtrdYHU3tENnnbNK9Aq642+poRMQiZe5e7ubmRnh4eJH14eHhuLioqImISLUTtxxyz0CdRhAcfenHqXu2i/nJvWZX9VLIttv45I8Eer26ghf/F0tyRg6NAz15Z1R7ljzYnaub11PCLYV4uznzwg2tAfhwVTxbD2k6plLLb+WO7Au+9a2NpbbIn687/hfI0zBMkdqqzEn3/fffz/PPP09WVlbBuqysLF588UUeeOCBcg1OREQqQUHV8iGX193UOxhcvMCeA8kJF9w0z4B5x0Lou+Eqnl2wlaNpWdSv4870m6L5/qGeXB8dioODkm0pXt8W9bguOoQ8u8HE+ZvJzbNbHVLVl5cLm+aayyqgVnlC2pnFJrPS4NCfVkcjIhYpc/fyjRs3snz5cho0aFAwZdimTZvIzs6mb9++DBt2br7H+fPnl1+kIiJS/nKzYedSc/lSx3Pns9mgbhQkxkDSbqgbWWQTw4ClSUG8vj+K3We8AAjwcuXBq6MY2bkhrk4anyulM2VwK37dfYKth9L46Ld4/tGz6O+bnCfuJziVaM400Oxaq6OpPRwcoXEf2Dbf/Bk0utLqiETEAmVOuuvUqcPw4cMLrWvYsGG5BSQiIpVo3y+QlQpe9aBBOUz9GHA26T51BLJOmYWEMJPtn1Pq8q+EKLak+wLg65TDP+vHc8ddD+LhckkzWEotFujtytPXtWDC15t5/YddDGgVTFhdzdleoo2fmI/RI8BJwwErVeTV55LuPk9ZHY2IWKDMn3JmzZpVEXGIiIgV8ruWN78OHMo84qgoFy/wCYW0w+b0YaHtWZtah9f2N2Ftmh8Ang653BWawN31E/BxygUl3HKJ/taxAQs2HmJ1XBJPfbOFT+/qohoAxUk/ATu/M5fVtbzyRfYxHw/9ac7w4O5nbTwiUunK4ROWiIhUS/Y82LHEXL7cruXnO1tQLft4HGO2tuPmrZ1Zm+aHiy2Pv4fu45dOq3gkLM5MuEUug81m46Ub2+Dq5MBve5KYt+GQ1SFVTZu/NGsthLaHeq2sjqb28W0AAc3AsMPen62ORkQsUKrmhQ4dOrB8+XL8/Pxo3779Be8ib9iwodyCExGRCnRgDaQfBzdfCO9Rbofd49KcENbhmXuavIwjONkCGFHvEA822Euwa9bFDyBSBuEBnjzcvykvf7eD5xdvp1fTQAK9Xa0Oq+owDNhwtmu5WrmtE3k1nNhpdjFvdYPV0YhIJStV0j106FBcXc03sBtuuKEi4xERkcqS37W86SBwdL7sw+3PdOeN/ZEsOB7CJKd4xjh9zyMe31G3WSqN3M5c9vFFSnJ39wgWbTrMtsNpPLd4O2/f0t7qkKqOwxvgeCw4uUHrm6yOpvaKvBrWzDDn6zaMy5spQkSqnVIl3ZMnTwYgLy+P3r17Ex0djZ+fxqOIiFRbhgGxi83ly+xafjTLlbcPNuaLo/XJNcxRS4e82kDm97TP2wJOLQC3ywxYpGROjg68PCyaoe/+yqJNh7mxfShXN69ndVhVQ34rd4sh4F7H0lBqtfCrwNEFUvdDUpxZdFJEao0yjel2dHRkwIABpKSkVFA4RR06dIhbb72VunXr4uHhQbt27fjzT81zKCJyWRI3mR/+nD3MFpgLyLMb/B6XxLfHg/k91Y88w1x/MseZl+Kb0nNDdz490pBcw4GedU6wMPoPnm6VBO7+5hjGk/GV8IKktmvTwJe7ezQG4JlvtnI6SzUDyM6ArfPMZXUtt5aL57npwuJ+sjYWEal0ZS4Z26ZNG/bu3UtERERFxFNIcnIyV111FX369OG7774jKCiIuLg46tSpU+HnFhGp0fK7lkf1AxePEjdbujWRqYu2k5iaCUQDUM8lk47eKfySEsDpPPNt5AqfZB5rtIcuvsnndg5oYo4bP7EbglpU1CsRKfBwv6Ys3XqE/SczeG3ZTqYMqeVFw2IXQVYa1Akr17oNcokir4b4XyBuOXT5h9XRiEglKnP18hdffJHHHnuMxYsXk5iYSFpaWqGv8vTKK6/QsGFDZs2aRefOnQkPD6dv375ERkaW63lERGqd/KS7xZASN1m6NZF7P91wNuE+52i2K/9LCuZ0nhOtPdOY3fJPvmq9rnDCDeDfGGwOcOYkZCSV9ysQKcLdxZEXb2wNwJzf9/FnQvJF9qjhNp5XQK08pgSUy5Pfqyh+FeRmWxuLiFSqMv8HHjhwIJs2bWLIkCE0aNAAPz8//Pz8qFOnTrmP8164cCGdOnXib3/7G0FBQbRv354PPvigXM8hIlLrHN9pVtF1cIam1xS7SZ7dYOqi7RjFPmsDDPycslkQ/Qe9/ZKKrwnk5Ap1GpnLJ3aXT+wiF9GjSSDDOzTAMODJ+ZvJzrVbHZI1TsbDvlWADdreYnU0AlCvDXgEQE46HFxrdTQiUonK3L18xYoVFRFHsfbu3cuMGTN45JFHeOqpp1i7di3jxo3D1dWV22+/vdh9srKyyMo6NyVNebe+i4hUe/mt3I17mdOFFWNt/MkiLdyF2UjOdWHdKT+6/rWF+3wBTSF5H5zcCw06gUOZ33ZEyuyZ61qwcucxdh09zfs/xzGubxOrQ6p8MZ+Zj5F9oE5Da2MRk4OD+fPY8l9zXHd4d6sjEpFKUuZPPxERETRs2LDIXN2GYXDgwIFyCwzAbrfTqVMnXnrpJQDat2/Ptm3bmDFjRolJ97Rp05g6dWq5xiEiUp08OX/LBZ+/f/dXNADmn+nAuhK23ZeUXqpzHcu+yHzI3sFmAaHsdEjZb3Y5F6lgfp4uTB7SinFzN/LOT3u4tk0wUUHeVodVeex5EPO5uawCalVLZN9zSXffSVZHIyKVpMzdyyMiIjh+/HiR9SdPniz34mohISG0bNmy0LoWLVqwf//+Evd58sknSU1NLfgq7xsBIiLVmW/2ERqc2YkdG9t9Sy6s5O7sWKrjBblkXXgDmwPUPTs1jrqYSyUaHB1Cn2aBZOfZmThvC3Z78YMlaqS9KyDtELjVgWbXWR2NnC+yj/l4OAbSVetCpLYoc9JtGEaRVm6A06dP4+ZWvvOwXnXVVezcubPQul27dhEWFlbiPq6urvj4+BT6EhERU6u0XwDY59mWdKeS63AEervi7lJy4m3DIMTlDJ19SlGoKj/pPpUIWafKFK/IpbLZbLxwYxs8XBxZn5DM52tLvmFf42z81HyMHgHO5fvZTC6TdzAEtQIMiF9pdTQiUklK3b38kUceAcw3sWeffRYPj3NTzOTl5bFmzRratWtXrsE9/PDDdOvWjZdeeombb76ZtWvX8n//93/83//9X7meR0SktmiVaibd23x7XnA7B5uN1qE+rNtXNKm2nS2vNrnxThyLK6D2V67e4B1iJt1JcRDarqxhi1yS+nXcmTCgGVMWbefl73bQr0U9gn1reBKacRJ2LDGX1bW8aorsA8e2wZ6foPVwq6MRkUpQ6pbujRs3snHjRgzDYMuWLQXfb9y4kR07dtC2bVtmz55drsFdccUVfPPNN8ydO5fWrVvz/PPP88YbbzB69OhyPY+ISG3glXOS8PRNAGzzuXDSDZB6JhcAh78k1sEumcxovomBdY+V/uQBZwtZJe0GoxZ18xXL3dY1nHYN63A6K5dnv92KUdN//zZ/BXnZEBwNIdFWRyPFyZ86LO4n/T8UqSVK3dKdX7X8zjvv5M0336y0btvXX389119/faWcS0SkJmuR9isOGBx0b06qS/AFt83MySPu+GkAejQJwNHBgaH2HwlyyaKzT3LpWrjPV6cRODqbBdVOJYJP6CW+CpGycXSw8crwaK57axU/bD/K0q1HGNQmxOqwKoZhnDc3923WxiIlC+sGTm5w6rA5hWNQc6sjEpEKVuYx3bNmzdI4aRGRaqhV2s/AxbuWA+w8coo8u4G/pwshvu7U83FjaOARuvpeQsIN5lRh+ZXLVVBNKlmzYG/u6x0JwKSF20jNyLE4ogqSuAmObgVHV2hzk9XRSEmc3c3EG8zWbhGp8cqcdIuISPXjmneayNN/ArDNp9cFt83OtbP7mFnwrFWoT7HFMy9J3bNdzFMSIPciVc9Fytn9V0cRGejJ8VNZTPsu1upwKkZ+K3eL68HD39pY5MLO72IuIjWekm4RkVqgedpqnIxcjrqGc9yt5BkgAHYfO0VOnoGvuzP167iXXxAedcHdDww7nIwvv+OKlIKrkyMvDzfHOH+x7gC/x9Ww6ZpyzpjzP4MKqFUH+Un3vl91E1KkFlDSLSJSC+RPFXaxruW5eXZ2HDFbuVuGlGMrN4DNdq61O0ldzKXyXRHuz+gujQB46pstZObkWRxROdqxBDJTwbchRFy4N4tUAUEtwase5J6B/b9bHY2IVLBSJd0dOnQgOdmcNua5554jIyOjQoMSEZHy42zPpFnaH8DFu5bvOX6a7Fw7Xq5ONKrrccFtL0ndxmBzgIwkc2ojkUr2xKDm1PNxJf5EOm8tr0E3f/K7lrcbBQ6O1sYiF2ezqYu5SC1SqqQ7NjaW9PR0AKZOncrp06crNCgRESk/TU6txcXIJNk5mMPuTUvcLs9usCPRbOVuEeKDQ3m2cudzcjNb4kCt3WIJHzdnnhvaGoD//LKX7YfTLI6oHCQnwF6zUCLtNK1qtaGkW6TWKNWUYe3atePOO++ke/fuGIbBa6+9hpeXV7HbTpo0qVwDFBGRy9MqNb9qeS+zdaUE8SfSOZOTh7uzIxEBnhUXUEATs5ha0l6o36niziNSggGtghnUOpjvth5h4vzNfHPfVTj+dUL66iTmc8Awu5X7Xbhmg1QhjfuYj0e2wOlj4BVkbTwiUmFKlXTPnj2byZMns3jxYmw2G9999x1OTkV3tdlsSrpFRKoQR3sOLU79Blx4PLfdMIhNNFv8WoR4V2wC4hMKzh6QkwGpByruPCIXMHVIK37dc4LNB1OZ9Vs8d/dobHVIl8Zuh5jPzGXNzV29eAVCcDQc2Qx7V0L0zVZHJCIVpFRJd7Nmzfjiiy8AcHBwYPny5QQF6W6ciEhV1zh9I+55pznl5EeCR+sSt0tIyuB0Vi6uTg5EBhbfk6nc2BygbpT5QVNzdotFgnzcePraFkycv4V/fb+LAa2CaehfAXUMKlr8z+bNK1dfc6owqV4irzb/F8b9pKRbpAYrc/Vyu92uhFtEpJpomWpWLd/u0wPDVnxxJcMw2H62lbtZsDdOjpUwsUXdKPMx7RCkHqz484kUY8QVDekS4c+ZnDye+mYLhmFYHVLZbfzUfIz+GziX4xR/UjnOH9ddHX//RKRULumTVVxcHA8++CD9+vWjf//+jBs3jri4uPKOTURELoPNyDtvqrCSq5YfTD5D2pkcnB1tNAnyrpzg3HzM6XIAYuZWzjlF/sJmszFtWBtcnBxYtfsEC2IOWR1S2ZxJhthF5rLm5q6eGl0JTu5w+igc3WZ1NCJSQcqcdC9btoyWLVuydu1aoqOjad26NWvWrKFVq1b88MMPFRGjiIhcgkYZ2/DOPckZBy/2enYodhvDMAqqNzet542LUyW0cucLOFtJPeZTc1yqiAUaB3oxvq85f/xzi7aTdDrL4ojKYMvXkJcF9VpDSDuro5FL4eQK4d3NZVUxF6mxyvzpauLEiTz88MOsWbOG119/nX//+9+sWbOGhx56iCeeeKIiYhQRkUuQX7V8h89V5Dk4F7vNkdRMTmZk4+hgo1m9SmrlzucXBg7OkLwPEn6r3HOLnOcfPRvTPNib5Iwcnl+83epwSi9/bu72t15wZgKp4qL6mo9KukVqrDIn3bGxsdx1111F1o8dO5bt26vRG5WISE1mGLQ6O5576wWqlm87O5Y7KtALV+fix3xXGAcn8I8wl/OTBxELODs68PLwaBxssCDmMCt3HrM6pItL3AyJm8wbV21UgKtayx/XnbAacs5YG4uIVIgyJ92BgYHExMQUWR8TE6MCayIiVURI5m78cxLJtrmy27tLsdscO5XJ8VNZONigeUglt3LnCzC79bL9W8hMtSYGEaBdwzrceZV5E+jpb7aSnpVrcUQXkV9Arfl14FnX2ljk8gQ0BZ/65lCBhNVWRyMiFaDMSfff//53/vGPf/DKK6+watUqfv31V15++WXuuece/vGPf1REjCIiUkatz3Yt3+XdhRwHt2K3yR/LHRHghYdLqWaQLH8eARDYAnIzYes8a2IQOevRa5rSwM+dQyln+Nf3u6wOp2Q5mbD5S3NZc3NXfzYbRPYxl9XFXKRGKnPS/eyzzzJp0iTefvttevXqRc+ePXnnnXeYMmUKTz/9dEXEKCIiZZQ/VVhJVctPpmeTmJqJDWgZ4lOJkf2FzXau6nJ+y52IRTxcnHjxxjYAzFodT8yBFGsDKsnO/0FmCniHnkvWpHo7f+owEalxypx022w2Hn74YQ4ePEhqaiqpqakcPHiQ8ePHY1MRDxERywVk7ic4K548HNnh063YbbYdNrtyN6rrgZebRa3c+aJHmOO7D/0JR1UbRKzVq2kgN7avj2HAxHmbycmrgpX1829QtRsFDpVci0EqRkRvwAbHtkNaosXBiEh5u6y5Yby9vfH2tmgcoIiIFKtVmtm1PM6rI5mORf9Hp57J4WCyWaynlZWt3Pm8AqHpQHNZrd1SBTx7fUv8PV3YceQU//fLXqvDKSz14LnW0PajrY1Fyo9nXQhtZy7vXWFpKCJS/ipxQlYREakM56qWF9+1fPvZVu4Gfu74erhUWlwX1OF283HzF5CbbW0sUuv5e7rw7PUtAHhz+W72Hj9tcUTnifkcMCC8B/g3tjoaKU+RmjpMpKZS0i0iUpOkHKDhmVjs2Ij16VHk6dOZuSQkZQDQKtS3sqMrWWRf8AqGjCTYtdTqaES4oV19ejYNJDvXzpPzt2C3G1aHBHb7ud4g+bUQpOYoGNe9wvxZi0iNoaRbRKQm2bEEgATPaE47+xd5OjYxDQMI9nXD37OKtHIDODpBu1vMZXUxlyrAZrPx4g2tcXd2ZE38Sb5cf8DqkCDhV0hJABdvaDHE6mikvDW4Aly8IOMEHNlsdTQiUo7KlHTn5OTQp08fdu2qwtNoiIjUZrGLANjm07PIUxnZuew9YXaTrRJjuf+q3dmWuz0/QNpha2MRARr6e/DYgGYAvPS/WI6mZVobUP4NqTbDwcXD2lik/Dm5mMMGQF3MRWqYMiXdzs7ObN26VVXKRUSqovQTsH81ANt8iybdOxJPYTcg0MuVIJ/i5+62VEAUNOoKhh02zbU6GhEAxnQLp20DX05l5jL5223WBXImBbZ/ay63v926OKRiaeowkRqpzN3Lb7/9dmbOnFkRsYiIyOXY+T8w7Bxyb0qKS0ihp7Jy8thzthhUy9Aq2Mqdr/1t5uPGT8GoAmNopdZzdLAxbVg0Tg42lm47wtKtR6wJZOs8yM2EwBZQv4M1MUjFy0+69/8B2enWxiIi5abMk7NmZ2fz4Ycf8sMPP9CpUyc8PT0LPf/666+XW3AiIlIGZ7uWb/UpWrV859FT5NkN/D1cCPGtgq3c+VoOhe8mwMm9sP93CCt+nnGRytQy1Id7ejXm3RVxTPp2K10j6+Lr7ly5QZxfQE09DmuuupFQpxGk7Id9v0HTa6yOSETKQZlburdu3UqHDh3w8fFh165dbNy4seArJiamAkIUEZGLykyFvSsB2PaXqcKyc+3sOnoKMJOHKj1EyNULWt1oLqugmlQhD17dhIgAT46dyuKVpTsq9+RHt8HhDeDgBNEjKvfcUrlsNnUxF6mBytzSvWLFioqIo3az50HCajh9FLzqmS07Do5WR1X16DqVSp7dYG38SY6dyiTI243OEf44OlThJEvKx+4fIC8bAppy3C288FPHTpGTZ+Dj5kQDP3dr4iuL9rfBxk9g2zcw8GVwq8Ld4aXWcHN2ZNqwNoz8vz/4fM1+bmhXn84RRWcIKFf573u/vWl+33QgeAVW7DnFepFXw5+zIW651ZGISDkpc9Kdb8+ePcTFxdGzZ0/c3d0xDKNqt55UVdsXwtInClfq9QmFga9AS00HUkDXqVSWbk1k6qLtJKaeq7Ab4uvG5MEtGdg65AJ7SrUXu9B8bDEYUs+tzs2zs/NIfiu3b/X4P92wMwQ0hRO7zMS74x1WRyQCwJWN63JL54bMXXuAifM3879xPXBzrqCbv8W97+3/3Vyv972aLaIn2BzM/4EpB6BOQ6sjEpHLVObu5UlJSfTt25emTZty7bXXkpiYCMDdd9/No48+Wu4B1mjbF8JXtxedGict0Vy/faE1cVU1uk6lsnRrIvd+uqFQwg1wJDWTez/dwNKtiRZFJhUu54zZ0g3Q/PpCT8UdTycr146nqyNhdavJFEM2mzluFdTFXKqciYNaEOjtyt7j6by7Yk/FnKSk972Mk3rfqw3c/aB+R3N5r3qYitQEZU66H374YZydndm/fz8eHuc+wI0YMYKlS5eWa3A1mj3PvINNcdV5z65bOtHcrjbTdSqVPLvB1EXbL3SVmLpoO3l2VYOukeJWQE4G+DSA0PYFq/PsBjuOpAHQMsQHh+rQyp0veiTYHOHgWji+0+poRAr4ujvz3JBWAMxYGVfwN1Zu9L4noHHdIjVMmbuXf//99yxbtowGDRoUWt+kSRMSEhLKLbAaL2F10TvYhRiQdgjeiAaXatI6VRGyM0p3nRJWQ0SPSgurqlkbf7JIC/f5DCAxNZO18SfpGlm38gKTynG2ajktBheqarzvRDoZ2Xm4OzsSEeBlUXCXyLseNB1gToO28RO45gWrIxIpMLB1MNe0rMf3248ycd4W5t3brfxqZ5T280Etf9+r8SL7ws+vmAUy7XmqYSNSzZU56U5PTy/Uwp3vxIkTuLq6lktQtcLpo6XbLu1gxcZRU/wyHbZ+ffnHGfzm5R+jjJ6cv+Wyj7EvqXRzeR47VXJiLtVUXo6ZmIKZdJ9lNwy2J5otcM2DvatnMb32t5mvbdMX0HcyOFbyFE0iJbDZbDw3tDW/xyURcyCFj3/fx51XRZTPwU+Vch7w8njfs+A9T0qpfkdw9YEzyZAYc667uYhUS2VOunv27MnHH3/M888/D5hvPHa7nVdffZU+ffqUe4A1lle90m3X4ArwuMyWyW4PXt7+VkrcDMuevPh2ztWgInMFsRsGKenZpdo2yLsKz88sl2bfr5CZAh4B0OjKgtX7T2ZwOisXFycHooKqWSt3vib9wTMI0o/B7u+h+XVWRyRSINjXjScGNeeZBVt5ddlO+resRwO/y+yZlrAafv136batxe97tYKjk1lQbcdis4u5km6Raq3MSferr75K7969Wb9+PdnZ2UyYMIFt27Zx8uRJfvvtt4qIsWYK62ZW305LpPhxW4CzBwS1MCtYXo7w7pe3v5UadYXf3774dSrtTYwaxDAMDiSfYcvBFNIycy+6fYivW8VPbyOVL79refPrCrofGobB9sNmK3ezet44OV7m/xCrODpD25Gw+i2zoJqSbqliRnVuxLcxh1i3L5lnF2zlozFXXNoMAYc3wk8vwJ4fS7d9LX3fq3UirzaT7j0/Qc/HrY5GRC5DmT+JtWzZks2bN9O5c2f69+9Peno6w4YNY+PGjURGRlZEjDWTg6M53RUAJbxBN+xy+Ql3dafrVIRhGBxOOcOybUf4bc8J0jJzcXF0IPwilamfvq5F9exiLCWz280PZAAtzk0hdCjlDKlncnBysNG0nrdFwZWT/Crmu5bBqVIOyxGpJA4ONqYNi8bF0YEVO4+zcNOFxmIX49gO+PI2+L/eZsLt4AQdx8D1b2K+5+l9r1bLL6Z2cC1klnPBPhGpVJc0T3dwcDBTp04t71hqn5ZD4OaPi87D6exhvqH6hVkXW1VS0nUC8I+sVdfpWFommw6mcuJ0FgBODjaah/jQPNgbZ0cHGvhl8Of+ZM5kn6tqa7OBYUBCUoZVYUtFObjOrA/h6mN2Q8S8KbPtbCt3k3reuDhV8w/mgc2gQWfzQ+emudD9IasjEikkKsiLB6+O4l8/7GLqou30aBKIv6fLhXc6GW8Wydr8JRh2wAbRN0PvieDf2NzGw1+fD2o7/wjwi4DkeHMoUfNrrY5IRC7RJSXdycnJzJw5k9jYWGw2Gy1atODOO+/E319dV8us5RCzy2TCarMoirO72WVMd7AL++t1ykiCo9vMDyP2XLN1oAZLOp3F5oOpHEkzC6E52mw0qedFyxAfXJ3PVTRt6O9BfT93jp/KYmi7UIK83TiUnMFjX2/mzeW7GdQ6mMaB1XR8rxS142zX8qYDwMn8kP/bniROpmfj6GCjeXA1b+XO1+E2M+ne+ClcNb5QhXaRquCeXpEs3pzIzqOneGHJdl6/uV3xG6Ylwi+vwoY55nsXQPProc/TUK9l4W31+UAAovrCug/Ncd1KukWqrTL/5/7555+JiIjgrbfeIjk5mZMnT/LWW28RERHBzz//XBEx1nwOjua0H/6NwTtEb6glOf86hXYAZ0/IPQNJe6yOrMKkZGSzavdxvt9+lCNpmTjYoEmQF9e3DaF9I79CCXc+B5uNej5uDG1Xn66RdRnesQE9mgSQnWvnyflbsGuu7prBMApPFXbWOyt2AxAZ6IlbMb8f1VKrG80WvqTdcGCt1dGIFOHi5MC04W2w2WD+hkOs2n288AbpSfD9M/BWO1g/00y4I6+Gv/8EIz8rmnDn0+cD0XzdIjVCmf9733///dx8883Ex8czf/585s+fz969exk5ciT3339/RcQoUpSDIwS3NpePbDnbPa/mOJWZw+q4E3y39QgHk89gAyICPLkuOpRO4f54uJS+Zd9ms/HSjW1wd3ZkTfxJvlp/oOICl8pzdCsk7wMnN4jqB8CfCSf5Y+9JHGzQIsTH2vjKk6u3mXiDOWe3SBXUoZEfd3QNB+Cpb7aQkZ0Lmamw4iV4sy2sfhtyM6HhlTBmCdz2jSpSy8WF9wCbI5yMM//ni0i1VOakOy4ujkcffRRHx3MtKI6OjjzyyCPExcWVa3AiFxTQxEw4stPh5F6roykXGdm5rI0/yZItiQVjsBv6uTOoTQhXNq6Ll+uldaNv6O/Bo9c0BeDF/8VyLE3zdVd7+a3cUf3AxROAd34ye31EBHiW6cZMtZBfUG3bN5B12tpYRErw2IBmhPq6cfxkCr9/PMlMtn9+BbJPQXA0jPovjF1avWcVkcrl5gMNO5vLau0WqbbKnHR36NCB2NjYIutjY2Np165decQkUjoOTlCvlbmcuLlat3Zn5uSxISGZRZsOE3f8NIZhTvE1oFUw3ZsE4uvufNnnGNMtnOgGvpzKzGXywm3lELVY6i9dy7ceSmXFzuM1r5U7X6OuZuHE7NOwfYHV0YgUy8vRzqzWMfzi+jB9D74LZ5IhoCn8bTb842doeo1qEkjZqYu5SLVXqqaQzZs3FyyPGzeO8ePHs2fPHq688koA/vjjD959911efvnliolSpCSBzczu5VlpkLIf/MKtjqhMUs/ksPlgCjuPnCL37FjrQG9X2jbwJdDbrVzP5eTowMvDohn8zq98t/UIy7YdYUCr4HI9h1SSE3vg2HbzxlPTAQDMWGn2NLo+OhTPS+wRUaXZbGZr9/KpZkG1/JZvkaogL9esRL7yZZql7gcbHLAH8l+v0Tx4z9M4O1+kmrnIhUReDStehL2/mL9rjjXwf7xIDVeqv9p27dphs9kwjHMFmCZMmFBku1GjRjFixIjyi07kYhxdIKgFJG4yW7vrhFWLVoSM7Fxm/baP//tlL6lncgDw93QhuoEvwT5u2CroNbQM9eGeno15b2Uck77dStfIuvi4XX4rulSy/Krl4T3A3Y89x07zv62JANzfJ4rZq/dZF1tFansL/PQ87P/dvPEQEGV1RFLb2e0Q+y389KJZ6A/Aqx6nuzzMjT814sRJcP/tAPf2jrQ2TqneQtuDWx3ITIHDG851NxeRaqNUSXd8fHxFxyFy6YJamNOHnTkJaYfAt4HVEZUoKzePz9fs590VcQVzbfu6O9Omvi8N/NwrLNk+37i+TfjflkT2JWXwync7ePHGNhV+TilnsYvNx7Ndy2esjMMwoH/LejSrKdOEFccnBKL6w+5lZkG1/lOtjkhqK8OA3T/AT8+Zva0A3P2g+8Nwxd/xcvFgosdBHvvvJt74cReDWgcTHuBpbcxSfTk4QuPe5tCauJ+UdItUQ6VKusPCwio6DpFL5+RmdjM/us1s7fapX+Vau3Pz7MzbcJC3lu/hUMoZABr5e/Bw/yZnq01XXrxuzo68NKwNoz5Yw2dr9jO0XX06R/hX2vnlMqUegkPrARs0v44DJzNYEHMIMFu5a7z2t5pJ96a5cPWz6mYplW/fr7D8OTiwxvzexRu63g9d7wM334LNhneoz4KNh/h1zwmenL+Fz//epVJurEoNFXn1uaS790SroxGRMrqkTyuHDh3it99+49ixY9jthYtXjRs3rlwCEymTeq3gWCykH4PTR8G7aoxVttsNFm9J5I0fdrH3RDoAwT5ujOvbhL91aoCzowNr45MrPa5ukQGMvKIhX6w7wJPzN7NkXI+aM6dzTbdjifnYsAt4B/N/C7aSZzfoHhVAu4Z1LA2tUjQdCB4B5t/5nh+h2UCrI5La4tCfsPx52LvC/N7JDTr/Ha56GDzrFtk8f7rGa974md/3JvHf9Qe5+YqGlRy01BiRfczHg+vhTAq417EyGhEpozIn3bNmzeKf//wnLi4u1K1bt9BdW5vNpqRbrOHsAXWbwImdZmu3xUm3YRgsjz3Ga9/vZMeRU4A5Zvu+3pHcemVYlUhwnxzUgh9jjxF3PJ33VuzhkWuaWR2SlEbsQvOxxWCOpWXy5dl512tFKzeAkwu0HQm/v2N2MVfSLRXt6HaziNWOs8M6HJygwx3Q83FzyMMFNKrrwSP9m/LS/3bwwpLt9G4eSFA5F8mUWqJOI/NzTtJuiP8FWg6xOiIRKYMyTxk2adIkJk2aRGpqKvv27SM+Pr7ga+/emjFXslRTwa0BG5w6DOknLAtj9Z4TDJuxmrs/Xs+OI6fwdnXi0f5N+WVCH+7u0bhKJNwAvh7OPDfUnHLtvZVx7Dx7c0CqsPQkSPjNXG5xPR/+Gk92rp2OYX5c2bgWDRFoN9p83LUUTh+3NhapuZLiYN7fYUY3M+G2OZjF/B5YD9e/ftGEO9/YqyJoXd+HtMxcpi7aXsFBS42mqcNEqq0yJ90ZGRmMHDkSB4cy7ypSsVy9wb+xuZy4qdJPv2F/MqM++INRH65h4/4U3JwduLd3JKue6MODfZvgVQWncRrUOpj+LeuRazd4Yt5m8uzGxXcS6+z8nzkffXA0yS6hfPpHAgAP9ImqXWNF67WE+h3Bngubv7A6GqlpUg/BovHwzhWw5SvAgBZD4N7f4cb3wT+iTIfLn67R0cHGks2J/LD9aMXELTVfVF/zMW65WcxPRKqNMmfOd911F//9738rIhaRyxdythJ36gE4UzljpWMT07h7zjqGvbea1XFJODvaGNMtnF8m9OGJgc2p41F152e12Ww8P7Q13q5OxBxI4ZPf91kdklxI7NmpwloMZtbqfWRk59EyxIfezQKtjcsK7W8zHzd+qg+fUj5OH4elT8Jb7eHP2WDkQVQ/+MdKGPEJBDW/5EO3ru/L3T3MZP3ZBVs5lZlTPjFL7RJ2FTg4Q8p+OKnepSLVSZmb3qZNm8b111/P0qVLadOmDc7Ohef4ff3118stOJEyc6tjztWdkmBO4xLRs8JOtff4af79424WbToMgIMNburYgHF9m9DAz6PCzlvegn3dmDCoOc8u2Mr0ZTvp3yqY+nXcrQ5L/irrVEEBp4zIa5n9oTmV4/21rZU7X+thZoJ0fIdZ4KpBJ6sjkurqTAqsfhv+mAE5ZsFLGnWDvpMgrGu5neahvk1ZuvUICUkZTF+6k+dvaF1ux5ZawtULGl0J+1aZXczrav53keqizEn3Sy+9xLJly2jWzCy69NdCaiKWC4k2k+6T8RDSDtx8yvXwh1LO8NaPu/l6w8GC7tjXR4fwcP+mRAZ6leu5Ksvozo34duMh1ick88w3W/hozBX6e65qdn8PedlQN4qP97iRlplL40BPBrauGpX6K52bL7QcanYv3/iJkm4pu+x0WPM+/PYmZKaa60LaQd9nIbJvuU896e7iyLQb2zDqwzV8uiaBoe1C6RRei2oxSPmI7HMu6e78d6ujEZFSKnPS/frrr/PRRx8xZsyYCghHpBx41DXn6k47BEe3mN2xysHxU1m8u2IPn6/ZT3aeOVVe3+ZBPHJNU1qF+l5k76rNwcHGy8PbcO2bv7Ji53EWbU5kSNtQq8OS853tWp7b7Ho+/HUfAPf1jsLRoRbfHGl/q5l0b5kHA14CF0+rI5LqIDcL1s+CVf8yp5kECGwOfZ6GFoPLPdk+X7eoAG7u1ICv1h9k4vwtLBnXHVenqlFcU6qJyKvNeeLjf4G8HHB0vvg+ImK5Mo/pdnV15aqryieJEakwIdHmY1Kc2ZpxGVIysnll6Q56Tl/B7NX7yM6z07VxXebd242ZY66o9gl3vqgg74Jpp6Yu3EZyerbFEUmBnEzY9T0AS/Ou4MTpLOrXcWdou1p+YyS8O/hFQPYp2L7Q6mikqsvLhQ0fw9sdYekTZsLtFw43/gfuXW1OwVQJPXyeurYFAV4u7Dl2mvdWxFX4+aSGCW5rNi5kn4aD66yORkRKqcxJ9/jx43n77bcrIhaR8uNVz/wy7HB06yUd4nRWLm8v302P6SuYsTKOMzl5tGtYh8/u7sLcf1xJxzC/cg7aevf2jqRpPS+S0rN5YUms1eFIvr0rICcdwzuUlzaac/z+s1djnB1r+SwSNhu0Pzt92MZPrY1Fqi67HbZ8De91gYUPmoU2vUPgutfh/nXmvO8OldfaXMfDhSlD8qdr3MPuo5quUcrAwQEa9zGXNXWYSLVR5u7la9eu5aeffmLx4sW0atWqSCG1+fPnl1twIpclJBp2/wDHd0FwNDiXrjhYZk4en/6RwIyVcSSdbe1tHuzNo9c0o1+LoBo91tnFyYFpw6K56f3VzNtwkBvb16d7kwCrw5KzXct31+3D4R1ZBHq78rdODS0OqopoOwp+ehESfjV7tqiwkOQzDHMu959eOHfz1d0fejwKV9xV6veEinBdmxAWtDjEj7HHeGLeZr7+ZzccavNQESmbyKth69dm0n31M1ZHIyKlUOaku06dOgwbNqwiYhEpX96hZhesjCQ4tt2c1/cCcuw2/rtmP2//tJvE1EwAwut68HD/pgyODq01H4g6hvlx+5VhzPk9gSe/2cz3D/XC3UVjDi2Tl2vOzw28d6QFAH/vEYGbs34mAPjWN+eu3fMjxHxuFsES2fsz/PT8ue63rj7Q7UG48l5w9bY2NszCs88Nbc3vcT+zYX8Kn65J4Pau4VaHJdVF5NmW7kMbIOMkeKggn0hVV+ake9asWRURh0j5s9nM1u64FXBsB9RrDU6uRTbLM2DR8WD+fSCKhMwtAIT6ujGubxOGd2xQK7vwPj6wOd9vP8qBk2f494+7eOraFlaHVHsl/AZnksly8WNRShi+7s6M7hJmdVRVS/tbzyXdfZ6q1K7CUsUcWAc/nS0yBeDkDl3ugavGV7nEJLSOO08Mas6kb7fxync76NeiHqGarlFKwycUAlvA8VjYu9KcQlFEqrTal01I7eLbyJy7255jzud7HsOAZUmBXBvTlYd2R5OQ6UGAlwuTrm/JT4/1ZmTnRrUy4QbwcnXihbNzyH64ai9bDqZaHFEtdrZr+Qo6kYcjd14Vjqdrme+X1mzNrjW7DZ86rDGOtdWRrfD5SJjZz0y4HZyh8z9gfAz0n1rlEu58t3YJo0OjOqRn5/Hsgq0YhmF1SFJdRF5tPup/nki1UOaMIiIigsaNG5f4JVKl5Ld2AxzdDnk5GAb8klyXGzZ34Z4d7dmZ4Y2PYw6Ph+3m58f7MLa7uu4C9G1Rj8FtQ7Eb8MS8zeScnSZNKpHdDjsWA/DF6XZ4ujgyplu4tTFVRU6uED3CXN74ibWxSOU6sQe+HgvvXwW7vgObA7S7FR78E659Fbyr9jz2Dg42XhkejbOjjeU7jrFkS6LVIUl1UZB0rzBbEUSkSitzc8lDDz1U6PucnBw2btzI0qVLefzxx8srLpHy4xcOhzZC9ikOHDzAY2k3sybNbPXwcMhlbOh+/l5/H75OuaAWxEImXd+SX3YdZ3tiGjN/jeefvVSkqlId+hNOJZJhc2e1vTV3dg2jjoeL1VFVTe1Hw5oZsON/kJ4EnnWtjkgqUsoB+PkVc0iBkWeua3Uj9H4KAptaG1sZNannzX29o3hz+W6mLNxG96gA/Z3LxYV1A0dXSDsIJ3ZXu997kdqmzBnG+PHji13/7rvvsn79+ssOSKTc2Rw45NeJ+kdX4Hx8Cxuz7sLFZufW4APc1yCeABfNR12SQG9XnrmuBY9/vZl//7CLga2CCQ/wtDqs2iPWnHv6h9z22Jxcubu7ehOVKLgNhLSDxBjY/CV0vc/qiKQinD4Gq/4F6z+CvLP/u5sMMCs45/dqqobu6xPJki2J7Dl2mheXxPLq39paHZJUdS4eENbVHNMd95OSbpEqrtwGrA4aNIh58+aV1+FEysWeDA/u3xFNn4QxJBr+BNuSeaXOt6zsuIpJjXcq4S6Fmzo24KqoumTl2nnqmy0ac1hZDKNgPPfSvCsYeUVDAr2LFgKU83S4zXzc+Km6W9Y0Z5Lhx6nwZltY876ZcIf3gLHfw+ivqnXCDeDq5Mgrw9tgs8F//zzIb3tOWB2SVAca1y1SbZRb0v3111/j7181C5VI7XMg043Hdrfimo1XsSQpmByc+N21BwA32r8n1OWMxRFWHzabjZdubIObswOr45L4758HrQ6pdji6DZLjyTKc+Y12/ENd+y+u9U3g5AbHtsHhjVZHI+Uh6xT8/Cq80RZ+fR1yMiC0A9y2AO5YBI26WB1huekY5s+tZ2cmeOqbLZzJzrM4Iqny8pPufasgN8vaWETkgsrcvbx9+/bYbOfmKzYMgyNHjnD8+HHee++9cg1OpKyOZbvwzoHGzD3agBzDvKfU3/8YjzbaQ3N3b9jiCtmn4WQ81FUSU1phdT15uF9Tpn23gxeXxNK7WSBB3m5Wh1WznS2g9os9mgHtI6mvqYQuzr0OtBgMW/5rtnbX72B1RHKpcjJh/UxY9TpknG31DWppdiNvdq1ZJLMGmjCwGT9sP0pCUgZvLN/Fk4M0XaNcQFAr8AyC9GNwYA1E9LQ6IhEpQZmT7htuuKHQ9w4ODgQGBtK7d2+aN29eXnEVa9q0aTz11FOMHz+eN954o0LPJVVPnt1gbfxJjh0PJsgli84+yTie/dyVnOPM+4fCmZPYiEy7WXm8u28Sj4btob13/nRXTuYb1OENcGQL+DeusR/cKsJd3SNYuOkw2w6nMXXRdt4dpYSmImVuXoAbsMx+Bff11g2iUmt/q5l0b/kaBrwIzrpZURXZjDzC0zfBlp3gVc8sCuXgCHk55g2TX16FtEPmxv6Noc/T0GoYONTsaRy93Zx5/obW/P3j9Xy4Kp5rW4eQkZ1X7PuenHOhzwc1moMDRPYx61jE/XTRpLvgOp3KJMjbjc4R/jg61IYLJWK9MifdkydProg4LmrdunX83//9H9HR1XvcllyapVsTmbpoO4mpmYD5OxDiksmEsF0kZHrw4eFwTueZv84dvFN4rNFuutVJLnqgoOZwdAtkpkDKfvALq7wXUc05OTrwyvBohr77G0s2J3Jju6P0a1nP6rBqpqQ43E7Gkms44NB8EI0DvayOqPoI7wl1Gpl/37GLIPpmqyOSv2iV+jPXH36DOjnHYe/ZlT6h0GIo7FoKyfFn19WHXk9Au1Hg6GxZvJWtf8t6XBcdwpLNiQyfsZpcu8H573uTG+9gYN1j1gZZhZT0+aDWXKfIq88l3f2mlLhZ4etkCvF1Y/LglgxsHVIJgYrUbtXilvHp06cZPXo0H3zwAX5+flaHI5Vs6dZE7v10Q6E3CoDEbFce3t2GNw5EcTrPiZaeaXzUYgPz2qwtPuEGcHSBwLPd9Y5sVrGlMmpd35e7u0cA8Oy3WzmVmWNxRDVT0vr5APxub8md/dSjoEwczs7TDJqzuwpqlfozoxOexjfneOEn0g6bU74lx4NHAAx8GR7cAB3vqFUJd76eTQIAzibc5xzJduXeHW1ZmhRkRVhVTkmfD2rVdWrcx3xM3ATpxRfgK/E6pWZy76cbWLpV88OLVLRSt3Q7ODgUGstdHJvNRm5u7mUH9Vf3338/1113Hf369eOFF14o9+NL1ZVnN5i6aDvFp8bm76Mjdv7ddAvXBxylVL2k6rWEY9shI8n8oOdbvxwjrvke6teU77YeYf/JDF5dtpPnhra2OqQa53TMN9QF9gVeTY8QH6vDqX7a3QIrp0H8L5C8D/zCrY5IMLuUX3/4DXO5pI1cfcxk2923ssKqcvLsBm/8uLvY5wxsgMGkuOY08zh1+V2okzIu8wDWybMbPLtgW7GfD2rXdfImOKAVLie2cWLzMjKa3ljo2QtfJ/Nvceqi7fRvGayu5iIVqNRJ9zfffFPic6tXr+btt9+ukKmEvvjiCzZs2MC6detKtX1WVhZZWecqOKalpZV7TFJ51safLHJn9q/ycCDQJbt0CTeY1Y0DmpqJ95HNSrrLyN3FkWnD2jD6wzV88kcCQ9uF0jFMMxeUl8SDewk7sw27YaPtNbdaHU71VKcRNO4Ne1dAzOfQ5ymrIxIgPH2T2aX8QrLSzP/LET0qJ6gq6OLvezaO5bjRZ0M5XKM/V1z+Maqs2nOdJjpF8E+nbaxY8gWPf1unTPsaQGJqJmvjT9I1sm6FxCciZUi6hw4dWmTdjh07ePLJJ1m0aBGjR4/m+eefL9fgDhw4wPjx4/n+++9xcytdpeRp06YxderUco1DLs2T87dc9jH2JaWXartj2WWcv7heKzi+A04fhVNHwVtjk8viqqgAburYgK//PMgT87awZFx3XJ0crQ6rRtiw9BOuA/a4Nie6eTOrw6m+2t9qJt0bPzPHBTvo99NqPjlJpdvwl+mw9evLO9ngNy9v/0tQHu95UPr3PVdbHk62y2zscCrje2c5ycq1X/Yx7IaBvRQvvzZcp9VGNP9kMT0ct+Bkh/P7kpT2Oh07deEGDhG5PGUupAZw+PBhJk+ezJw5cxgwYAAxMTG0bl3+XUz//PNPjh07RseOHQvW5eXl8csvv/DOO++QlZWFo2PhD1JPPvkkjzzySMH3aWlpNGzYsNxjk8rh7ly6D8pBLmWcn9LFE+pGwYldcGQTeF9zCdHVbk9f24KVO4+x59hpZqyM46F+Ta0Oqdo7fioL//3LwAFcWhe90Sll0Px6cKsDaQdh70qI6mt1RLVemnMpW9FqecX50r7vzW61ga6+JdQvKS0Lbk5A+dygOJqWyU87Ll4orTZcJyd7EDnbXiOYZB5onctRt8YFz5X2OmkaUJGKVaZCaqmpqTzxxBNERUWxbds2li9fzqJFiyok4Qbo27cvW7ZsISYmpuCrU6dOjB49mpiYmCIJN4Crqys+Pj6FvqT6CvR2xd2l5A8gNgxCXM7Q2ecS3lCD2wA2c1x3CcVHpGR+ni5MHtwKgHdX7GH30VMWR1T9fbZiI1fYYgEIu2qExdFUc85u5yqXb/zU2lgEgJAzuy6+kbOHOYVYLVah73s1iK7TObkOrsR7tgOgyam1hZ672HUCqOvpQucIDRMTqUilTrqnT59O48aNWbx4MXPnzmX16tX06FGxY668vb1p3bp1oS9PT0/q1q1bYYm+VC0ONhsdGxVfsd52tizI5MY7L61Iiqs3+JuVuP+/vfuOj6LO/zj+2t30SkJI6ITeewepSpEiICoKgoigJ7bTOz3QU8Cup2fjZ0dAQSyAiEg5QFAQpIfeSaihhZBAQurO748hkUgLkN1JNu/n48Ejk93Z2fcOm935zHwLRwumWWBx06tBGW6uFUlmtsGomZtx5qcNm1xSUmomJ9bOwsvm5EyJWthKVrn6g+TKGp/vE79jDqSesjZLMdc8YTa948cDZh/Sy35SVGgJtiIxsYrLuPR7z4NoP+W1K7glcHHRfaX9lCMlPYvNh5Nclk1ErqHoHjVqFGlpaVSrVo3Jkydz++23X/KfSEGrEB7ATdUiLjpTW9onjY9qbbyxeThL1zd/nt4P505f/3aKKZvNxkt96xHo42Dd/kSmrtpvdaQia9KKODoaqwAIatTvKmtLvpRpaP6NZ2fA5hvsIyzXrVHiAvoe/g8Av0Xcw9SKL5PkXSrvSt4B5tRHYZUsSFj4uPR7z4NoP/1pd3BzACqnxODlzNvl7rL7KdSPGlFBpGU5ue+L1Ww7osGHRVwl3326hwwZctUpw9xh6dKlVkcQC1QID6BcmD8nzqTTx7mISJ90WoQk3vgZbP8wc6Tj0wfMEXPlmpUt4c8z3WsxZvZW3pi/k1vqRFEmtHj3ybxWKelZfPv7NpbYzRYXttq3WZzIgzQeAvOehg1fQssHrU5T7NRNWsqdB1/BjsHKkv2YV2Yk2GxsC21HdMpGHjSmm324g6KK/RXuv3LZ956H0X4yHfetTJJXBKFZJ6mUsom954vwHHn2U6OyRAb70aJyOGmZ2QyesIr1B04zeMIqvn2oFdUigy16FSKeK99F96RJk1wYQ+Tq7DYbUSF+9PE+WrAbLt3ALLpPxZr/cpqcS77d26oSP8YcZv2B0zw/awufDWlWKE7SFRVTV+2ncfpafH0yMcKrYousbXUkz1H/Dvjfc2YXkviN5tVvcYuaySu4+8BY7DhZG9aDn8o+Cec/Fwybg9igJuC93tqQhZzLvvc8jPYTYLOxO7gFzRLnUuPM6ouKbrhgPzX6c6rUQF8vJg1rwcDP/mDL4WQGfb6K7x5qTaWSge5ML+LxdFpZJDACQsoCBvz+rtVpiiSH3cbr/Rvg7bCxaPtx5m4uxgc+1ygtM5vPlsXS3WH2w7PV7pVbmEgBCAg3RzIHDajmRlXPrGXQ/n/jZWSxMfRmZpb/F4auZIu41J4gs9Cufnb1VdbMK8TPm6+GtaRmVDDHktMZ+NkqDp8+54qIIsWWvgFFAEqfv/oV87U5mrlcsxpRwTzcsRoAY2Zv4XRqhsWJiobv1x0i+cwZOjtizBvUtLzg5Qyotuk7yNRctK5WKWUjQ+JG4W1ksDWkHd9VfB7DpnnSRVxtT3AznNgok7aX4Mxrm5UlLNCHr4a3oEpEIIdPn2PQZ39wPFmflyIFRUW3CEBwFARFmgMurRhvdZoi65FOValaKpCTZzN4de52q+MUepnZTj5eupc29q0EkgbBZaFsE6tjeZ4qHSGkPKSdNkcyF5cpn7qdobFP42OksSuoBdMqjsNpy3dPNhG5ASleYRzxrwFAtbNrr/nxkcF+TB3RkvJh/sQlpDLo81UknE2/+gNF5KpUdIvkKN3A/LluIqQkWJuliPL1cvB6f3M/frf2ECv2aP7zK/kx5giHT5+jr+8684bavcCuj+UCZ3dA40HmspqYu0zpc3u4P/Yp/Jyp7AtsxJToV8m2+1gdS6RY2R3UAoDqZ9Zc1+PLhPrz9fBWlA7xY/fxswz5YjVJ5zILMqJIsaSjO5EcIeWgTCPITIU/PrQ6TZHVPDqce1tVBGD0D5tJy8y2OFHhlO00+HDpHhxk09Xr/GBStXtbG8qTNRpo/ty31Bw4UQpUqbT9DIt9koDsMxwIqMvk6DfJtPtZHUuk2MmZOqza2TXYDOd1baNiyQCmjmhJRJAPW48kM3Tias6mZxVkTJFiR0W3SA6bDdr9w1xe/RmkJVmbpwh7pnstSof4sT8hlXcX7bY6TqG0YOtR9p1IoaPfbvwzT4N/OFRsY3UszxUWDZXbAwbETLM6jUcJSz/MA/ueIDgrkcN+NZhY+S0yHAFWxxIplg4E1CPd7k9w1ilKp+297u1ULRXEVw+0pESANxsOnOaBSWs4l6GT6CLXS0W3yIVq9YKImpCeBGs+tzpNkRXi581LfesB8NmyfWw9ohMYFzIMg/9bsgeAR8vsMG+s1QMc6vvqUo0Hmz9jpoDz+q4ASV6hGccYvu/vhGad5JhvNF9U+S9pDs3xK2KVbLsPsYGNAah+5tpGMf+r2mVC+HJYC4J9vVgVe4qHpqwjPUuFt8j1UNEtciG7Hdo9ZS6v/BAyUq3NU4R1qRNFj/qlyXYajJqxmaxsFTk5lu48wdYjyQT62Gh4Zpl5Yy01LXe52r3BN9RsXh73m9VpirygzASG73uC8Mx4TvqUZ0KVd0n1KmF1LJFiL6eJ+bVOHXYpDcqXYOL9zfH3dvDbrhM8+vUGMvV9LnLNVHSL/FW9O6BEJUg9CesnW52mSBt7W11C/LzYfDiJib/HWR2nUDAMg/Hnr3I/XS8F+9l48AkyR9gW1/L2h/p3mMsaUO2GBGSd5oF9fyci4xCJ3qX5vMq7nPGOsDqWiAC7gloCEJ2yCW/njU/71Sw6nAn3NcPHy87Cbcd48tsYsp3GDW9XpDhR0S3yVw4vuOnv5vLv70OWpsu4XpHBfjzXszYAby/cyYEEtRz4Y98p1u1PxMfLzp2BMeaN1buCtwadcoucObu3zcYvK9naLEWUX/YZhsU+Ren0WJK8Ivi8ynsk+ZS2OpaInHfStwKJ3lF4GZlUTokpkG22qRbBJ/c2xdthY86meP41YxNOFd4i+aaiW+RSGg2C4DJw5ghs/MbqNEXaXc0q0KpKOGmZTp6btRnDKN5f0h8uNa9y39W0HIF755o3atRy9ynbGCLrQnY6DZMWW52myPHJTmVo7NOUO7eLs44STKjyLqd8y1kdS0QuZLOxO/jGpg67lE61Inn/7sY47DamrzvEmNlbi/13ukh+qegWuRQvX2jzmLm8/B3I1lQZ18tms/Ha7Q3w8bKzbPdJZq4/bHUky2w8eJplu0/isNt4tF4WnNoHDl+o3sXqaMWHzQZNzAHVmp2aY3GYosXLmc6QuH9RKXULqY5gJlR5hxN+0VbHEpFL2B10vl/3mVUFut1b65fh7TsbYrPBV3/s57V5O1R4i+SDim6Ry2k61JzGKTEWtv5gdZoirXJEIH+/pToAL/28jZNni2eT/Zy+3H0blaP04YXmjVU7g69Ge3ar+neB3Zvy53ZS+pymtMsPhzODe/c/S9WUDaTZA5hY+W2O+le3OpaIXMbeoGY4sRGVHkdIxvEC3XbfxuV4tV99AD79bZ+mBhXJBxXdIpfjEwitRprLy97WFEM3aES7KtQuE8Lp1ExemrPN6jhut+NoMgu3HcNmg4c7VoXtP5l3qGm5+wWWNKdoA5olzrU4TOFnN7K4+8BYap5ZRYbNj0mV/8OhgDpWxxKRKzjnFcJh/1oAVD9bcE3Mc9zToiJjepufA+8t3s3Hv17/nOAixYGKbpEraTECfEPgxHbYqYPzG+HtsPNG//rYbfBjzBGW7CjYM++F3UdLzQOSW+uVpprXcTi2GWwOqHmrxcmKqfNzdjdK/B8OZ4bFYQoxZzZ3HnyZesm/kWnz4cvo19gf2NDqVCKSD7uCzVHMb3S+7su5v21lnuleE4DX5+1g8oo4lzyPiCdQ0S1yJf4loPlwc3nZ26B+SzekQfkSDGtbGYDnftjM2fTi0Vc+7mQKP208AsDIjtVg+/m+xNFtISDcwmTFWNXOJHmXIjA7idrJy61OUzg5nfDT4zQ6vYhsHHxd6SX2np//V0QKv5z5uqudXYvNcE1rvZEdq/F452oAjJm9le/WHHTJ84gUdSq6Ra6m1Ujw8ocj62HfEqvTFHlPda1B+TB/jiSl8daCnVbHcYuPf92L04BONUtRr1wo7DhfdNe+zdpgxZndwbows5VBs8SfLQ5TCBkGzP8XbJiCEzvfVBzDjpC2VqcSkWtwMKAuafYAArOTKHNul8ue58kuNRh+k3lC/V8zN/FjTPEdMFXkclR0i1xNUCloep+5/Nvb1mbxAAE+XrkDsExeGceGA4kWJ3KtI6fPMWP9IQAe7VwNzhyFg+dHk63V08Jksj7M7Ndd/cxqQjOOWZymEDEMWDQGVn8K2Jhe4Vm2lOhsdSoRuUZOmxd7g5oCUOOsa5qYgzlLyXM9azOoZUUMA576biPztxx12fOJFEUqukXyo83jYPeG/cvhwB9Wpyny2tcoxe2Ny2EYMGrGZjKyPHeQuk9/20dmtkGrKuE0rRT+51Xu8s0hpKy14Yq5BN/y7AtshB2DxonzrY5TePz6Jvz+nrnc6x02hHW3No+IXLc9uVOHua7oBrPwfqlPPfo3KU+20+CxaetZurN4jd0iciUqukXyI7QcNLrHXF6mq90F4d+96hAe6MPOY2f4xENHPT15Np1v1hwA4JFOZp83jVpeuKwNN1sbNEv82WV9HouU39+Hpa+ay91eg2b3W5tHRG7I7uAWAFRM3YJPdqpLn8tut/FG//r0bFCGzGyDh75ax8q9CS59TpGiQkW3SH61/TvY7LD7fxC/0eo0RV54oE/udCMf/LKHPcfPWpyo4H2xPJa0TCcNy4dyU7UISD0FscvMO2v1sjacALAltBNp9gBKZhwhOiXG6jjWWv0ZLHzeXO78PLQeaW0eEblhCT7lOOVTBi8jiyopG1z+fF4OO+8OaMQttSNJz3LywOQ1rNvv2d3IRPJDRbdIfpWsCnVvN5d1tbtA3NawLB1qlCIj28mzMzfjdHrO6PBJ5zL5auV+wLzKbbPZYNd8MLIhsq75fhLLZdr92FjiFgCanSrGA6ptmAJz/2kut/sHtP+ntXlEpGDYbOwKypk6rODn674Ub4ed8QOb0K56BKkZ2Qz9YjWbDyW55blFCisV3SLXot0/zJ/bZsOJ4jHytivZbDZe6VePAB8Hq+NOMe18U2xP8OWKOM6kZ1EzKphbakeZN6ppeaG07nwT83pJS/HN9rwWF1e1eTr8+Ki53GqkeZVbRDzGn1OHubZf94X8vB18OrgZLSqHcyY9i8FfrGLn0TNue36RwkZFt8i1iKoDNXsCBix/x+o0HqF8WAD/7FoTgNfn7uBoUprFiW5cSnoWX/weC8DITlWx222Qfhb2/mKuoKK7UDnoX4djvtH4GOk0OL3Y6jjutX0OzHwQMKDpUOj2KthsVqcSkQK0L6gJ2TiITD9AiQz3jSru7+Pgi6HNaVihBKdTMxn0+Sr2nSiGJzZFUNEtcu3an7/avek7SNxvbRYPcV+baBpWKMGZ9CzGzN5idZwbNm31ARJTM6lUMoCe9cuYN+5ZBFlpEFYZoupaG1DystlyB1RrfmqOxWHcaM8imH6/2eWhwd3Q8x0V3CIeKM0RzMEAcwwVV49i/ldBvl58eX8L6pQJ4eTZdAZ9voqDp1w7oJtIYaSiW+RalWsKVTqZB6o50+rIDXHYbbx+e3287DYWbD3G/C3xVke6bulZ2Xy2bB8AD3eoipfj/MfshU3LVdgUOhvCupONgwrnthOVts/qOK4Xuwy+GQTZGVCnD/T5P7DrkEDEU+0538S8uhubmOcIDfDmqwdaUC0yiPikNAZ+/odHtGoTuRb6hhW5Hjl9uzdMgTPua6rlyWqXCeFvHczBxZ7/cStJ5zItTnR9pq87xLHkdMqE+nF7k/LmjVnpsGuBuVz7NuvCyWWleIWxPaQtAE09fUC1g2vg6wFmy4vq3eD2z8HhZXUqEXGh3UHm1GHVzq4FZ7bbn79kkC9Th7ekUskADp46x8DP/+DEmXS35xCxiopukesRfRNUaAnZ6bDiA6vTeIxHO1ejSkQgJ86k8/q8HVbHuWZZ2U4+Pj/n+IPtq+Djdf4jdt+vkHEGgsuYLSWkUMoZUK1x4gIczqJ50ueqjsTAlP6QmQJVOsJdX4KXj9WpRMTFDgXU4pw9EP/ss+YMLLHL3F58R4X4MXV4S8qG+rHvRAqDJ6zidGqGWzOIWEVFt8j1sNmg3fkpddZONOdflhvm5+3g1dvrA2a/6D/2JVic6Nr8tOkIB0+do2SgD3c3r/jnHdtnmz9r9VQT3kJsV3BLkr1KEpR9mppnVlgdp+Ad3w5f9YP0JKjYGu7+Grz9rE4lIm5QO/l3HEaW+cuSV2ByL3i3njkbixuVDwvg6xGtiAz2ZcfRMwz5YjXJaR56klPkAjr6E7le1btA6QbmFaNVH1udxmO0qlKSe1qYBevomZtJy3R/M7jr4XQafLjEvMo97KbK+Ps4zDuys2DnXHNZo5YXak6bF+vDbgWguac1MU/YC5Nvg3OnoGwTGPgd+ARanUpE3KBu0q8M2v8c3sZfmnMnx8N3Q9xeeEdHBDJ1eEvCA33YdCiJYRPXkJqR5dYMIu6molvketlsf/btXvUxpCVbm8eDjLq1FpHBvsSeTOGDX3ZbHSdf/rftKLuPnyXYz4vBrSv9ecfBPyA1AfzDoFJb6wJKvqwL7wFAjTN/EJx50uI0BSRxv1lwpxyHqHpw7wzwC7E6lYi4gc3IpteRd83li+41zB/zR7m9qXn1qGC+HNaCED8v1u5PZPjktUXmJLvI9VDRLXIjaveGktUhLQnWTrA6jccI9ffmxT7mtFqf/LqP7fGF+4SGYRiMX7IHgKFtognx8/7zzpxRy2v2AIf3JR4thclJ34rEBjTAjpMmifOsjnPjko/Al7dB8iGIqAGDZ0FAuNWpRMRNolM2UiLzxCUK7hwGJB+G/e7vUlOvXCiTh7Ug0MfBir0JPDxlHRlZTrfnEHEHDVcqciPsDmj3FMx6GFb+H7T8G3j7W53KI3SvV4ZudaNYsPUYo2ZsYubItjjshXOqrV93nWDL4WT8vR3c37byn3cYRt6pwqRIWBfek8qpm2h26md+LXVv0Z3i7ewJ+LIPJMZBWDQM+RGCSlmdSkTcKCQzn2Oj/PoGbJl+40/Y+9qmUm1cMYwvhjbnvomrWbLzBE98s4EP7mn853SbIh5C72iRG1X/TihREVJOwPqvrE7jUV7sU49gXy82Hkpi0oo4q+NcVk5f7oEtKxIeeMFI0EfWm1cQvAPNud2lSNgc2ol0uz8RGYeITt1kdZzrk3oKvuoLJ3dBSHkYMhtCylqdSkTcLNm7ZP5WPLze7IpiGK4NdAktq5Tk08HN8HHYmbflKE9P34TT6f4cIq6kolvkRjm8oe0T5vLv70GWpr8oKFEhfozqUQuAt/+3k4OnUi1OdLHVsadYHXcKH4edB9tXyXtnzlXuGl01SnQRkuEIYFPozUARnbM7LdmcFuzYFgiKgvtmQ1ilqz9ORDxOXGBDTnuX4qolbGYK7FsCO342Txa7ufhuX6MU/zeoCV52Gz9sOMxzszZjWHACQMRVVHSLFIRG95oHt8mHYNO3VqfxKPc0r0iL6HBSM7J5btaWQvclnNOX+45m5YkKuaCwNow/R4St1cuCZHIj1p6fs7vB6V/wyS58J3suKyMFvr7LbGXhH242KS9Z1epUImIRw+ZgTtm/m8uXW6nSTeZsLHYvSD0JuxfCrvlw9pi7YgLQpU4U7wxohN0G01YfZNxP2wrdd77I9VLRLVIQvP2g9aPm8vJ33D4KqCez22281r8+Pg47v+06wY8xR6yOlGvTodP8tusEDruNhzv8pbA5sQNO7QWHD1Tvak1AuW4HAupx3LciPkYaDZJ+sTpO/mSmwTcD4cBK8A2FwT9AZG2rU4mIxbaGdmBqpVdI8v7LmA7eAWbXp4hqUK4J1OsPkXXAZjcL7p3zYPcicwYON+ndsCxv3tEQgEkr4vjPgp1ue24RV1LRLVJQmg0zp4U6tRe2/mB1Go9StVQQj99cDYAX52zjVErhaMKf05e7T8OyVAgPyHvn9jnmzyqdND1TUWSzsS7MvNpdJJqYZ2WY8+3uWwo+Qea0YGUbWZ1KRAqJraEdeLPWdD6t8j5Ubg81ukH9O/J2PfH2hwotzOI7ogZgM1vwbf8J9i6Bc6fdkvWOpuV5qW89AD5cupfxRWTqUJErUdEtUlB8g6Dlw+bysv9aMhiJJ3uwfVVqRgVzKiWDl+dsszoOu4+dYf7WowA83PESzXe3n29arlHLi6z1Yd3JxkF06mZKpcVZHefysrNg5nDYvQC8/GDgt1ChudWpRKSQMWwOYoOaQHgVCC5jXtG+FJ9AqNQG6vYz1wU4vR+2/QhxyyD9jMuzDm5ViX/3NFvqvPW/XXy+bJ/Ln1PElVR0ixSklg+aV5mObzX7Q0mB8fGy83r/+thsMHPDYX7ddcLSPB8uNa9yd69bmupRwXnvTIyDo5vMA5qaPdwfTgrEWe+S7AxpDUDTxLkWp7kMpxN+fMQ8GHb4wN1TIfomq1OJiCfwCzGvitfpY87SggEJ51vzHfgDMl073sXwdlV4qksNAF7+eTtT/tjv0ucTcSUV3SIFyT8Mmj9gLv/2lq52F7DGFcMY2iYagOd+2ExqRpYlOQ4kpDJ7o9m3/JFO1S5eIadpeaW2EJjP6VqkUFp7vol5k8T52A1r3m+XZRjw81Ow6RuwOeDOSVDtFqtTiYin8Q+Dqp2hVk8ILguG0xy3ZPMMOLQWstJc9tSPda6W25rs37O2MGPdIZc9l4grqegWKWitHzWbeB5eC7G/Wp3G4/yza03KlfDnUOI5/vu/XZZk+OjXvWQ7DTrUKEX98qEXr5AzVVjt29wbTArczpDWnPEKJzjrFDWT/7A6zp8MAxY8C+smAja4/VPzgFhExFUCS5lTYNboBoGRYGSbUxNungFHYiC74MdbsdlsPNOtZu4J96enb+TnTfEF/jwirqaiW6SgBUVCkyHm8rK3rc3igQJ9vXi5nznAyhe/x7Lx4Gm3Pv/RpLTcM+2XvMp95igcXGUuqwgq8pw2L9aHdQegWeIci9Nc4JeX4Y8PzeU+480BkURE3CG4DNS8FardbE5N6MyE+Biz+P79fcg8V6BPZ7PZeKFXHe5uXgGnAU98s4FF29w7nZnIjVLRLeIKbR4357uM/Q0OrrE6jcfpVDOSPo3K4jTgXzM2kZntdNtzf7ZsHxnZTlpEh9OicvjFK+z4GTCgXFMILee2XOI668LMfvk1k1cSlOm+qXMu67e3YNlb5nKPt6DxvdbmEZHix2aD0ArmYKGVO4BvCGSnw8Ln4b1GsOZzc1aFAmK323ilX336NCpLltNg5NT1LNtt7dguItdCRbeIK5SoAA3vNpdzDo6lQL3Qqw5hAd7sOHqGT39zz6imp1Iy+HrVAQAe6XyJq9wAO85fDdWo5R7jhF80+wPq4SCbxokLrA2z8kP45SVzuctL0GKEtXlEpHiz2SC8MtTta45jEloRzh6Fn/8B45tCzNfgzC6Qp3LYbbx9Z0O61y1NRraTEV+uZdW+QnAiVCQfVHSLuErbJ83Rq3fNh6ObrU7jcUoG+fLvnnUAeG/xbmJPprj8Ob9YHsu5zGzqlwulffWIi1c4l2i2bgCopaLbk+QMqNYs8WfrBkhcOxEWjDaXO46Gto9bk0NE5K9sdoioDo+tNVvgBEXB6QMw62H4sDVsnWXOtnCDvBx23r+nMZ1qliIt08mwSWuIcXM3M5HroaJbxFUiqkGdvuay+na7xO1NytGuegQZWU5GzdiE0+m6Yig5LZPJK+MAsy+3zWa7eKVdC8CZBZF1zP9/8RibS3Qmw+ZHZPp+KqZudX+Ajd/AnCfN5bZPQId/uT+DiMjVePmaLXAej4FbxoFfCTi5E76/Dz7rCLsX3vCJSx8vOx/d25Q2VUuSkpHNkAmr2HokqSDSi7iMim4RV2r3D/Pn1llwco+lUTyRzWbj1X718fd2sCr2FN+tPeiy5/pq5X7OpGVRPTKIrnWiLr1S7qjlusrtadIdgWwq0RmAZqfcPKDa1lnm1SIMaPGgeSB7qZM+IiKFhU8A3PR3+Psm8yShTxDEb4Spd8DEWyHu9xvavJ+3g8+GNKNppTCS07IYPGE1e46fKZjsIi6golvElUrXgxq3AgYsf8fqNB6pQngAT3WpAcCrc7dzPLng5ws9l5HNF8tjARjZqSp2+yUKnowU2LPIXFbR7ZHWhZtNzBskLcYnO9U9T7prAcx4wJwXt/G90P0NFdwiUnT4hUKnZ+GJjX9OqXpgJUzqAV/dDofXX/emA329mHh/c+qXC+VUSgYDP1tFnBu6molcDxXdIq6Wc7V70zdm/yYpcPe3jaZ+uVCS07IY+1PBN/2dtvoACSkZVAwPoHeDspdeac8iyEqDEpUgql6BZxDrxQU04KRPeXyd56iXtNT1T7h3CXw72OyyUO8O6P0+2PW1LSJFUGAEdHsFHt8AzYaZM7zsXQyfdYJvBsHx7de12RA/b74c1oKaUcEcP5POoM9Xcfh0wU5ZJlIQ9O0t4moVmkPl9uaB8+/vW53GI3k57Lzevz4Ou425m4+yYOvRAtt2elZ27ujof+tQFS/HZT42L2xariuRnslmY234BQOqudL+lfDNQHMKnlq9oN/HYHe49jlFRFwtpCz0egceXQsN7gZs5qwfH7aGmQ/CqWufjSQs0Icpw1tSJSKQw6fPMeizP1zS6k3kRqjoFnGHdv80f67/Es4cszaLh6pbNpQH21cB4IUft5Ccllkg2/1h/WGOJqcRFeJL/6aXmXc7K8NsBgxQ+7YCeV4pnNaH3YoTO5VTNhKR7qKWK4fXwdQ7ITMVqt0Cd3wBDm/XPJeIiBXCK8Ptn8DIlee7ZBmw6VsY3xx++jskH7mmzZUK9mXqiJZUCPcnLiGVQZ+vIuFsukuii1wPFd0i7lC5PZRvbl61+uP/rE7jsZ64uTrRJQM4lpzOm/N33PD2srKdfPTrXgBGtKuCr9dlrjTG/gbpyeYUKeWb3/DzSuF1xjuCXcGtAGh6am7BP8HRLWY/x4wzEN0OBkwxRwMWEfFEkbXNz7kHl5onGZ1ZsG4ivNcIFjwHKSfzvakyof58PbwVpUP82H38LIMnrCYptWBOwIvcKBXdIu5gs/15tXvNBEg9ZW0eD+Xn7eDV2+sDMOWPA6yJu7H9/PPmePYnpBIe6MPAlhUvv+L22ebPWr3U57YYyGli3iRxHnYjq+A2fGIXfNkH0k5D+RZwzzTw9i+47YuIFFZlG8O9M+D+eVCxtXmRYuV4eK8h/PIKpOVvSrAK4QFMHdGSiCAftsUnc9/E1ZxNL8DPaZHrpKNDEXep0c0cYCvjLKz+1Oo0HqtN1QgGNKsAwKgZm0jPyr6u7TidBv+3xJzmbVjbaAJ8vC6zYjbsON+/V6OWFws7gttw1lGCkKwEqp9ZXTAbPbUPvrwNUk9CmYYw6HvwDS6YbYuIFBWV2piF96AZ5mdhxln47U14t4E5C0zG1Ucnr1oqiCnDW1IiwJuYg6cZNmkN5zKu71hApKCo6BZxF5sN2j1lLv/xEaRrPklXebZHbSKCfNl7IoX/W7L3uraxcPsxdh07S7CvF4NbR19+xQN/mIWSXwmIvum6nkuKlmy7NxvCugEFNGd30iGY3AfOxEOp2nDvD+Bf4sa3KyJSFNlsUP0WePBXuOtLiKhptgBaNNZsdr7qU8i6cn/tWqVD+GpYS4J9vVgde4oHv1p73SfhRQqCim4Rd6rTF0pWM7881k60Oo3HCg3wZtxtdQH4aOkedh69thMchmHw4fmr3INbVyLU/wqDWOWMWl7zVg12VYzkzNldO/l3ArMSr39DZ47C5N6QdADCq8KQHyGwZAGlFBEpwmw2qNPHHGyt78fmlJwpx2He0/BBU1j/FWRfvul4/fKhTBrWnAAfB8t2n+SRqRvIzHa68QWI/ElFt4g72R1w05Pm8srxkKkpLVylR/3S3FI7isxsg3/N2ES208j3Y5fvOcnGQ0n4edt54KbKl1/RMMypTkBNy4uZY35VOOhfGwfZNE5ccH0bSUkw+3Cf2gehFeG+2RAcVbBBRUSKOrsDGt1jTjPW878QXAaSDsLsR+HDlrBlBjgvXUw3rRTO50Oa4eNlZ9H2Yzz5bcw1HQ+IFBQV3SLu1mAAhFaAs8dgw1dWp/FYNpuNl/rWJcjXi5iDp/lqZVy+Hzv+F/Mq9z0tKlIy6AojR8fHmF/83gFQtfONBZYiJ3fO7lNzzBMw1+LcafiqL5zYYR5A3jcbQssXeEYREY/h5QPNH4DHN0DXl8E/HBL2wPRh8El72Dn/kp/FbapF8Mm9TfF22JizKZ5/zdiEU4W3uJmKbhF3c3hDm8fN5d/fL9jRjyWPMqH+/Kt7TQD+s2Anh0+fu+pj1sadYlXsKbwdttx5vy8rp2l59S4aZboY2ljiFjJsvkSlx1H+3Pb8PzD9DEy9A45ugoAIGDLbnLNWRESuztsf2jwGT2yEjs+Cbwgc2wzTBsCEruY0nn/RqVYkH9zTGIfdxvR1h3hh9haMaz1ZKnIDVHSLWKHJYAiMhKQDNEr8n9VpPNqglpVoWimMlIxs/v3D5qt+yeaMWH5H0/KUCb1KIZ1TdNe+rSCiShGT7ghiS2hH4BoGVMtIhWn3wKE15uB7Q36EUjVcllFExGP5hUDHf5nFd9snwMsfDq02x8n4sg8cWpdn9e71yvDfuxpis5nTir46d7sKb3EbFd0iVvD2h9aPANDhxBRshkbUdBW73cbrt9fHx2Fnyc4T/LQp/rLrbjmcxJKdJ7Db4KH2Va+84RM74eQucPhA9a4FnFqKipwm5g1PL8LbeZUxGrLS4dt7IW6ZeWVm8A9Qup4bUoqIeLCAcOjyIjwRA81HgN0b9i2FzzvDtIFwbGvuqn0aleP12+sD8NmyWN5ZtNuazFLsqOgWsUrzB8CvBJHpB6ib9KvVaTxa9ahgRnYyi+hxs7eSmJJxyfU+XGpe5e7dsCzREYFX3uj22ebPKh3Ns+1SLMUFNiLBpyx+zlTqJS29/IrZmWa/w72LzTEABn0P5Zq4LaeIiMcLLg0934LH1kGjQWCzw86f4aO2MP0BSDCnEB3QvCJje9cB4P3Fu/lo6fVNLSpyLVR0i1jFNxha/g2ATse/vPaBmOSaPNyxKtUjg0hIyeCVuRf3v91z/AzzthwFYGTHalffYE7T8lq9CjKmFDGGzc66sB4AND3186VXcmbDDw+ZI907fOGeaVCxlRtTiogUI2GVoO+HMHKVOVUrBmyZDuObw+zHIOkQQ9tW5l/dawHwxvwdTPo91tLI4vlUdItYqeVDpNv9KZu2h5pnVlqdxqP5ejl4vX8DbDaYvu4Qy3efzHP/h0v3YhjQtU4UNUsHX3ljifshfqN5Fr1mDxemlqJgXVgPnNiomrKB8PTDee90OmH24+aUNnZvGPCV2TpCRERcq1QNuGsyPPQbVO8GRjas/xLebwzzRvFws2Ae72yeZB/70za+XXPA4sDiyVR0i1gpIJxV4X0BXe12h6aVwhjcqhIAz/6wmbNpWazcm8DE5bHM2mAWS490ysdV7h3nr2hWbANBpVwVV4qIZJ9Idge3AODmYxNg83SIXQbZWTDvGYiZYp6guWMC1OhmcVoRkWKmTEMY9B0M+x9UugmyM2DVR/BeQ560f8tjrUsCMGrmZn6MMY8FsrOy2Pr7z6yd8ylbf/+Z7CzNNHMp2U6DlXsT+DHmMCv3JmgO9CvwsjrAlbz22mvMnDmTHTt24O/vT5s2bXjjjTeoWbOm1dFECszyUgNonTCDSqlbqJyygdgg9fN0pae71WThtmMcOJVKy1cXkZLx5yB2Pl524pPO0bBCiStvJHfU8t6uCypFyjHfytQ8s4omp/8HM87PSOATBBlnARv0/Rjq9LE0o4hIsVaxJQydA/uWwOKX4Mh6bMvf5im/z2lQeQBPxLbiqe82krXlR27a8xZ1Sch96LGFJTnSegyNu91n4QsoXOZviWfcT9uIT/pzENEyoX6M6V2H7vXKWJiscCrUV7p//fVXHnnkEf744w8WLlxIVlYWXbt2JSUlxepoIgXmjHdE7gjInY5/aXEazxfs502/xuUA8hTcABlZTh6esp75Wy4/wjlnj8OB810Baqs/t0DdpF9pd/IbLjq/n3HW/Nnsfmg4wN2xRETkr2w2qNoZRvwCA6ZCZB1saUl0if+UVYH/4FX7x/TbPZpSRkKeh5UyEmi44nE2LJhsUfDCZf6WeB6esj5PwQ1wNCnt6sdRxVShLrrnz5/P0KFDqVu3Lg0bNmTixIkcOHCAdevWXf3BIkXIb6UGkY2D6mfXUj51m9VxPFq20+CHDYevuM64n7ZdvonUjp8BA8o2gdDyBR9QihSbkU2vI++ay5dbadcCczA1EREpHGw288T535bD7Z9DWGWCsxMZ4PUrNsD+lw/0nN/LrBxX7JuaZzsNxv207eITzZB72xWPo4qpQt28/K+SkpIACA8Pv+w66enppKen5/6enJzs8lwiN+q0T2liwrrSNHEenY5/yVfRr1sdyWOtjj110ZnZCxlAfFIaq2NP0bpqyYtXUNNyuUB0ykZKZJ648krJh2H/Cqjczj2hREQkf+wOaHAn1O3L4emjKLf9c2yXOYNqt0FpEhj9/iccCm3m3pyFyOnUjBs7jiqmikzRbRgGTz31FDfddBP16tW77HqvvfYa48aNc2MykYKxtNRgGifOp07ycqLO7eWYf1WrIxUqo2duLpDtxCXkr3vK8TOX+EI5dxpiz8+prqJbgJDMhKuvBPDbm+aUNTeq93s3vg0REQ9SUMcHZY9G8Fg+1ks5eYRlx09efcVi7pLHUcVYkSm6H330UTZt2sTy5cuvuN7o0aN56qmncn9PTk6mQoUKro4ncsNO+lVkS2hHGiQtoeOJr/i24lirI3kkf29HvtaLDPa7+MZdC8CZBaVqQUT1Ak4mRVGydz7P4nv7uzaIiIjckFSfiHyt16ZkCp1LbLqxJ2sy5MYefx2+XXOwQLaTdC6TbfFXb0l8yeOoYqxIFN2PPfYYs2fP5rfffqN8+Sv3ofT19cXX19dNyUQK1tLIITRIWkKD07+wKGo4Cb7qM1zQSgX74u/j4FzGpfvY2oDSoX60qHyJbizbZ5s/dZVbzosLbMhp71KEZp64fJ9u7wAIinJnLBERuUaJpZoRfzScKE5d1Kf7QgOcc7EFNIWgyOt/svMDurrTqthTBbIdp2EQm5ByfcdRxVihHkjNMAweffRRZs6cyS+//ELlypWtjiTiUvH+1dkR3AY7Tjocn2J1HI9kt9loWjHskvflfMeO6V0Hx1+/cTNSYc9ic1lFt5xn2BzMKft3c/lyK1Voac7TLSIihZbN7sW3EY8C8NcxwJwGGAY4sWNLOQY758KeRZCazy5GHuS6j6OKuUJ9FPDII48wZcoUvv76a4KDgzl69ChHjx7l3LlzVkcTcZklkYMBaHx6PqEZxyxO45kqhAdwU7UI/H3yNjUvHerHR/c2ufT8knsXQ9Y5KFERSjdwU1IpCraGdmBqpVdI8i6V9w7vAKjSCcIqWRNMRESuybFyXXk/4gWOkfcq7XHCiYnsi73+7VCyOmCDpEPm4Kr7lkJakiV5rXJdx1HFXKFuXv7RRx8B0LFjxzy3T5w4kaFDh7o/kIgbHAisz97AxlRN2UC7E9OYU+7vVkfySBXCAygX5s+JM+n0aVSWyGCzKdRlz8zmjlp+G5cd2lSKra2hHdgWchPRKRt50Jhu9uEOitIVbhGRIuZYua68V6YzYSfWcnPWb/j7+lArKoDS9vOf59FtoXQ9OBIDibGQGAeJ+6FkVSjTCHyDLEzvPtd8HFXMFeqi2zA0v5sUT0sih1A1dgPNT/3Ekqj7SPG6dDMeuTF2m42oED/6NLpK36qsDNg531xW03K5DMPmIDaoCXivtzqKiIjcAJvdi9NRrWjmveXSK/iFQpUOkFofjmyApIOQsAdO7YOIGlCmgdnaycPl+zhKCnfzcpHiam9QMw7618bHSOemE99aHUfifoP0JAiMhPItrE4jIiIihUFAOFS7GWr2gOAyYDjhxA7YPAMOrYWsdKsTSiGholukMLLZWBJpTifRKmEmfllXn5pBXCinaXmtnmDXx6aIiIhcICgSanSD6t0gsBQY2XBsC2yeDvEbITvT6oRiMR09ihRSO0LactSvCn7OVFonzLQ6TvHlzIYdP5vLalouIiIilxNSxrzqXfVm8A8DZ6bZ/HzLdDi2FZxZVicUi6joFimkDJudpaXMkczbnvwen+xUixMVUwdXQ8oJs/9WdDur04iIiEhhZrNBiQrmwKuVO4BviNnM/NAa2DITTuzUle9iSEW3SCG2qURnTvqUJzA7iRanZlsdp3jKaVpe41bw8rE2i4iIiBQNNhuEV4a6faFSW/AOhMxUOLASxjeDjd+YremkWFDRLVKIGTYHv0beC0C7E9PwcmpADrcyjAumClPTchEREblGNjtEVId6t0OFluDlZ04z9sND8FEb2DbbPN4Qj6aiW6SQ21CiG6e9IwnJSqBJ4jyr4xQv8Rsh6YA57UfVzlanERERkaLK7oDI2lCvP9w8xuy2dmIHfDcYPusEexap+PZgKrpFCrlsuzfLSt0DQIfjU7EbGoTDbXKucle7GXw8f75NERERcTGHN7R7Cp7YBO2fNpudH9kAU/rDpJ6wf6XVCcUFVHSLFAFrwntz1lGC8Mx4Gp5eZHWc4iO3aflt1uYQERERz+JfAjr/G57YCK0eAYcv7P8dJnaHKXfAkRirE0oBUtEtUgRk2v1YXmoAAB2OT8FmOC1OVAyc2AUnd4LdG6p3tTqNiIiIeKKgUtD9VXh8AzQdCnYv2LMQPu0A3w0xRzuXIk9Ft0gR8UfJ2zlnDyIqPY46yb9ZHcfz7Th/lbtKB/NstIiIiIirhJaD3u/Bo2ugwQDABtt+hA9bwQ9/MwdfkyJLRbdIEZHuCGRlRH8AOh3/UoNtuJpGLRcRERF3C68Ct38KD6+AWr3AcMLGafBBM5jzFCTHW51QroOKbpEi5PeIO8mw+VHu3C5qnF1ldRzPdfqgOagJNqjZ0+o0IiIiUtxE1YG7p8KIX8wZVJyZsHYCvN8I/vdvSEmwOqFcAxXdIkVIqlcJVpXsA0DHY19anMaD7Zhj/qzUxuxrJSIiImKFck1h8A8w9Geo0Aqy0mDFB/BeQ1jyGqQlW51Q8kFFt0gRs6zUPWTZvKmcuonoszFWx/FMOU3La/WyNoeIiIgIQPRNMGw+DPweSjeAjDPw6+vwXgP4/T3ISLU6oVyBim6RIuaMdwRrw8wmz52O62p3gTt7HPavMJdrq+gWERGRQsJmgxpd4cFf4c7JEFEDziXCwhfg/caw+jPIyrA6pVyCim6RIui3yIFk46DG2dWUS91hdRzPsnMuYECZRlCiotVpRERERPKy26FuX3h4JfT9yDxeOXsU5v4TxjeFmK/BmW11SrmAim6RIijRpywbS9wCQEdd7S5Y28/359ao5SIiIlKYObyg0UB4dB30eAuCouD0AZj1sDnV2NZZ4HRanVJQ0S1SZC2NHIwTG/WSfyMybZ/VcTxDWhLsW2ou177N0igiIiIi+eLlAy1GwOMx0OVF8A+Dk7vg+/vg0w6we6GmmrWYim6RIuqEXzRbQzsA0PH4FIvTeIhd/zOn5IioCaVqWJ1GREREJP98AqDtE/DERugwCnyC4egmmHoHD+0dqQF4LaSiW6QIW1rqXgAanl5EePphi9N4gO2zzZ9qWi4iIiJFlV8odBptFt9tHgMvP6JTN/PQvke5f99TlE/dbnXCYkdFt0gRdiSgFjuDW2LHSfsTU62OU7RlpMKeReayRi0XERGRoi6wJHR9GR6PYWXJfrmD8D6yZwSD4p5V90Q3UtEtUsQtiRwCQNPEeYRknrA4TRG29xfITIXQCubI5SIiIiKeIKQMs8v9g7drTWNd2K04sVMv+Tee2HUfdx14Sa0l3UBFt0gRtz+wIfsCG+FlZNLuxDSr4xRd238yf9bubc6DKSIiIuJBEn3KMr3Cc7xb40s2h3bEjkHj0wt4audA+h76DyEZx62O6LFUdIt4gKXnr3a3SPiRwKxEi9MUQdmZsGueuaz+3CIiIuLBTvhF83Wll/mg2gR2BrfCQTYtT/3IP3feTc8jH+hY0gVUdIt4gN1BzTnkXxMfI502J7+3Ok7RE7fMnC4ssBRUaGl1GhERERGXOxJQk0mV3+Ljqv9HbGBDvI0Mbjr5LU/vuIsuRz/DL/uM1RE9hopuEU9gs+X27W59cia+2WctDlTE5DQtr9UT7A5rs4iIiIi40f7AhnxaZTxfVH6bQ/418XWeo/PxyTy94y46HP8Kb+c5qyMWeV5WBxCRgrE9pB1HfStTOj2WHkfGw+bDEBQFldqokLwMm5FN5bMb4Mh084aaPawNJCIiImIFm43dwS3ZHdSCusm/0eXoZ0Slx9H96Ce0Pfk9SyKHsDr8NrLtPn8+xMgmOmUjbN6pY86rUNEt4iEMm509Qc0onR5Li8Q5MGOOeUdIWej+BtS5zdqAhUzdpF/pdeRdSlw44vtPf4dbta9ERESkmLLZ2BragW0hN9Hw9CJuOTaBkhlHuO3Iu7Q7MY3FUfezIaw7tZN///M4KmfmMR1zXpaal4t4iLpJv9I24XuMv96RHA/fDYFts62IVSjVTfqVQfufI/SvU6yd0b4SERERMWwOYsK68d+aX/NDuX+S5F2KsMxj3HHodZ7Z3v/Sx1E65rwsXekW8QA2I5teR941ly+61zBvnT8KqnUpss1+HM7MAtmOzcim9+F3zeWL7r1gX6l/t4iIiBRzTpsXq0v2ZX3YrbRK+IEOx74iNCvhMmvrOOpyVHSLeIDolI15m0lfxIDkw/BqabdlKmgvu+2Zzu+r/Sugcju3PauIiIhIYZVl92V5qbs57luJ++OevsKaOo66FBXdIh4gJPNyZxzluv32JmyZfmPb6P1ewWQRERERKQT88ztDjo6j8lDRLeIBkr1L5m/FqjdDcNSNP2H31298G9do7E/bCmQ70SkbGRr3r6uv6O1fIM8nIiIi4inyfcyp46g8VHSLeIC4wIac9i5FaOaJS/RTPs87AELLga0Axk/0C73xbVyjdEdQgWxnV3Cr/O2roAI4OSEiIiLiQfJ9zKnjqDw0ermIBzBsDuaU/bu5fLmVKrQsmIK7iNO+EhEREbk+Oo66PtobIh5ia2gHplZ6hSTvUnnv8A6AKp0grJI1wQoh7SsRERGR66PjqGun5uUiHmRraAe2hdxEdMpGHjSmm/1pgqJ0tvEStK9EREREro+Oo66Nim4RD2PYHMQGNQHv9VZHKfS0r0RERESuj46j8k+nIkRERERERERcREW3iIiIiIiIiIuo6BYRERERERFxERXdIiIiIiIiIi6ioltERERERETERVR0i4iIiIiIiLiIim4RERERERERF1HRLSIiIiIiIuIiKrpFREREREREXERFt4iIiIiIiIiLqOgWERERERERcREV3SIiIiIiIiIuoqJbRERERERExEVUdIuIiIiIiIi4iIpuERERERERERdR0S0iIiIiIiLiIiq6RURERERERFxERbeIiIiIiIiIi6joFhEREREREXERFd0iIiIiIiIiLqKiW0RERERERMRFVHSLiIiIiIiIuIiKbhEREREREREXUdEtIiIiIiIi4iIqukVERERERERcREW3iIiIiIiIiIuo6BYRERERERFxkSJRdH/44YdUrlwZPz8/mjZtyrJly6yOJCIiIiIiInJVhb7o/vbbb/n73//Oc889x4YNG2jXrh233norBw4csDqaiIiIiIiIyBUV+qL7v//9Lw888ADDhw+ndu3avPvuu1SoUIGPPvrI6mgiIiIiIiIiV1Soi+6MjAzWrVtH165d89zetWtXVqxYYVEqERERERERkfzxsjrAlZw8eZLs7GyioqLy3B4VFcXRo0cv+Zj09HTS09Nzf09KSgIgOTnZdUELSmr61de5Hha99vTUsy7ZbrK3i/YTWLKvtJ/yx1X7CVy4r/S3l88Naz/lf+P628vfhrWf8rdh/e3lb8PaT/nfuP728rdh7af8bbjw1285NaZhGFdcz2ZcbQ0LHTlyhHLlyrFixQpat26de/srr7zCV199xY4dOy56zNixYxk3bpw7Y4qIiIiIiEgxdfDgQcqXL3/Z+wv1le6IiAgcDsdFV7WPHz9+0dXvHKNHj+app57K/d3pdHLq1ClKliyJzWZzad4bkZycTIUKFTh48CAhISFWxym0tJ/yR/sp/7Sv8kf7KX+0n/JP+yp/tJ/yR/spf7Sf8k/7Kn+K+34yDIMzZ85QtmzZK65XqItuHx8fmjZtysKFC+nXr1/u7QsXLqRPnz6XfIyvry++vr55bitRooQrYxaokJCQYvmGvVbaT/mj/ZR/2lf5o/2UP9pP+ad9lT/aT/mj/ZQ/2k/5p32VP8V5P4WGhl51nUJddAM89dRTDB48mGbNmtG6dWs+/fRTDhw4wN/+9jero4mIiIiIiIhcUaEvugcMGEBCQgIvvvgi8fHx1KtXj7lz51KpUiWro4mIiIiIiIhcUaEvugFGjhzJyJEjrY7hUr6+vowZM+aipvGSl/ZT/mg/5Z/2Vf5oP+WP9lP+aV/lj/ZT/mg/5Y/2U/5pX+WP9lP+FOrRy0VERERERESKMrvVAUREREREREQ8lYpuERERERERERdR0S1Fns1mY9asWVbHEBGRAqDPdBER8TQqut1k6NCh9O3b1+oYhdbQoUOx2WwX/duzZ4/V0QqVnP10qSnzRo4cic1mY+jQoe4PVoitWLECh8NB9+7drY5SqOi9dH30WX7ttM8uTZ9N+XP8+HEeeughKlasiK+vL6VLl6Zbt26sXLnS6miF0sGDB3nggQcoW7YsPj4+VKpUiSeeeIKEhIR8PX7p0qXYbDZOnz7t2qAWyPnee/311/PcPmvWLGw2m0WpCqcLj8u9vb2JioqiS5cufPHFFzidTqvjFUkquqXQ6N69O/Hx8Xn+Va5c2epYhU6FChX45ptvOHfuXO5taWlpTJs2jYoVK97QtjMzM280XqHzxRdf8Nhjj7F8+XIOHDhwQ9vKzs72qC8bV76XROTKCvKzyZP179+fjRs3MnnyZHbt2sXs2bPp2LEjp06dsjpaobNv3z6aNWvGrl27mDZtGnv27OHjjz9m8eLFtG7dWvsM8PPz44033iAxMdHqKIVeznF5XFwc8+bNo1OnTjzxxBP06tWLrKwsq+MVOSq6LTB//nxuuukmSpQoQcmSJenVqxd79+7NvT8uLg6bzcbMmTPp1KkTAQEBNGzY0OPP6uacwb7wn8Ph4KeffqJp06b4+flRpUoVxo0bd9Efe3x8PLfeeiv+/v5UrlyZ77//3qJX4XpNmjShYsWKzJw5M/e2mTNnUqFCBRo3bpx7W37fZ9999x0dO3bEz8+PKVOmuPW1uFpKSgrfffcdDz/8ML169WLSpEm59+Wczf/5559p2LAhfn5+tGzZks2bN+euM2nSJEqUKMGcOXOoU6cOvr6+7N+/34JX4hoF9V7q3Lkzjz76aJ5tJyQk4Ovryy+//OL6F2KR6Oho3n333Ty3NWrUiLFjx+b+brPZ+Pzzz+nXrx8BAQFUr16d2bNnuzdoIZKffVYcXOmzKedz50KXuhL38ssvExkZSXBwMMOHD2fUqFE0atTI9eHd6PTp0yxfvpw33niDTp06UalSJVq0aMHo0aPp2bMnAElJSTz44INERkYSEhJC586d2bhxY+42xo4dS6NGjfjkk0+oUKECAQEB3HnnnR55JfeRRx7Bx8eH//3vf3To0IGKFSty6623smjRIg4fPsxzzz0HQHp6Os888wwVKlTA19eX6tWrM2HCBOLi4ujUqRMAYWFhHtni6ZZbbqF06dK89tprl11nxowZ1K1bF19fX6Kjo3n77bdz7xs9ejStWrW66DENGjRgzJgxLslslZzj8nLlytGkSROeffZZfvzxR+bNm5f7mXW1vz+A2bNn06xZM/z8/IiIiOD222+34NVYT0W3BVJSUnjqqadYs2YNixcvxm63069fv4uuoD333HP885//JCYmhho1anDPPfcUuzNLCxYs4N577+Xxxx9n27ZtfPLJJ0yaNIlXXnklz3rPP/987tnwe++9l3vuuYft27dblNr17r//fiZOnJj7+xdffMGwYcPyrJPf99m//vUvHn/8cbZv3063bt3ckt9dvv32W2rWrEnNmjW59957mThxIn+dJfHpp5/mrbfeYs2aNURGRnLbbbflueKfmprKa6+9xueff87WrVuJjIx098twqYJ4Lw0fPpyvv/6a9PT03MdMnTqVsmXL5h7AFWfjxo3jrrvuYtOmTfTo0YNBgwbpilMxl5/PpiuZOnUqr7zyCm+88Qbr1q2jYsWKfPTRRy5MbI2goCCCgoKYNWtWns+XHIZh0LNnT44ePcrcuXNZt24dTZo04eabb87zN7Znzx6+++47fvrpJ+bPn09MTAyPPPKIO1+Ky506dYoFCxYwcuRI/P3989xXunRpBg0axLfffothGAwZMoRvvvmG999/n+3bt/Pxxx8TFBREhQoVmDFjBgA7d+4kPj6e9957z4qX4zIOh4NXX32VDz74gEOHDl10/7p167jrrru4++672bx5M2PHjuX555/PLTIHDRrEqlWr8px43rp1K5s3b2bQoEHuehmW6dy5Mw0bNmTmzJn5+vv7+eefuf322+nZsycbNmxg8eLFNGvWzOJXYRFD3OK+++4z+vTpc8n7jh8/bgDG5s2bDcMwjNjYWAMwPv/889x1tm7dagDG9u3b3RHX7e677z7D4XAYgYGBuf/uuOMOo127dsarr76aZ92vvvrKKFOmTO7vgPG3v/0tzzotW7Y0Hn74Ybdkd6ec99GJEycMX19fIzY21oiLizP8/PyMEydOGH369DHuu+++Sz72cu+zd999142vwL3atGmT+/oyMzONiIgIY+HChYZhGMaSJUsMwPjmm29y109ISDD8/f2Nb7/91jAMw5g4caIBGDExMe4P72IF+V5KS0szwsPDc/ebYRhGo0aNjLFjx7rjpbjVhZ/llSpVMt5555089zds2NAYM2ZM7u+A8e9//zv397Nnzxo2m82YN2+eG9IWDtezz3744Qe35bPClT6bJk6caISGhuZZ/4cffjAuPGRr2bKl8cgjj+RZp23btkbDhg1dmtsK06dPN8LCwgw/Pz+jTZs2xujRo42NGzcahmEYixcvNkJCQoy0tLQ8j6latarxySefGIZhGGPGjDEcDodx8ODB3PvnzZtn2O12Iz4+3n0vxMX++OOPK/7t/Pe//zUAY9WqVQaQ+377q5zvxsTERNeFtciFn0WtWrUyhg0bZhhG3r+vgQMHGl26dMnzuKefftqoU6dO7u8NGjQwXnzxxdzfR48ebTRv3tzF6d3rSnXLgAEDjNq1a+fr769169bGoEGDXB23SNCVbgvs3buXgQMHUqVKFUJCQnL7Lf+1T1eDBg1yl8uUKQOYA4p4qk6dOhETE5P77/3332fdunW8+OKLuWe7g4KCGDFiBPHx8aSmpuY+tnXr1nm21bp1a4++0h0REUHPnj2ZPHkyEydOpGfPnkRERORZJ7/vM08947hz505Wr17N3XffDYCXlxcDBgzgiy++yLPehe+d8PBwatasmee94+Pjk+dv0dMUxHvJ19eXe++9N3ffxsTEsHHjRo9rlni9Lnz/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YNGiRWzYsIFu3brRu3dvDhw4kOfx//nPf6hXrx7r1q3j+eefZ/Xq1QAsWrSI+Ph4Zs6cecWMY8eOZfz48axYsYKDBw9y11138e677/L111/z888/s3DhQj744IPc9Z955hlmzJjB5MmTWb9+PdWqVaNbt24XXbl/7rnnePvtt1m7di1eXl4MGzYMgAEDBvCPf/yDunXrEh8fT3x8PAMGDMh93Lhx47jrrrvYtGkTPXr0YNCgQS5pFSAiIuIyhoiIiLjN9OnTjbCwMMPPz89o06aNMXr0aGPjxo151gGMH3744arbqlOnjvHBBx/k/l6pUiWjb9++edaJjY01AGPDhg1X3NaSJUsMwFi0aFHuba+99poBGHv37s297aGHHjK6detmGIZhnD171vD29jamTp2ae39GRoZRtmxZ480337zsdn/++WcDMM6dO2cYhmGMGTPGaNiw4UWZAOPf//537u9nz541bDabMW/evCu+FhERkcJEV7pFRETcqH///hw5coTZs2fTrVs3li5dSpMmTfI0qb6UlJQUnnnmGerUqUOJEiUICgpix44dF13pbtas2Q3la9CgQe5yVFQUAQEBVKlSJc9tx48fB8wm75mZmbRt2zb3fm9vb1q0aMH27dsvu90yZcoA5G4nv3kCAwMJDg7O1+NEREQKCxXdIiIibubn50eXLl144YUXWLFiBUOHDmXMmDFXfMzTTz/NjBkzeOWVV1i2bBkxMTHUr1//osHSAgMDbyibt7d37rLNZsvze85tTqcTAMMwcm+7kGEYF9321+0CudvJb56/Pr+IiEhRoKJbRETEYnXq1CElJSX3d29vb7Kzs/Oss2zZMoYOHUq/fv2oX78+pUuXJi4u7qrb9vHxAbhoewWhWrVq+Pj4sHz58tzbMjMzWbt2LbVr1873dnx8fFyST0REpDBQ0S0iIuImCQkJdO7cmSlTprBp0yZiY2P5/vvvefPNN+nTp0/uetHR0SxevJijR4+SmJgImAXuzJkziYmJYePGjQwcODBfV3wjIyPx9/dn/vz5HDt2jKSkpAJ7PYGBgTz88MM8/fTTzJ8/n23btjFixAhSU1N54IEH8r2d6OhoYmNjiYmJ4eTJk5cdZE5ERKQoUtEtIiLiJkFBQbRs2ZJ33nmH9u3bU69ePZ5//nlGjBjB+PHjc9d7++23WbhwIRUqVKBx48YAvPPOO4SFhdGmTRt69+5Nt27daNKkyVWf08vLi/fff59PPvmEsmXL5inuC8Lrr79O//79GTx4ME2aNGHPnj0sWLCAsLCwfG+jf//+dO/enU6dOlGqVCmmTZtWoBlFRESsZDNyOmSJiIiIiIiISIHSlW4RERERERERF1HRLSIiIiIiIuIiKrpFREREREREXERFt4iIiIiIiIiLqOgWERERERERcREV3SIiIiIiIiIuoqJbRERERERExEVUdIuIiIiIiIi4iIpuERERERERERdR0S0iIiIiIiLiIiq6RURERERERFxERbeIiIiIiIiIi/w/up/cf0lEbCoAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "import calendar\n", + "\n", + "# aggregate only Europe & Asia, by continent + numeric month\n", + "hyp1 = (\n", + " travel_trip_complete_christos_df\n", + " .query(\"destination_continent in ['Europe', 'Asia']\")\n", + " .groupby([\"destination_continent\", \"start_month\"])\n", + " .size()\n", + " .reset_index(name=\"trip_count\")\n", + ")\n", + "\n", + "fig, ax = plt.subplots(figsize=(10, 5))\n", + "\n", + "for continent in [\"Europe\", \"Asia\"]:\n", + " tmp = hyp1[hyp1[\"destination_continent\"] == continent].sort_values(\"start_month\")\n", + "\n", + " # bars\n", + " ax.bar(\n", + " tmp[\"start_month\"] + (0.15 if continent == \"Asia\" else -0.15), # small shift\n", + " tmp[\"trip_count\"],\n", + " width=0.3,\n", + " label=f\"{continent} trips\",\n", + " alpha=0.6,\n", + " )\n", + "\n", + " # line on top of bars (seasonality curve)\n", + " ax.plot(\n", + " tmp[\"start_month\"],\n", + " tmp[\"trip_count\"],\n", + " marker=\"o\",\n", + " linestyle=\"-\",\n", + " label=f\"{continent} trend\",\n", + " )\n", + "\n", + "ax.set_xticks(range(1, 13))\n", + "ax.set_xticklabels(calendar.month_abbr[1:13])\n", + "ax.set_xlabel(\"Start month\")\n", + "ax.set_ylabel(\"Number of trips\")\n", + "ax.set_title(\"Seasonality of trips: Europe vs Asia\")\n", + "ax.legend()\n", + "plt.tight_layout()\n" + ] + }, + { + "cell_type": "markdown", + "id": "6bd1468f-6794-417a-8a8f-6c68984aae78", + "metadata": {}, + "source": [ + "### Hypothesis #2: Different traveler demographics (age, nationality) show different destination and duration preferences." + ] + }, + { + "cell_type": "markdown", + "id": "fdb17de6-2689-4e48-9b7d-be30b4ece04b", + "metadata": {}, + "source": [ + "To do that we need to use series:\n", + "- traveler_age_segment\n", + "- traveler_nationality_continent\n", + "- is_intercontinental_trip\n", + "- duration_days\n", + "\n", + "What we are looking for, is if there are patterns that shows us that specific demographics, have specific destination and duration preferences, and whether duration correlates with destination as well. For example, do young travelers from Europe choose more exotic destinations over older travelers from the US?\n", + "\n", + "Test: group by demographic variables and compare distributions using non-parametric statistics.\n", + "\n", + "Interpretation: segmentation could justify differentiated offers.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "bac10eef-bb79-4068-8df0-872bdfb75aad", + "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", + "
destination_continenttraveler_age_segmenttraveler_nationality_continentduration_daysis_intercontinental_trip
0Europe34-40 Young ParentsNorth America7.0True
1Asia26-33 Young ProfessionalsNorth America5.0True
2Asia41-50 Money & Energy GroupAsia7.0False
3North America26-33 Young ProfessionalsEurope14.0True
4Asia26-33 Young ProfessionalsAsia7.0False
\n", + "
" + ], + "text/plain": [ + " destination_continent traveler_age_segment \\\n", + "0 Europe 34-40 Young Parents \n", + "1 Asia 26-33 Young Professionals \n", + "2 Asia 41-50 Money & Energy Group \n", + "3 North America 26-33 Young Professionals \n", + "4 Asia 26-33 Young Professionals \n", + "\n", + " traveler_nationality_continent duration_days is_intercontinental_trip \n", + "0 North America 7.0 True \n", + "1 North America 5.0 True \n", + "2 Asia 7.0 False \n", + "3 Europe 14.0 True \n", + "4 Asia 7.0 False " + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_complete_christos_df[\n", + " [\"destination_continent\",\n", + " \"traveler_age_segment\",\n", + " \"traveler_nationality_continent\",\n", + " \"duration_days\",\n", + " \"is_intercontinental_trip\"]\n", + "].head()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "6db12f30-f654-4620-8a22-74eaa1174b13", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "is_intercontinental_trip\n", + "False 81\n", + "True 56\n", + "Name: count, dtype: int64" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_complete_christos_df[\"duration_days\"].describe()\n", + "travel_trip_complete_christos_df[\"is_intercontinental_trip\"].value_counts(dropna=False)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "85743046-c89e-44e6-a82c-0795e3f69155", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "destination object\n", + "trip_id int64\n", + "destination_country object\n", + "destination_city object\n", + "start_date datetime64[ns]\n", + "end_date datetime64[ns]\n", + "duration_days float64\n", + "traveler_name object\n", + "traveler_age float64\n", + "traveler_gender object\n", + "traveler_nationality object\n", + "accommodation_type object\n", + "accommodation_cost int64\n", + "transportation_type object\n", + "transportation_cost float64\n", + "end_year Int64\n", + "end_month Int64\n", + "start_year Int64\n", + "start_month Int64\n", + "start_month_name object\n", + "end_month_name object\n", + "traveler_nationality_clean string[python]\n", + "traveler_nationality_continent object\n", + "destination_continent object\n", + "is_intercontinental_trip bool\n", + "traveler_age_segment category\n", + "dtype: object" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_complete_christos_df.dtypes" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "id": "b810a7fd-a605-4cdd-9b06-9a13a4f3853c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "count 137.000000\n", + "mean 7.605839\n", + "std 1.601276\n", + "min 5.000000\n", + "25% 7.000000\n", + "50% 7.000000\n", + "75% 8.000000\n", + "max 14.000000\n", + "Name: duration_days, dtype: float64\n", + "is_intercontinental_trip\n", + "0.0 81\n", + "1.0 56\n", + "Name: count, dtype: int64\n" + ] + } + ], + "source": [ + "df = travel_trip_complete_christos_df # shorthand\n", + "\n", + "# duration should be numeric\n", + "df[\"duration_days\"] = pd.to_numeric(df[\"duration_days\"], errors=\"coerce\")\n", + "\n", + "# intercontinental should be numeric (0/1) so mean works\n", + "df[\"is_intercontinental_trip\"] = df[\"is_intercontinental_trip\"].astype(float)\n", + "\n", + "print(df[\"duration_days\"].describe())\n", + "print(df[\"is_intercontinental_trip\"].value_counts(dropna=False))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "id": "053480b1-3013-4e34-b89c-056e06db043f", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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gQIFJEeOHJI/f36pUaOGeHp6ai2DT2YvT+m6X6orn7N+/XopXry4mJiYSOHChWX27Nmybt26JHUiOjpaRo8eLTY2NmJqairVqlUTHx8fsbS0lFGjRmltMygoSIYPHy4uLi6SI0cOsba2looVK8qUKVMkIiLis7H4+PhI+/btxdnZWUxMTCRv3rxSt25d+eOPP7SWi4uLk/nz50vZsmXF1NRUzMzMpESJEjJw4EB59OhRqmPW/A1cuXJFaz+fqx/J1fuUxqSp85/69O9eRGTx4sXi4uIihoaGydYJIqKsRCXy/1OlEhFRlubn5wcXFxfMmzcPY8eO1Xc49InY2FgUKlQItWrVwo4dO/QdTrZ34cIF1KxZE15eXmkyQ396yIwxExFlB+xeTkREpEdBQUF48OABNmzYgNevX2tNbkbp4/jx4/Dx8UHFihWRM2dO3Lx5Ez/99BOKFSuGDh066Du8ZGXGmImIsism3URERHp08OBB9O3bF/b29li5cmWavCaMUsfCwgLHjh3D4sWLER4ejnz58qF58+aYPXt2klfGZRSZMWYiouyK3cuJiIiIiIiIdCTtprckIiIiIiIiIi1MuomIiIiIiIh0hEk3ERERERERkY5k+YnU1Go1Xr58CXNzc6hUKn2HQ0RERERERFmAiCA8PBwODg4wMPh8e3aWT7pfvnwJR0dHfYdBREREREREWdCzZ89QsGDBz36e5ZNuc3NzAIm/CAsLCz1HQ0RERERERFlBWFgYHB0dlZzzc7J80q3pUm5hYcGkm4iIiIiIiNLUPw1j5kRqRERERERERDrCpJuIiIiIiIhIR5h0ExEREREREekIk24iIiIiIiIiHWHSTURERERERKQjWX72ciLKeBISEnDr1i0EBwfD2toa7u7uMDQ01HdYRERERERpTq8t3d7e3mjdujUcHBygUqmwd+/ezy47cOBAqFQqLF68ON3iI6K05+3tje7du2PUqFGYOXMmRo0ahe7du8Pb21vfoRERERERpTm9Jt0fPnxA2bJlsXz58i8ut3fvXly6dAkODg7pFBkR6YK3tzc8PDxQuHBhrFixAocOHcKKFStQuHBheHh4MPEmIiIioixHr93LmzdvjubNm39xmRcvXuC7777D0aNH0bJly3SKjIjSWkJCAlauXInq1avD09MTBgaJz/zc3Nzg6emJqVOnYtWqVahZsya7mhMRERFRlpGhJ1JTq9Xo2bMnxo0bBzc3txStExMTg7CwMK1/RKR/t27dQmBgILp3764k3BoGBgbo3r07Xr16hVu3bukpQiIiIiKitJehk+45c+bAyMgIw4cPT/E6s2fPhqWlpfLP0dFRhxESUUoFBwcDAFxcXJL9XFOuWY6IiIiIKCvIsEn3X3/9hSVLlmDjxo1QqVQpXm/SpEkIDQ1V/j179kyHURJRSllbWwMAfH19k/1cU65ZjoiIiIgoK8iwSffZs2fx5s0bODk5wcjICEZGRvD398eYMWNQqFChz65nYmICCwsLrX9EpH/u7u6ws7ODl5cX1Gq11mdqtRpeXl6wt7eHu7u7niIkIiIiIkp7GTbp7tmzJ27duoUbN24o/xwcHDBu3DgcPXpU3+ERUSoZGhpiyJAh8PHxwdSpU3H37l1ERkbi7t27mDp1Knx8fDB48GBOokZEREREWYpeZy+PiIjA48ePlZ99fX1x48YNWFtbw8nJCXnz5tVaPkeOHLCzs0Px4sXTO1QiSgN16tTB9OnTsXLlSgwdOlQpt7e3x/Tp01GnTh09RkdERERElPb0mnRfvXoV9evXV34ePXo0AKB3797YuHGjnqIiIl2qU6cOatasiVu3biE4OBjW1tZwd3dnCzcRERERZUkqERF9B6FLYWFhsLS0RGhoKMd3ExERERERUZpIaa6ZYcd0ExEREREREWV2TLqJiIiIiIiIdIRJNxEREREREZGOMOkmIiIiIiIi0hEm3UREREREREQ6wqSbiIiIiIiISEeYdBMRERERERHpCJNuIiIiIiIiIh1h0k1ERERERESkI0y6iYiIiIiIiHSESTcRERERERGRjjDpJiIiIiIiItIRJt1EREREREREOsKkm4iIiIiIiEhHmHQTERERERER6QiTbiIiIiIiIiIdYdJNREREREREpCNG+g6AiLKfhIQE3Lp1C8HBwbC2toa7uzsMDQ31HRYRERERUZpj0k1E6crb2xsrV65EYGCgUmZnZ4chQ4agTp06eoyMiIiIiCjtsXs5EaUbb29veHh4oHDhwlixYgUOHTqEFStWoHDhwvDw8IC3t7e+QyQiIiIiSlMqERF9B6FLYWFhsLS0RGhoKCwsLPQdDlG2lZCQgO7du6Nw4cLw9PSEgcH/nvmp1WpMnToVvr6+2LJlC7uaExEREVGGl9Jcky3dRJQubt26hcDAQHTv3l0r4QYAAwMDdO/eHa9evcKtW7f0FCERERERUdpj0k1E6SI4OBgA4OLikuznmnLNckREREREWQGTbiJKF9bW1gAAX1/fZD/XlGuWIyIiIiLKCph0E1G6cHd3h52dHby8vKBWq7U+U6vV8PLygr29Pdzd3fUUIRERERFR2mPSTUTpwtDQEEOGDIGPjw+mTp2Ku3fvIjIyEnfv3sXUqVPh4+ODwYMHcxI1IiIiIspSOHs5EaWr5N7TbW9vj8GDB/M93URERESUaaQ012TSTUTpLiEhAbdu3UJwcDCsra3h7u7OFm4iIiIiylRSmmsapWNMREQAErualy9fXt9hEBERERHpHMd0ExEREREREekIk24iIiIiIiIiHWHSTURERERERKQjTLqJiIiIiIiIdIRJNxEREREREZGOMOkmIiIiIiIi0hEm3UREREREREQ6wqSbiIiIiIiISEeYdBMRERERERHpCJNuIiIiIiIiIh1h0k1ERERERESkI0y6iYiIiIiIiHSESTcRERERERGRjjDpJiIiIiIiItIRJt1EREREREREOsKkm4iIiIiIiEhHmHQTERERERER6QiTbiIiIiIiIiId0WvS7e3tjdatW8PBwQEqlQp79+5VPouLi8OECRNQpkwZ5M6dGw4ODujVqxdevnypv4CJiIiIiIiIUkGvSfeHDx9QtmxZLF++PMlnkZGRuHbtGr7//ntcu3YNu3fvxsOHD9GmTRs9REpERERERESUeioREX0HAQAqlQp79uxBu3btPrvMlStXUKVKFfj7+8PJySlF2w0LC4OlpSVCQ0NhYWGRRtESERERERFRdpbSXNMoHWP6z0JDQ6FSqWBlZfXZZWJiYhATE6P8HBYWlg6RERERERERESWVaSZSi46OxsSJE9GtW7cvPkWYPXs2LC0tlX+Ojo7pGCURERERERHR/2SKpDsuLg5dunSBWq3GypUrv7jspEmTEBoaqvx79uxZOkVJREREREREpC3Ddy+Pi4tD586d4evri1OnTv3juGwTExOYmJikU3REREREREREn5ehk25Nwv3o0SOcPn0aefPm1XdIRERERERERCmm16Q7IiICjx8/Vn729fXFjRs3YG1tDQcHB3z11Ve4du0aDhw4gISEBAQGBgIArK2tYWxsrK+wiYiIiIiIiFJEr68M+/PPP1G/fv0k5b1798a0adPg4uKS7HqnT59GvXr1UrQPvjKMiIiIiIiI0lq6vDIsJibmP42frlevHr6U82eQV4gTERERERER/Supmr386NGj6NOnD4oUKYIcOXIgV65cMDc3R926dTFr1iy8fPlSV3ESERERERERZTopSrr37t2L4sWLo3fv3jAwMMC4ceOwe/duHD16FOvWrUPdunVx4sQJFC5cGIMGDUJQUJCu4yYiIiIiIiLK8FI0prtKlSr4/vvv0bJlSxgYfD5Pf/HiBZYsWQJbW1uMGTMmTQP9tzimm4iIiIiIiNJaSnNNvU6klh6YdBMREREREVFaS2mumaox3clJSEjAjRs3EBIS8l83RURERERERJSlpDrpHjlyJNatWwcgMeGuW7cuKlSoAEdHR/z5559pHR8RERERERFRppXqpPv3339H2bJlAQD79++Hr68v7t+/j5EjR2LKlClpHiARERERERFRZpXqpPvt27ews7MDABw6dAidOnWCq6sr+vfvj9u3b6d5gERERERERESZVaqTbltbW9y7dw8JCQk4cuQIGjVqBACIjIyEoaFhmgdIRERERERElFkZpXaFvn37onPnzrC3t4dKpULjxo0BAJcuXUKJEiXSPEAiIiIiIiKizCrVSfe0adNQunRpPHv2DJ06dYKJiQkAwNDQEBMnTkzzAImIiIiIiIgyq1S/p9vX1xcuLi66iifN8T3dRERERERElNZ09p7uokWLon79+tiyZQuio6P/U5BEREREREREWVmqk+6bN2+ifPnyGDNmDOzs7DBw4EBcvnxZF7ERERERERERZWqpTrpLly6NhQsX4sWLF9iwYQMCAwNRq1YtuLm5YeHChQgKCtJFnERERERERESZTqqTbg0jIyO0b98eO3bswJw5c/DkyROMHTsWBQsWRK9evfDq1au0jJOIiIiIiIgo0/nXSffVq1cxZMgQ2NvbY+HChRg7diyePHmCU6dO4cWLF2jbtm1axklERERERESU6aT6lWELFy7Ehg0b8ODBA7Ro0QKbN29GixYtYGCQmL+7uLhgzZo1fGc3ERERERERZXupTrpXrVqFfv36oW/fvrCzs0t2GScnJ6xbt+4/B0dERERERESUmaX6Pd2ZDd/TTURERERERGktpblmqlu6NSIjIxEQEIDY2Fitcnd393+7SSIiIiIiIqIsJdVJd1BQEPr06YMjR44k+3lCQsJ/DoqI0kd0dDQCAgL0HYbeODk5wdTUVN9hEFEayM7XM17LiIgytlQn3SNHjsT79+9x8eJF1K9fH3v27MHr16/h6emJBQsW6CJGItKRgIAADBgwQN9h6M3atWvh6uqq7zCIKA1k5+sZr2VERBlbqsd029vbY9++fahSpQosLCxw9epVuLq64o8//sDcuXNx7tw5XcX6r3BMN9Hn6bNlyN/fH7NmzcKUKVPg7OyslxjYOkSUdejresZrGRFR9qWzMd0fPnyAjY0NAMDa2hpBQUFwdXVFmTJlcO3atX8fMRGlO1NTU723jjg7O+s9BiLK/PR9PeO1jIiIPscgtSsUL14cDx48AACUK1cOa9aswYsXL7B69WrY29uneYBEREREREREmdW/GtP96tUrAICHhweaNm0KLy8vGBsbY+PGjWkdHxEREREREVGmleqku3v37sr/ly9fHn5+frh//z6cnJyQL1++NA2OiIiIiIiIKDP71+/p1siVKxcqVKiQFrEQERERERERZSkpSrpHjx6d4g0uXLjwXwdDRERERERElJWkKOm+fv261s9//fUXEhISULx4cQDAw4cPYWhoiIoVK6Z9hERERERERESZVIqS7tOnTyv/v3DhQpibm2PTpk3IkycPACAkJAR9+/ZF7dq1dRMlERERERERUSaU6leGLViwALNnz1YSbgDIkycPPD09sWDBgjQNjoiIiIiIiCgzS3XSHRYWhtevXycpf/PmDcLDw9MkKCIiIiIiIqKsINVJd/v27dG3b1/8/vvveP78OZ4/f47ff/8d/fv3R4cOHXQRIxEREREREVGmlOpXhq1evRpjx45Fjx49EBcXl7gRIyP0798f8+bNS/MAiYiIiIiIiDKrVCfduXLlwsqVKzFv3jw8efIEIoKiRYsid+7cuoiPiIiIiIiIKNNKddKtkTt3bri7u6dlLERERERERERZSorGdA8aNAjPnj1L0QZ/++03eHl5/aegiIiIiIiIiLKCFLV058+fH6VLl0aNGjXQpk0bVKpUCQ4ODjA1NUVISAju3buHc+fOYfv27ShQoADWrl2r67iJiIiIiIiIMrwUJd0zZ87EsGHDsG7dOqxevRp37tzR+tzc3ByNGjXCL7/8giZNmugkUCIiIiIiIqLMJsVjum1sbDBp0iRMmjQJ79+/h7+/P6KiopAvXz4UKVIEKpVKl3ESERERERERZTr/aiI1KysrWFlZpXEoRERERERERFlLiiZSIyIiIiIiIqLUY9JNREREREREpCNMuomIiIiIiIh0hEk3ERERERERkY7oNen29vZG69at4eDgAJVKhb1792p9LiKYNm0aHBwckDNnTtSrVw93797VT7DZREJCAq5fv46TJ0/i+vXrSEhI0HdIRET/Cq9nRERElBGkevby169fY+zYsTh58iTevHkDEdH6PDU3NR8+fEDZsmXRt29fdOzYMcnnc+fOxcKFC7Fx40a4urrC09MTjRs3xoMHD2Bubp7a0OkfeHt7Y+XKlQgMDFTK7OzsMGTIENSpU0ePkRERpQ6vZ0RERJRRpDrp7tOnDwICAvD999/D3t7+P72fu3nz5mjevHmyn4kIFi9ejClTpqBDhw4AgE2bNsHW1hZbt27FwIED//V+KSlvb294eHigevXq+P777+Hi4gJfX194eXnBw8MD06dP540qEWUKvJ4RERFRRpLqpPvcuXM4e/YsypUrp4Nw/sfX1xeBgYFo0qSJUmZiYoK6deviwoULTLrTUEJCAlauXInq1avD09MTBgaJow7c3Nzg6emJqVOnYtWqVahZsyYMDQ31HC0R0efxekZEREQZTarHdDs6OibpUq4Lmi6Btra2WuW2trZa3QU/FRMTg7CwMK1/9GW3bt1CYGAgunfvrtygahgYGKB79+549eoVbt26pacIiYhShtczIiIiymhSnXQvXrwYEydOhJ+fnw7CSerT7usi8sUu7bNnz4alpaXyz9HRUdchZnrBwcEAABcXl2Q/15RrliMiyqh4PSMiIqKMJtVJ99dff40///wTRYoUgbm5OaytrbX+pRU7OzsASNKq/ebNmySt3x+bNGkSQkNDlX/Pnj1Ls5iyKs158/X1TfZzTXlanl8iIl3g9YyIiIgymlSP6V68eLEOwkjKxcUFdnZ2OH78OMqXLw8AiI2NxZkzZzBnzpzPrmdiYgITE5N0iTGrcHd3h52dHby8vLTGQAKAWq2Gl5cX7O3t4e7urscoiYj+Ga9nRERElNGkOunu3bt3mu08IiICjx8/Vn729fXFjRs3YG1tDScnJ4wcORI//vgjihUrhmLFiuHHH39Erly50K1btzSLgQBDQ0MMGTIEHh4emDp1Krp3764126+Pjw+mT5/O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cXFxuH79Oo4cOYJx48alVVxEREREREREmV6qk+4RI0YkW75ixQpcvXr1PwdERERERERElFWk2Zju5s2bY9euXWm1OSIiIiIiIqJML82S7t9//x3W1tZptTkiIiIiIiKiTC/V3cvLly+vNZGaiCAwMBBBQUFYuXJlmgZHRERERERElJmlOulu166d1s8GBgbInz8/6tWrhxIlSqRVXERERERERESZXqqTbg8PD13EQURERERERJTlpCjpDgsLS/EGLSws/nUwRERERERERFlJipJuKysrrXHcX5KQkPCfAiIiIiIiIiLKKlKUdJ8+fVr5fz8/P0ycOBF9+vRB9erVAQA+Pj7YtGkTZs+erZsoiYiIiIiIiDKhFCXddevWVf5/xowZWLhwIbp27aqUtWnTBmXKlMHatWvRu3fvtI+SiIiIiIiIKBNK9Xu6fXx8UKlSpSTllSpVwuXLl9MkKCIiIiIiIqKsINVJt6OjI1avXp2kfM2aNXB0dEyToIiIiIiIiIiyglS/MmzRokXo2LEjjh49imrVqgEALl68iCdPnmDXrl1pHiARERERERFRZpXqlu4WLVrg0aNHaNu2LYKDg/Hu3Tu0bdsWDx8+RIsWLXQRIxEREREREVGmlOqWbgAoWLAgZs2aldaxJBEfH49p06bBy8sLgYGBsLe3R58+fTB16lQYGKT6eQERERERERFRuvpXSXd6mTNnDlavXo1NmzbBzc0NV69eRd++fWFpaYkRI0boOzwiIiIiIiKiL8rQSbePjw/atm2Lli1bAgAKFSqEbdu24erVq3qOjIiIiIiIiOifZeg+2rVq1cLJkyfx8OFDAMDNmzdx7tw5jh0nIiIiIiKiTCFDt3RPmDABoaGhKFGiBAwNDZGQkIBZs2aha9eun10nJiYGMTExys9hYWH/KYbXr18jNDT0P20js/H399f6b3ZhaWkJW1tbfYdBlOVER0cjICBA32HohZOTE0xNTfUdBhEREenRv06637x5gwcPHkClUsHV1RU2NjZpGRcA4LfffsOWLVuwdetWuLm54caNGxg5ciQcHBzQu3fvZNeZPXs2pk+fnib7f/36NXr07IW42Jh/XjgLSo/J8jKSHMYm2PLrZibeRGksICAAAwYM0HcYerF27Vq4urrqOwwiIiLSo1Qn3WFhYRg6dCi2b9+OhIQEAIChoSG+/vprrFixApaWlmkW3Lhx4zBx4kR06dIFAFCmTBn4+/tj9uzZn026J02ahNGjR2vF6+jo+K/2HxoairjYGEQVrgu1adodF2U8BtGhwNMzCA0NZdJNlMacnJywdu1avezb398fs2bNwpQpU+Ds7Jzu+3dyckr3fRIREVHGkuqk+5tvvsGNGzdw4MABVK9eHSqVChcuXMCIESPw7bffYseOHWkWXGRkZJJXgxkaGkKtVn92HRMTE5iYmKRZDACgNrWEOne+NN0mEVF2YWpqqvfWXmdnZ73HQERERNlTqpPugwcP4ujRo6hVq5ZS1rRpU/z8889o1qxZmgbXunVrzJo1C05OTnBzc8P169excOFC9OvXL033Q0RERERERKQLqU668+bNm2wXcktLS+TJkydNgtJYtmwZvv/+ewwZMgRv3ryBg4MDBg4ciB9++CFN90NERERERESkC6l+ZdjUqVMxevRovHr1SikLDAzEuHHj8P3336dpcObm5li8eDH8/f0RFRWFJ0+ewNPTE8bGxmm6HyIiIiIiIiJdSHVL96pVq/D48WM4OzsrE8QEBATAxMQEQUFBWLNmjbLstWvX0i5SIiIiIiIiokwm1Ul3u3btdBAGERERERERUdaT6qTbw8NDF3EQERERERERZTmpHtNNRERERERERCmTopZua2trPHz4EPny5UOePHmgUqk+u2xwcHCaBUdERERERESUmaUo6V60aBHMzc0BAIsXL9ZlPERERERERERZRoqS7t69ewMA4uPjAQBNmzaFnZ2d7qIiIiIiIiIiygJSNZGakZERBg8ejL///ltX8RBlWwZR7/UdAukYzzERERFR9pPq2curVq2K69evw9nZWRfxEGVbOX299R0CERERERGlsVQn3UOGDMGYMWPw/PlzVKxYEblz59b63N3dPc2CI8pOolzqQJ3TSt9hkA4ZRL3nwxUiIiKibCbFSXe/fv2wePFifP311wCA4cOHK5+pVCqICFQqFRISEtI+SqJsQJ3TCurc+fQdBhERERERpaEUJ92bNm3CTz/9BF9fX13GQ0RERERERJRlpDjpFhEA4FhuIiIiIiIiohQySM3CKpVKV3EQERERERERZTmpmkjN1dX1HxPv4ODg/xQQERERERERUVaRqqR7+vTpsLS01FUsRERERERERFlKqpLuLl26wMbGRlexEBEREREREWUpKR7TzfHcRERERERERKmT4qRbM3s5EREREREREaVMiruXq9VqXcZBRERERERElOWk6pVhRERERERERJRyTLqJiIiIiIiIdCRVs5dnV4ahz2EQ9V7fYZAOqWIj9B0CDKJD9R0C6Zi+z/H9+/fx7NkzvcaQ3l69egUAuHjxIvz9/fUcTfpxdHREiRIl9LZ/fm9mffr+3nz8+DF8fX3TdZ+RkZF48uRJuu4zIylSpAhy5cqV7vt1cXFB0aJF032/RGmJSfcXWFpawsDAEKYvruk7FEoHBgaGenkPvaWlJXIYmwBPz6T7vin95TA20Us9e/36NYYMGQq1OiHd950RrF+/Xt8hpCsDA0Ns27YVtra26bpffm9mL/r63gSAZcuW4ebNm3rZN6WvsmXLYsmSJfoOg+g/YdL9Bba2tli5ckW2bBlav349+vXrB3t7e32Hk24cHR3T/QYVSKxnW37djNDQ7NXS7e/vj1mzZmHKlClwdnbWdzjpxtLSUi/1LDQ0FGp1AqILVIAYm6X7/in9qGIjYPriGkJDQ9O9rmXH783s+p0J6O97EwCGDRvGlu50ps+WbqLMjkn3PyhRooReu+jpw8OHD7F+/XpUq1YNrq6u+g4nW7C1tdXbjYu+OTs7s56lowTLglDnzqfvMEiHDD68BfTY0pzdvjf5nakfRYsWZZdjIso0OJEaERERERERkY4w6SYiIiIiIiLSESbdRERERERERDrCpJuIiIiIiIhIR5h0ExEREREREekIk24iIiIiIiIiHWHSTURERERERKQjTLqJiIiIiIiIdIRJNxEREREREZGOMOkmIiIiIiIi0hEm3UREREREREQ6wqSbiIiIiIiISEeYdBMRERERERHpCJNuIiIiIiIiIh1h0k1ERERERESkI0y6iYiIiIiIiHSESTcRERERERGRjjDpJiIiIiIiItIRJt1EREREREREOsKkm4iIiIiIiEhHmHQTERERERER6UiGT7pfvHiBHj16IG/evMiVKxfKlSuHv/76S99hEREREREREf0jI30H8CUhISGoWbMm6tevj8OHD8PGxgZPnjyBlZWVvkMjIiIiIiIi+kcZOumeM2cOHB0dsWHDBqWsUKFC+guIiIiIiIiIKBUydPfyP/74A5UqVUKnTp1gY2OD8uXL4+eff9Z3WEREREREREQpkqFbup8+fYpVq1Zh9OjRmDx5Mi5fvozhw4fDxMQEvXr1SnadmJgYxMTEKD+HhYWlV7hpKjo6GgEBAXrZt7+/v9Z/9cHJyQmmpqZ62z9RVmUQHarvEEjHeI6JiIgylgyddKvValSqVAk//vgjAKB8+fK4e/cuVq1a9dmke/bs2Zg+fXp6hqkTAQEBGDBggF5jmDVrlt72vXbtWri6uupt/0RZjaWlJXIYmwBPz+g7FEoHOYxNYGlpqe8wiIiICBk86ba3t0epUqW0ykqWLIldu3Z9dp1JkyZh9OjRys9hYWFwdHTUWYy64uTkhLVr1+o7DL1xcnLSdwhEWYqtrS22/LoZoaHZqxXU398fs2bNwpQpU+Ds7KzvcNKNpaUlbG1t9R0GERERIYMn3TVr1sSDBw+0yh4+fPjFGycTExOYmJjoOjSdMzU1ZUsvEaUpW1vbbJuIOTs785pKREREepGhJ1IbNWoULl68iB9//BGPHz/G1q1bsXbtWgwdOlTfoRERERERERH9owyddFeuXBl79uzBtm3bULp0acycOROLFy9G9+7d9R0aERERERER0T/K0N3LAaBVq1Zo1aqVvsMgIiIiIiIiSrUM3dJNRERERERElJkx6SYiIiIiIiLSESbdRERERERERDrCpJuIiIiIiIhIR5h0ExEREREREekIk24iIiIiIiIiHWHSTURERERERKQjTLqJiIiIiIiIdIRJNxEREREREZGOMOkmIiIiIiIi0hEm3UREREREREQ6wqSbiIiIiIiISEeYdBMRERERERHpCJNuIiIiIiIiIh1h0k1ERERERESkI0y6iYiIiIiIiHSESTcRERERERGRjjDpJiIiIiIiItIRJt1EREREREREOsKkm4iIiIiIiEhHmHQTERERERER6QiTbiIiIiIiIiIdMdJ3AESkP9HR0QgICNDLvv39/bX+qw9OTk4wNTXV2/6zi+xcz1jH0o++6pm+6xjAekZElNGpRET0HYQuhYWFwdLSEqGhobCwsNB3OEQZysOHDzFgwAB9h6E3a9euhaurq77DyPKycz1jHUs/rGesZ0RE6S2luSaTbqJsTJ8tkBkBW4fSR3auZ6xj6Yf1jPWMiCi9Men+f0y6iYiIiIiIKK2lNNfkRGpEREREREREOsKkm4iIiIiIiEhHmHQTERERERER6QiTbiIiIiIiIiIdYdJNREREREREpCNMuomIiIiIiIh0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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 1. Duration by age segment\n", + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "\n", + "plt.figure(figsize=(10,5))\n", + "sns.boxplot(\n", + " data=travel_trip_complete_christos_df,\n", + " x=\"traveler_age_segment\",\n", + " y=\"duration_days\"\n", + ")\n", + "\n", + "plt.xlabel(\"Age segment\")\n", + "plt.ylabel(\"Trip duration (days)\")\n", + "plt.title(\"Trip duration by traveler age segment\")\n", + "plt.xticks(rotation=30)\n", + "plt.tight_layout()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "id": "91a3ea3d-fd7f-491b-b1ff-cef75c96baea", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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PzIMAP766y+cPHkSOTk5KCoqkto3fPjwCgmMiIiIiIiI6HMnd9IdFRWFIUOGQEVFBYaGhpBIJOI+iUTCpJuIiIiIiIjo/5M76Z46dSqmTp2KSZMmQUFB7ieOEREREREREf1nyJ01P3v2DL169WLCTURERERERPQOcmfOAwcOxO+//14ZsRARERERERF9UeSeXh4REYGOHTviwIEDqFu3LpSVlaX2L1q0qMKCIyIiIiIiIvqcyZ10z549GwcPHoS9vT0AlFhIjYiIiIiIiIhekzvpXrRoEdauXYugoKBKCIeIiIiIiIjoyyH3Pd2qqqpo1qxZZcRCRERERERE9EWRO+keMWIEli9fXhmxEBEREREREX1R5J5efvbsWcTHx2PPnj1wcnIqsZDajh07Kiw4IiIiIiIios+Z3Em3np4eunbtWhmxEBEREREREX1R5E66o6KiKiMOIiIiIiIioi+O3Pd0ExEREREREZFs5B7ptra2Lvd53Ldv3/6ggIiIiIiIiIi+FHIn3SNHjpTaLigowIULF3DgwAGMGzeuouIiIiIiIiIi+uzJnXSPGDGi1PIff/wR58+f/+CAiIiIiIiIiL4UFXZPt6+vL7Zv315RzRERERERERF99ios6d62bRsMDAwqqjkiIiIiIiKiz57c08vd3NykFlITBAHZ2dn4559/sHLlygoNjoiIiIiIiOhzJnfS7e/vL7WtoKCA6tWrw8vLC3Xq1KmouIiIiIiIiIg+e3In3dOmTauMOIiIiIiIiIi+OBV2TzcRERERERERSZN5pFtBQUHqXu7SSCQSvHr16oODIiIiIiIiIvoSyJx0x8TElLnv1KlTWL58OQRBqJCgiIiIiIiIiL4EMifdfn5+JcquXbuGSZMmYffu3ejTpw9mzJhRocERERERERERfc7e657ue/fuITg4GC4uLnj16hWSk5Oxbt06WFhYVHR8RERERERERJ8tuZLu3NxcTJgwAba2trhy5QoOHz6M3bt3w9nZubLiIyIiIiIiIvpsyTy9fN68eZg7dy5MTEywadOmUqebExEREREREdH/kTnpnjhxItTV1WFra4t169Zh3bp1pdbbsWNHhQVHRERERERE9DmTOenu27fvOx8ZRkRERERERET/R+akOzo6uhLDICIiIiIiIvryvNfq5URERERERET0bky6iYiIiIiIiCoJk24iIiIiIiKiSsKkm4iIiIiIiKiSMOkmIiIiIiIiqiRVmnQfO3YMnTp1gpmZGSQSCXbu3Cm1XxAEhIWFwczMDOrq6vDy8sKVK1eqJlgiIiIiIiIiOVVp0v306VPUq1cPK1asKHX/vHnzsGjRIqxYsQLnzp2DiYkJ2rRpg3///fcjR0pEREREREQkP5mf010ZfH194evrW+o+QRCwZMkSTJ48GV27dgUArFu3DsbGxti4cSO+/fbbjxkqERERERERkdw+2Xu609PTkZ2djbZt24plqqqq8PT0xKlTp8o8Lj8/H3l5eVIvIiIiIiIioqrwySbd2dnZAABjY2OpcmNjY3FfaSIiIqCrqyu+zM3NKzVOIiIiIiIiorJ8skl3MYlEIrUtCEKJsjdNmjQJubm54uvu3buVHSIRERERERFRqar0nu7ymJiYAHg94m1qaiqW5+TklBj9fpOqqipUVVUrPT4iIiIiIiKid/lkR7qtra1hYmKCuLg4sezly5dISEhA06ZNqzAyIiIiIiIiItlU6Uj3kydPcPPmTXE7PT0dycnJMDAwgIWFBUaOHInZs2ejdu3aqF27NmbPng0NDQ307t27CqMmIiIiIiIikk2VJt3nz59Hy5Ytxe3Ro0cDAPr164fo6GiMHz8ez58/R0hICB49eoTGjRsjNjYW2traVRUyERERERERkcyqNOn28vKCIAhl7pdIJAgLC0NYWNjHC4qIiIiIiIiognyy93QTERERERERfe6YdBMRERERERFVEibdRERERERERJWESTcRERERERFRJWHSTURERERERFRJqnT1ciIi+rxlhtet0PYspqZUaHv0+avozxjAzxkREX1cHOkmIiIiIiIiqiRMuomIiIiIiIgqCZNuIiIiIiIiokrCpJuIiIiIiIiokjDpJiIiIiIiIqokTLqJiIj+X3t3HldT/v8B/HVbJZVlCEkhZY0ho2wxlrFOZd/3aIiRwZB935fGNsY6GDN22ROjjDKWSJYkSwoJoYSie9+/P/p1Rhgz5tvtJq/n4+HxcM8953Pen3tP5573+SyHiIiISEuYdBMRERERERFpCZNuIiIiIiIiIi1h0k1ERERERESkJUy6iYiIiIiIiLTEQNcBUO4U3MA1W8tzPRacreURERERERF9DNjSTURERERERKQlTLqJiIiIiIiItIRJNxEREREREZGWMOkmIiIiIiIi0hIm3URERERERERawqSbiIiIiIiISEuYdBMRERERERFpCZNuIiIiIiIiIi1h0k1ERERERESkJUy6iYiIiIiIiLTEQNcBEBERaVNwA9dsLc/1WHC2lkdERER5G1u6iYiIiIiIiLSESTcRERERERGRljDpJiIiIiIiItISJt1EREREREREWsKkm4iIiIiIiEhLmHQTERERERERaQmTbiIiIiIiIiItYdJNREREREREpCVMuomIiIiIiIi0hEk3ERERERERkZYw6SYiIiIiIiLSEgNdB0BEn67gBq7ZWp7rseBsLY+IiIiI6H/Flm4iIiIiIiIiLWHSTURERERERKQlTLqJiIiIiIiItIRJNxEREREREZGWMOkmIiIiIiIi0pJcnXRPmjQJKpUqy7/ixYvrOiwiIiIiIiKifyXXPzKscuXKOHz4sPJaX19fh9EQERERERER/Xu5Puk2MDBg6zYRERERERF9lHJ193IAiI6ORsmSJVGmTBl07twZN27c0HVIRERERERERP9Krm7prl27NtavXw97e3skJCRg2rRpqFOnDi5duoQiRYq8c5u0tDSkpaUpr5OTk3MqXCIiIiIiIqIscnXS3aJFC+X/VatWhYuLC8qVK4eff/4Zw4cPf+c2M2fOxOTJk7Mthpoj12dbWZl2mmV7kfSR+xiOs7qL62ZvgQBm5O5TEBERERHR/yzXdy9/nampKapWrYro6Oi/XWfMmDFISkpS/sXFxeVghERERERERER/+aiamdLS0hAZGYn69ev/7TrGxsYwNjbOwaiIiIiIiIiI3i1Xt3SPGDECwcHBuHnzJk6ePIn27dsjOTkZvXr10nVoRERERERERP8oV7d03759G126dMHDhw9RtGhRODs7488//4SNjY2uQyMiIiIiIiL6R7k66f7tt990HQIRERERERHRf5aru5cTERERERERfcyYdBMRERERERFpCZNuIiIiIiIiIi1h0k1ERERERESkJUy6iYiIiIiIiLQkV89eTkRERESkbbFTqmZ7maUnXMj2Mono48SWbiIiIiIiIiItYdJNREREREREpCVMuomIiIiIiIi0hEk3ERERERERkZYw6SYiIiIiIiLSEibdRERERERERFrCpJuIiIiIiIhIS5h0ExEREREREWkJk24iIiIiIiIiLWHSTURERERERKQlTLqJiIiIiIiItMRA1wEQERERfcyCG7hme5mux4KzvUwiItINtnQTERERERERaQmTbiIiIiIiIiItYdJNREREREREpCVMuomIiIiIiIi0hEk3ERERERERkZYw6SYiIiIiIiLSEibdRERERERERFrCpJuIiIiIiIhIS5h0ExEREREREWkJk24iIiIiIiIiLTHQdQBERJQzao5cn+1l7jTL3vLqLq6bvQUCmMGfOnpDdh9nPMaIiOh92NJNREREREREpCVMuomIiIiIiIi0hEk3ERERERERkZYw6SYiIiIiIiLSEibdRERERERERFrCpJuIiIiIiIhIS5h0ExEREREREWkJk24iIiIiIiIiLWHSTURERERERKQlTLqJiIiIiIiItMRA1wHQp2HJd3uyvUzv+W2yvUwion/C8xmR7tUcuT5by9tplq3FAQDqLq6breWFDAnJ1vIo58VOqZrtZXYpZJ6t5c3Ymv3poeux4Gwv82PDlm4iIiIiIiIiLWHSTURERERERKQlTLqJiIiIiIiItIRJNxEREREREZGWMOkmIiIiIiIi0hIm3URERERERERa8lEk3cuWLUOZMmWQL18+1KxZE3/88YeuQyIiIiIiIiL6R7k+6d68eTOGDRuGsWPH4ty5c6hfvz5atGiB2NhYXYdGRERERERE9F65PulesGAB+vXrh/79+6NixYpYtGgRrK2tsXz5cl2HRkRERERERPReuTrpfvnyJcLCwtCsWbMsy5s1a4bQ0FAdRUVERERERET07xjoOoD3efjwIdRqNSwtLbMst7S0xL179965TVpaGtLS0pTXSUlJAIDk5OT/FIM67cV/2u59nhqqs7W89Bfp2VoeADzL5iJfpD3P3gLx37/T3IjHWfbIS8eENvA4yx48n+Wsp6nZe4wB2X+cZfcxBvCY+CfZfT7L7nMZkP3HGY+Jjx/PZ3lPZt1E5L3rqeSf1tChu3fvwsrKCqGhoXBxcVGWT58+HRs2bMCVK1fe2mbSpEmYPHlyToZJREREREREn6i4uDiUKlXqb9/P1S3dn332GfT19d9q1b5///5brd+ZxowZg+HDhyuvNRoNHj16hCJFikClUmk13rwiOTkZ1tbWiIuLg7m5ua7DoTyKxxnlBB5npG08xign8DijnMDj7MOJCJ4+fYqSJUu+d71cnXQbGRmhZs2aCAwMhIeHh7I8MDAQbm5u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nMGLFy/g7e2NoKAg3Lp1CyEhITh9+rSSTNra2iIlJQVHjhzBw4cP8fz58/8Uq52dHc6cOYOAgABcvXoV48ePx+nTp7OsY2tri4iICERFReHhw4d49erVW+UMGjQIcXFxGDJkCK5cuQJ/f39MnDgRw4cPh57ef78UmDRpEubPn48ffvgB0dHROHv2LBYvXgwg4zN0dHREt27dcPbsWZw6dQo9e/aEq6srnJyc/vU+bG1tcfLkScTExODhw4f/udV50qRJmDlzJvz8/HD16lVcuHABa9euxYIFCz4oluz4XomI6NPCpJuIiD4pBw8eRIkSJWBra4vmzZvj6NGj+OGHH+Dv7690NVapVNi/fz8aNGiAvn37wt7eHp07d0ZMTAwsLS2hr6+PxMRE9OzZE/b29ujYsSNatGiByZMnAwDq1KkDLy8vdOrUCUWLFsWcOXP+U6xeXl5o27YtOnXqhNq1ayMxMTFLqzcAeHp6wsHBQRn3HRIS8lY5VlZW2L9/P06dOoVq1arBy8sL/fr1w7hx4/5TXJl69eqFRYsWYdmyZahcuTJat26N6OhoABmf4a5du1CoUCE0aNAATZo0QdmyZbF58+YP2seIESOgr6+PSpUqoWjRoh88nj1T//79sWrVKqxbtw5Vq1aFq6sr1q1bpwwp+Dey63slIqJPi0oyBzwRERERERERUbZiSzcRERERERGRljDpJiIiIiIiItISJt1EREREREREWsKkm4iIiIiIiEhLmHQTERERERERaQmTbiIiIiIiIiItYdJNREREREREpCVMuomIiIiIiIi0hEk3ERERERERkZYw6SYiIiIiIiLSEibdRERERERERFrCpJuIiIiIiIhIS/4PHoPMdyVWZE8AAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 2. Destination continent by age\n", + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "\n", + "plt.figure(figsize=(10,5))\n", + "sns.countplot(\n", + " data=travel_trip_complete_christos_df,\n", + " x=\"destination_continent\",\n", + " hue=\"traveler_age_segment\"\n", + ")\n", + "\n", + "plt.xlabel(\"Destination continent\")\n", + "plt.ylabel(\"Number of trips\")\n", + "plt.title(\"Destination continent by traveler age segment\")\n", + "plt.xticks(rotation=30)\n", + "plt.tight_layout()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "id": "b214eaab-b674-4bfd-9e84-a0236ebf4613", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAHqCAYAAAAZLi26AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAti1JREFUeJzs3XlcTekfB/DPbV+0SItK2kiLrNnKXvYlxoyd7EuIwhATlX031hi7GfturMm+jUiIMIgsJVkKkZbz+8N0f65Ct24d5fN+vXq93Oc895zPvfdM0/ee5zyPRBAEAURERERERESkcEpiByAiIiIiIiIqrlh0ExERERERERUQFt1EREREREREBYRFNxEREREREVEBYdFNREREREREVEBYdBMREREREREVEBbdRERERERERAWERTcRERERERFRAWHRTURERERERFRAWHQTUbG0Zs0aSCQS6Y+GhgZKly6NRo0aYdq0aUhISCjQ4+/fvx+BgYE5brOyskKvXr0K9Phnz55FYGAgXr16lW1bw4YN0bBhwwI9/vekKL0XS5YswZo1a8SOIbqUlBQEBgbi+PHj2bZl/bd9//79Qs/1Lffv34dEIsHs2bPFjkIi+drvfiL6cbHoJqJibfXq1Th37hxCQ0OxePFiVKlSBTNmzICDgwOOHDlSYMfdv38/goKCcty2c+dOBAQEFNixgY+FZlBQUI6F5pIlS7BkyZICPf73pCi9Fyy6P0pJSUFQUFCORXerVq1w7tw5mJqaFn4wom/42u9+IvpxqYgdgIioIFWsWBEuLi7Sxx06dICvry/q1q2Ln376Cf/++y9MTEwKNVPVqlUL9Xifc3R0FPX435Mf+b149+4dNDQ0IJFIxI4iJQgC3r9//9U+RkZGMDIyKqRERERE+ccr3UT0wylbtizmzJmD169fY9myZTLbLl68iLZt28LAwAAaGhqoWrUqtmzZItMnJSUFo0aNgrW1NTQ0NGBgYAAXFxds3LgRANCrVy8sXrwYAGSGuGcNh/18ePnx48chkUiwceNGjB8/HmZmZtDV1YWHhwdu3bolc+zQ0FB4enqiTJky0NDQQLly5TBw4EAkJiZK+wQGBmL06NEAAGtra+nxs64a5jSk+sWLF/D29oa5uTnU1NRgY2OD8ePHIzU1VaafRCLB0KFDsX79ejg4OEBLSwuVK1fG33//nav3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gr+/vxwcHDRo0CBt375d6enphb4ouAGUBopu2NSECRM0d+7c3/xEGbgbPffcczKbzfrss8/k4eGh3r17KzMzU+fOnVNycrLq1q3LGd0AUMYcP35ca9euVU5Ojjp37qw///nPev/995WZmWl0NAAVDNPLYVOhoaHaunWratSooXvvvbfQlNtVq1YZlAwoPk9PT61atUpt27bVlStXVKtWLW3atEkPPvigpJ937X/yySd16tQpg5MCAIqSk5OjTz/9VNHR0dq/f7/69eunqKgojnsEUCrYSA025e7urtDQUKNjADaVnp6u+vXrS/p5UzUXFxd5e3tb+ps0acL0cgAow5ydnTVo0CD5+PjoxRdf1CeffKJ33nmHohtAqaDohk1FR0cbHQGwuTp16ujixYvy8vKSJD399NNWO5qnp6erSpUqRsUDANzCd999p48++kjR0dHKzs5WWFiY3n//fVWvXt3oaAAqCNZ0w+by8vL05Zdf6oMPPlBWVpYk6cKFC7p27ZrByYDiadGihfbu3Wu5joyMtCq6d+3apcDAQCOiAQB+w4oVK9SrVy81bdpUBw4c0Jtvvqlz587pX//6l/z8/IyOB6ACYU03bCo5OVk9e/ZUSkqKrl+/rhMnTqhx48YaO3ascnNzNX/+fKMjAjZ34MABOTs7q3nz5kZHAQD8j52dnRo2bKjHH39cdevW/c37IiIiSjEVgIqIohs21a9fP7m6umrRokWqWbOmjhw5osaNG2v79u168skndfLkSaMjAgCACsDHx0cmk+mW95hMJp0+fbqUEgGoqFjTDZvatWuXdu/eLQcHB6t2b29vfffddwalAmzPzc1Nhw8fVuPGjY2OAgAowtmzZ42OAACSWNMNGysoKFB+fn6h9vPnz8vV1dWAREDJYJIQAAAAbgdFN2zqL3/5i+bMmWO5NplMunbtml588UWFhIQYFwwAAAAADMD0ctjUW2+9peDgYAUEBCg3N1cDBw7UyZMnVatWLS1fvtzoeIDNhIWFyc3NzegYAAAAKOPYSA02l5OTo+XLl+vgwYMqKChQq1at9Pjjj8vZ2dnoaAAAAABQqii6AeB3nD9/Xk5OTqpVq5YkaefOnZo/f75SUlLk7e2t0aNHq127dganBAAAQFlE0Y07tnr16tu+9+GHHy7BJEDJaN++vaZPn65evXrp888/V//+/dW7d2/5+/vrxIkTWrNmjVatWqXevXsbHRUA8CvXrl1TXFycUlNTZTKZVLduXQUFBalq1apGRwNQQVB0447Z2Vnvx2cymQrt7HzznMyidjYHyjo3NzcdPXpUPj4+atu2rUJDQ/Xcc89Z+t955x1FRUXp4MGDBqYEAPxSXl6eJkyYoAULFig3N1cODg4ym826ceOGnJycNHz4cL3++uuyt7c3OiqAco7dy3HHCgoKLF8bN25UixYttG7dOmVkZOjq1atat26dWrVqpfXr1xsdFSgWOzs7ZWZmSpLOnDmjXr16WfX36tVLiYmJRkQDAPyGCRMmaOXKlYqOjtaVK1eUm5ur69ev68qVK4qOjtaqVas0ceJEo2MCqADYvRw2NXbsWM2fP18dO3a0tPXo0UMuLi4aPny44uPjDUwHFE+XLl20fPlyBQYGqmXLltq2bZsCAwMt/Vu3blX9+vUNTAgA+LVly5YpNjZWXbt2tWp3d3fXY489plq1amnAgAFWR50CQEmg6IZNnTp1StWqVSvUXq1aNZ09e7b0AwE2EBkZqU6dOunChQvq2LGjpk6dqgMHDsjf31+JiYmKjY3V/PnzjY4JAPiFnJwcywaYRalZs6ZycnJKMRGAioo13bCpzp07y97eXh9//LE8PDwkSampqQoPD9dPP/2k7du3G5wQKJ5Tp05p2rRpWrt2ra5duyZJqly5slq3bq2JEyeqX79+xgYEAFjp06ePcnJytHTpUtWtW9eq79KlSwoPD5eTk9Mf2hAWAIqDohs2lZSUpNDQUCUmJqphw4aSpJSUFDVr1kz/+c9/5Ovra3BC4M6YzWalpaWpoKBAtWrVYgMeACijzp07p5CQECUkJKh58+aqW7euTCaTUlNTdezYMQUEBGjt2rVq0KCB0VEBlHMU3bA5s9msTZs2KSEhQWazWQEBAerWrZtlB3MAAIDSUFBQoA0bNmjfvn1KTU2VJNWrV0/t2rVT9+7dC53AAgAlgaIbAG5DTk6O4uLiVKNGDQUEBFj15ebmasWKFRo0aJBB6QAAAFBWUXTDpl566aVb9r/wwgullASwnRMnTqh79+5KSUmRyWRSp06dtHz5csu+BZcuXZKnpyfn0ANAGZeenq6kpCR5eHgwrRxAqaHohk21bNnS6vrGjRs6c+aMKleurCZNmujgwYMGJQOKLzQ0VHl5eYqOjlZGRobGjx+vY8eOadu2bWrYsCFFNwCUQVOmTNG0adPk4uKiGzduaPTo0Vq0aJHMZrNMJpP69u2rZcuWycnJyeioAMo5im6UuMzMTA0ZMkShoaEKDw83Og7wh9WtW1dffvml7rvvPkvb6NGjtWbNGm3dulVVqlSh6AaAMqZSpUq6ePGi6tSpo1dffVVz5szR/Pnz1bZtWx08eFAjR47UiBEjNH36dKOjAijn2D0CJc7NzU0vvfQS/6jhrpWTk6PKlStbtb377rt6+OGH1aVLF504ccKgZACA3/LLcaVPP/1UkZGR6t+/vzw9PdW7d2/Nnj1by5cvNzAhgIqi8u/fAty5jIwMXb161egYQLH4+fnp66+/lr+/v1X722+/LbPZrIcfftigZACAW7l5csq5c+fUpk0bq742bdooOTnZiFgAKhiKbtjUvHnzrK7NZrMuXryoJUuWqGfPngalAu5MaGioli9fXuTyiHfeeUcFBQWaP3++AckAALeyYMECVa1aVY6OjkpPT7fqu3r1qhwdHQ1KBqAiYU03bKpRo0ZW13Z2dqpdu7a6du2qyZMny9XV1aBkAACgIvHx8bGMdEvS2LFj9cwzz1iu58yZo9jYWO3du9eIeAAqEIpuAAAAVDj79u2To6NjoZNXAMDW2EgNNjV06FBlZWUVas/OztbQoUMNSAQAAFBY27ZtKbgBlApGumFTvzye45e+//571atXT3l5eQYlAwAAFZ2bm5sOHz6sxo0bGx0FQAXCRmqwiczMTJnNZpnNZmVlZcnJycnSl5+fr//+97+FCnEAAIDSxFgTACNQdMMm3N3dZTKZZDKZ1KxZs0L9JpNJM2fONCAZAAAAABiHohs2sXXrVpnNZnXt2lUrV65UjRo1LH0ODg7y9vaWp6engQkBAEBFFxYWJjc3N6NjAKhgWNMNm0pOTlbDhg2tjugAAAAAgIqK3cthE1euXNH58+fl7e1tKbiPHz+uJ554Qo8++qiWLVtmcEIAAID/d+nSJb300ktGxwBQAVB0wyZGjx6t2bNnW67T0tLUqVMnHThwQNevX9eQIUO0ZMkSAxMCAAD8v9TUVPabAVAqWNMNm9i3b5+io6Mt14sXL1aNGjV0+PBhVa5cWW+88YbeffddhYeHG5gSAABUFEePHr1lf2JiYiklAVDRsaYbNuHs7KyEhAR5e3tLkkJCQnTvvffq9ddflySdOHFC7dq10w8//GBkTAAAUEHY2dnJZDIVeUzYzXaTyaT8/HwD0gGoSJheDptwc3NTRkaG5Xr//v1q27at5dpkMun69esGJAMAABVRzZo1tWDBAp05c6bQ1+nTp7VmzRqjIwKoIJheDpto06aN5s2bpwULFmjVqlXKyspS165dLf0nTpyQl5eXgQkBAEBFEhQUpAsXLlhm4f1aRkZGkaPgAGBrFN2wiZdfflndunXTxx9/rLy8PE2ZMkXVq1e39H/yySfq0qWLgQkBAEBFMmLECGVnZ/9mf8OGDa32owGAksKabtjM5cuXtWfPHtWrV0/333+/Vd/atWsVEBCgRo0aGZQOAAAAAEofRTcAAAAqjJsbqAFAaWEjNQAAAFQYjo6Oio+PNzoGgAqENd0AAAAod8aPH19ke35+viIjI1WzZk1J0uzZs0szFoAKiKIbAAAA5c6cOXP0pz/9Se7u7lbtZrNZ8fHxqlKlCtPMAZQK1nQDAACg3PnnP/+pBQsWaOHChVbHmNrb2+vIkSMKCAgwMB2AioQ13ShRly9f1o0bN4yOAQAAKpjJkycrNjZWo0aN0rPPPsv7EQCGoeiGTXz44Ye6fv26pJ+nbb366quqXr266tWrJ3d3d40fP14FBQUGpwQAABVJ69atFRcXp8uXL+vPf/6zvvnmG6aUAyh1FN2wiVGjRunq1auSfi7AX331VU2fPl07d+7Ua6+9pqioKL333nsGpwQAABVN1apV9dFHH2ny5Mn6y1/+ovz8fKMjAahgWNMNm7Czs1Nqaqrq1KmjNm3a6O9//7vGjRtn6V+4cKHefvttHTlyxMCUAACgIjt//rzi4uLUrVs3ValSxeg4ACoIim7YhJ2dnS5duqTatWurdu3a2rx5swIDAy39p0+f1p/+9CdlZWUZmBIAAAAAShdHhsFm1q9fr2rVqsnZ2Vk5OTlWfTk5ObKzYzUDAAAAgIqFohs2M3jwYMuvN2/erPvvv99yvXfvXjVp0sSIWAAAAABgGIpu2MTv7Uxer149/fOf/yylNAAAAABQNrCmGwAAAACAEsIiWwAAAAAASghFN2zixo0bmjRpknx9fdWmTRtFR0db9V+6dEmVKlUyKB0AAAAAGIOiGzYxa9YsLV68WCNHjlT37t01btw4jRgxwuoeVjIAAAAAqGhY0w2baNq0qd566y317t1bknTq1Cn16tVLHTp0UFRUlNLS0uTp6an8/HyDkwIAAABA6WGkGzbx3XffqXnz5pbrJk2aaNu2bdq7d6/Cw8MptgEAAABUSBTdsIl69erp1KlTVm2enp7asmWLDhw4YHWGNwAAAABUFBTdsImuXbtq2bJlhdpvFt5nz54t/VAAAAAAYLDKRgdA+TB9+nQlJCQU2Ve/fn3t2LFDGzduLOVUAAAAAGAsNlIDAAAAAKCEML0cJcbNzU2nT582OgYAAAAAGIaiGyWGSRQAAAAAKjqKbgAAAAAASghFN0pMWFiY3NzcjI4BAAAAAIZhIzUAAAAAAEoII92wmS+++EIvvvii9u7dK0nasmWLQkJC1LNnT3344YcGpwMAAACA0kfRDZuYP3+++vfvr7Vr16pnz55aunSp+vXrp/r168vHx0djx47V3LlzjY4JAAAAAKWK6eWwiYCAAI0bN05PPfWUtm7dqpCQEL355pv6xz/+IUmKiYnRv/71L3377bcGJwUAAACA0kPRDZtwcXFRQkKCGjZsKElycHDQwYMH1bx5c0nS2bNnde+99yo7O9vImAAAAABQqpheDpuoWbOmkpOTJUkXLlxQXl6eUlJSLP3JycmqUaOGUfEAAAAAwBCVjQ6A8qFv374aNmyYBg8erNWrV2vQoEGaMGGC7OzsZDKZNHHiRHXv3t3omAAAAABQqpheDpvIzs7W2LFjtW/fPnXs2FHz5s3T3LlzNXXqVN24cUNdunRRbGys6tSpY3RUAAAAACg1FN0oUbm5ubpx44ZcXV2NjgIAAAAApY6iGwAAAACAEsJGaigV586d09ChQ42OAQAAAAClipFulIojR46oVatWys/PNzoKAAAAAJQadi+HTaxevfqW/adPny6lJAAAAABQdjDSDZu4eTTYrb6dTCYTI90AAAAAKhTWdMMmPDw8tHLlShUUFBT5dfDgQaMjAgAAAECpo+iGTQQFBd2ysP69UXAAAAAAKI9Y0w2bmDhxorKzs3+z39fXV1u3bi3FRAAAAABgPNZ0AwAAAABQQpheDgAAAABACaHoBgAAAACghFB0AwAAAABQQii6AQAAAAAoIRTdAAAAAACUEIpuAAAAAABKCEU3AAClaM+ePapUqZJ69uxpdJRyYdu2bTKZTMrIyDA6CgAARaLoBgCgFEVFRWnMmDHatWuXUlJSjI4DAABKGEU3AAClJDs7WytWrNCoUaPUu3dvxcTEFLpn9erVatq0qZydnRUcHKyPPvqo0Ejunj171LlzZzk7O8vLy0sRERHKzs7+zdc9cuSIgoOD5erqKjc3NwUFBenrr7++7eddvHhRDz30kJydndWoUSMtW7ZMPj4+mjNnjuUek8mkDz74QL1795aLi4v8/f21d+9eJSUl6YEHHlCVKlXUrl07nTp1yirbF198oaCgIDk5Oalx48aaOXOm8vLyrJ67cOFChYaGysXFRU2bNtXq1aslSWfPnlVwcLAkqXr16jKZTBoyZMjt/FUAAFBqKLoBACglsbGxuueee3TPPfcoLCxM0dHRMpvNlv6zZ8/qr3/9q/r166fDhw9rxIgRmjp1qtUzvvnmG/Xo0UP9+/fX0aNHFRsbq127dunpp5/+zdd9/PHH1aBBAx04cEBxcXF6/vnnZW9vf9vPGzRokC5cuKBt27Zp5cqV+vDDD5WWllbodV5++WUNGjRIhw8flp+fnwYOHKgRI0Zo8uTJliL/l8/dsGGDwsLCFBERoW+//VYffPCBYmJiNGvWLKvnzpw5U48++qiOHj2qkJAQPf7447py5Yq8vLy0cuVKSVJiYqIuXryouXPn3u5fBwAApcMMAABKRfv27c1z5swxm81m840bN8y1atUyb9q0ydL/3HPPmZs3b271e6ZOnWqWZE5PTzebzWZzeHi4efjw4Vb37Ny502xnZ2fOyckp8nVdXV3NMTExRfb93vPi4+PNkswHDhyw9J88edIsyfzWW29Z2iSZp02bZrneu3evWZJ50aJFlrbly5ebnZycLNedOnUyv/rqq1avvWTJErOHh8dvPvfatWtmk8lkXrdundlsNpu3bt1q9f8HAICyprKB9T4AABVGYmKi9u/fr1WrVkmSKleurMcee0xRUVHq1q2b5Z7WrVtb/b42bdpYXcfFxSkpKUlLly61tJnNZhUUFOjMmTPy9/cv9Nrjx4/Xk08+qSVLlqhbt27629/+piZNmtzW806cOKHKlSurVatWln5fX19Vr1690OsEBgZafl23bl1J0n333WfVlpubq8zMTLm5uSkuLk4HDhywGtnOz89Xbm6ufvzxR7m4uBR6bpUqVeTq6lrkSDsAAGURRTcAAKVg0aJFysvLU/369S1tZrNZ9vb2Sk9PV/Xq1WU2m2Uymax+n/kX088lqaCgQCNGjFBERESh12jYsGGRrz1jxgwNHDhQa9eu1bp16/Tiiy/qk08+UWho6O8+LzExschn/jqXJMuUdUmWP0dRbQUFBZb/zpw5U/379y/0LCcnpyKfe/M5N58BAEBZR9ENAEAJy8vL0+LFi/Xmm2+qe/fuVn2PPPKIli5dqqefflp+fn7673//a9X/yw3PJKlVq1Y6fvy4fH19/1CGZs2aqVmzZho3bpz+/ve/Kzo6WqGhob/7PD8/P+Xl5enQoUMKCgqSJCUlJdnkiK5WrVopMTHxD/9ZfsnBwUHSzyPkAACURWykBgBACVuzZo3S09M1bNgwNW/e3Orrr3/9qxYtWiRJGjFihBISEvTcc8/pxIkTWrFihWWH85ujxM8995z27t2r0aNH6/Dhwzp58qRWr16tMWPGFPnaOTk5evrpp7Vt2zYlJydr9+7dOnDggGUa+u89z8/PT926ddPw4cO1f/9+HTp0SMOHD5ezs3OhUfk/6oUXXtDixYs1Y8YMHT9+XPHx8YqNjdW0adNu+xne3t4ymUxas2aNLl++rGvXrt1RJgAAbI2iGwCAErZo0SJ169ZN1apVK9T3yCOP6PDhwzp48KAaNWqkf//731q1apUCAwP1/vvvW3Yvd3R0lPTz+ubt27fr5MmT6tSpk1q2bKnp06fLw8OjyNeuVKmSfvjhBw0aNEjNmjXTo48+ql69emnmzJm3/bzFixerbt266ty5s0JDQ/XUU0/J1dXVagp4cfTo0UNr1qzRpk2b1Lp1a7Vt21azZ8+Wt7f3bT+jfv36mjlzpp5//nnVrVv3lru4AwBgBJO5qEVZAACgTJg1a5bmz5+vc+fOGR3F4vz58/Ly8tKXX36pBx980Og4AACUaazpBgCgDHnvvffUunVr1axZU7t379brr79u+Ojtli1bdO3aNd133326ePGiJk2aJB8fH3Xu3NnQXAAA3A0ougEAKENOnjypV155RVeuXFHDhg01YcIETZ482dBMN27c0JQpU3T69Gm5urqqffv2Wrp0aaFdxQEAQGFMLwcAAAAAoISwkRoAAAAAACWEohsAAAAAgBJC0Q0AAAAAQAmh6AYAAAAAoIRQdAMAAAAAUEIougEAAAAAKCEU3QAAAAAAlBCKbgAAAAAASghFNwAAAAAAJeT/AEsU6sml0v4kAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# or\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# contingency: rows = age segments, columns = continents, values = counts\n", + "ct = pd.crosstab(\n", + " travel_trip_complete_christos_df[\"traveler_age_segment\"],\n", + " travel_trip_complete_christos_df[\"destination_continent\"]\n", + ")\n", + "\n", + "# convert to proportions per age segment\n", + "ct_prop = ct.div(ct.sum(axis=1), axis=0)\n", + "\n", + "ct_prop.plot(kind=\"bar\", stacked=True, figsize=(10,5))\n", + "\n", + "plt.xlabel(\"Age segment\")\n", + "plt.ylabel(\"Proportion of trips\")\n", + "plt.title(\"Destination continent proportions by age segment\")\n", + "plt.legend(title=\"Destination continent\")\n", + "plt.tight_layout()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "id": "ce0420c3-8d9a-462d-9d33-9ec722df2a05", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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pUsX9OnTB2ZmZjh06BDq1auXrW1asmQJSpcuja5du6JGjRoYMGBAtpbzJm1tbezYsQMTJkyAv78/OnTogPbt22POnDnZvnh3dnaGr68vzp07Bw8PD9SoUQM7d+6Erq4udu7cCRcXFwwYMADdunXDw4cPsX///g/ejj59+uDhw4dITEyEl5eX2jhbW1uULFkSK1aswBdffIF27dph586dWLhwIaZNm/bB685IRvvhXQoXLozdu3fDyMgIPXv2RN++fWFiYqLWsUyqZs2a4fDhw7Czs8OwYcPQvHlzTJs2DTY2Nso07u7uOHjwIIyNjeHl5YWuXbsiKioKO3bsQJcuXbK1XVOnToW7uzv69++Pzz77LMcu+letWoVly5bh8OHD6Nq1K1q1aoXJkycjLi4uTecdmWFkZISff/4ZT548gaenJ2rUqIEff/wRALBp0yY0bNgQY8eORceOHXH69GkEBARk6+IWyN53/S6ptXLDhg1D9+7dkZSUhN27d6Nu3boAXnf0U7NmTWzYsAE9evRAixYtsHr1anz77beZrlny9/fHlStX0LFjR0yePBlt2rTBvn37oKenl2ba1GNl0KBBajdQckKfPn0wZ84c/O9//0PLli0xd+5cjBs3Tuk46U1ZOQfm9DnY1dUVf/75J549e4aOHTti6NChqFKlCr7//vssLwt49/GZqn379tDX10ezZs1QunTpTC23cuXKOHnyJKpXr47x48ejefPm+Pbbb6Gvr698t2XKlMHRo0dRpkwZDB48GO3bt8fFixexdu1afPPNN9nanuHDh+OLL77AhAkTUKtWLdSoUSNby3nb+PHj8ccff+DatWvo3bs3mjVrhrFjx+Lff/99Zyc075LR9QFRTlJJRu29iIiI6JMSFhYGZ2dnzJ8/H2PGjNF0OIrRo0dj5cqViIiIyHbtJGXdzp070bZtW+zevVvpHIyI8gc21yQiIqI86fjx47h27RpWrFiBAQMGMMHLJZcvX8a///6L0aNHo0qVKmjRooWmQyKiLGKSR0RERHlSagclrVu3xowZMzQdzifD29sbR44cQbVq1bBu3bpsPTtLRJrF5ppEREREREQFCDteISIiIiIiKkCY5BERERERERUgTPKIiIiIiIgKkALf8UpKSgru3bsHU1NTPjhMRERERET5loggJiYG9vb273xvaIFP8u7duwcHBwdN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aVStWhVVq1YFAIwaNQpVq1bF5MmToa2tjQsXLqBdu3ZwcXFB79694eLigmPHjsHU1DSrYRMREREREX0SslyT169fP4SEhGDXrl2oXbs2VCoVjh49iuHDh6N///74/fffM70sDw8PiEiG4/fu3ZvV8IiIiIiIiD5pWU7ydu/ejb1796JevXpKWbNmzfDTTz+hefPmORocERERERERZU2Wm2sWLlwY5ubmacrNzc1RqFChHAmKiIiIiIiIsifLSd53332HUaNGITIyUim7f/8+vvnmG0yaNClHgyMiIiIiIqKsyXJzzZUrV+LGjRtwdHRE8eLFAQDh4eHQ19fHo0ePsGrVKmXas2fP5lykRERERERE9F5ZTvLat2//EcIgIiIiIiKinJDlJG/KlCkfIw4iIiIiIiLKAVl+Jo+IiIiIiIjyrkzV5FlaWuLatWsoUqQIChUqBJVKleG0T58+zbHgiIiIiIiIKGsyleQtXrwYpqamAABfX9+PGQ8RERERERF9gEwleb179wYAJCUlAXj98nNbW9uPFxURERERERFlS5aeydPR0cGgQYOQkJDwseIhIiIiIiKiD5Dljldq1qyJ4ODgjxELERERERERfaAsv0LB29sbo0ePxp07d1C9enUYGxurja9UqVKOBUdERERERERZk+kkr2/fvvD19UWXLl0AAMOGDVPGqVQqiAhUKhWSk5NzPkoiIiIiIiLKlEwneevWrcOcOXNw+/btjxkPERERERERfYBMJ3kiAgBwdHT8aMEQERERERHRh8lSxyvvegk6ERERERERaV6WOl5xcXF5b6L39OnTDwqIiIiIiIiIsi9LSd7UqVNhbm7+sWIhIiKiHOA0bremQwAAhBloOgIiok9TlpK8rl27wtra+mPFQkRERERERB8o08/k8Xk8IiIiIiKivC/TSV5q75pERERERESUd2W6uWZKSsrHjIOIiIiIiIhyQJZeoUBERERERER5G5M8IiIiIiKiAoRJHhERERERUQHCJI+IiIiIiKgAYZJHRERERERUgDDJIyIiIiIiKkA0muQdPnwYbdq0gb29PVQqFbZt26Y2XkTg4+MDe3t7GBoawsPDA5cuXdJMsERERERERPmARpO8uLg4VK5cGcuWLUt3/Lx587Bo0SIsW7YMp06dgq2tLZo2bYqYmJhcjpSIiIiIiCh/yPTL0D+GFi1aoEWLFumOExH4+vpi4sSJ6NixIwBg3bp1sLGxwaZNmzBgwIDcDJWIiIiIiChfyLPP5N2+fRv379+Hp6enUqavrw93d3ccPXpUg5ERERERERHlXRqtyXuX+/fvAwBsbGzUym1sbPDvv/9mOF9CQgISEhKU4ejo6I8TIBERERERUR6UZ2vyUqlUKrVhEUlT9qbZs2fD3Nxc+Tg4OHzsEImIiIiIiPKMPJvk2draAvivRi/Vw4cP09TuvWn8+PGIiopSPhERER81TiIiIiIiorwkzyZ5zs7OsLW1RUBAgFKWmJiIoKAg1KlTJ8P59PX1YWZmpvYhIiIiIiL6VGj0mbzY2FjcuHFDGb59+zZCQkJgaWmJ4sWLY8SIEZg1axZKly6N0qVLY9asWTAyMkL37t01GDUREREREVHepdEk7/Tp02jYsKEyPGrUKABA79694efnh7Fjx+LFixfw9vbGs2fPULNmTezbtw+mpqaaCpmIiIiIiChP02iS5+HhARHJcLxKpYKPjw98fHxyLygiIiIiIqJ8LM8+k0dERERERERZxySPiIiIiIioAMmzL0MnIqI8zsdc0xG85hOl6QiIiIjyFNbkERERERERFSBM8oiIiIiIiAoQJnlEREREREQFCJM8IiIiIiKiAoRJHhERERERUQHCJI+IiIiIiKgAYZJHRERERERUgDDJIyIiIiIiKkCY5BERERERERUgTPKIiIiIiIgKECZ5REREREREBQiTPCIiIiIiogKESR4REREREVEBwiSPiIiIiIioAGGSR0REREREVIDoaDoAIiIiIspdTuN2azoEAEDYnFaaDoGoQGJNHhERERERUQHCJI+IiIiIiKgAYZJHRERERERUgDDJIyIiIiIiKkCY5BERERERERUgTPKIiIiIiIgKECZ5REREREREBQiTPCIiIiIiogKESR4REREREVEBwiSPiIiIiIioAGGSR0REREREVIDk6STPx8cHKpVK7WNra6vpsIiIiIiIiPIsHU0H8D7ly5fH/v37lWFtbW0NRkNERERERJS35fkkT0dHh7V3REREREREmZSnm2sCwPXr12Fvbw9nZ2d07doVt27d0nRIREREREREeVaersmrWbMm1q9fDxcXFzx48AAzZsxAnTp1cOnSJRQuXDjdeRISEpCQkKAMR0dH51a4REREREREGpenk7wWLVoof1esWBG1a9dGyZIlsW7dOowaNSrdeWbPno2pU6fmVohERERERAWO07jdmg4BABA2p5WmQ8iX8nxzzTcZGxujYsWKuH79eobTjB8/HlFRUconIiIiFyMkIiIiIiLSrDxdk/e2hIQEhIaGon79+hlOo6+vD319/VyMioiIiIiIKO/I0zV5Y8aMQVBQEG7fvo0TJ07giy++QHR0NHr37q3p0IiIiIiIiPKkPF2Td+fOHXTr1g2PHz+GlZUVatWqhePHj8PR0VHToREREREREeVJeTrJ++233zQdAhERERERUb6Sp5trEhERERERUdYwySMiIiIiIipAmOQREREREREVIEzyiIiIiIiIChAmeURERERERAUIkzwiIiIiIqIChEkeERERERFRAcIkj4iIiIiIqABhkkdERERERFSAMMkjIiIiIiIqQJjkERERERERFSBM8oiIiIiIiAoQJnlEREREREQFCJM8IiIiIiKiAoRJHhERERERUQHCJI+IiIiIiKgAYZJHRERERERUgDDJIyIiIiIiKkB0NB3Ap8Rp3G5Nh6AIm9NK0yEQERHRp87HXNMR/McnStMREOUY1uQREREREREVIEzyiIiIiIiIChAmeURERERERAUIkzwiIiIiIqIChEkeERERERFRAcIkj4iIiIiIqABhkkdERERERFSA8D15n6q88l4avpOGiIiIiChHsSaPiIiIiIioAGGSR0REREREVIAwySMiIiIiIipA8kWSt2LFCjg7O8PAwADVq1fH33//remQiIiIiIiI8qQ8n+Rt3rwZI0aMwMSJExEcHIz69eujRYsWCA8P13RoREREREREeU6eT/IWLVqEr776Cv369UPZsmXh6+sLBwcHrFy5UtOhERERERER5Tl5OslLTEzEmTNn4OnpqVbu6emJo0ePaigqIiIiIiKivCtPvyfv8ePHSE5Oho2NjVq5jY0N7t+/n+48CQkJSEhIUIajol6/hy06OvrjBZpJKQnxmg5BEa0STYfwWh74XvISHiPp4DGSRl45TniM5F08Rt7CYyQNHiPp4HGiJs8cI/xe1KTuD5F3/+/k6SQvlUqlUhsWkTRlqWbPno2pU6emKXdwcPgoseVXeeRV6MCcPBMJvSXPfDM8RvKsPPPN8BjJs/LMN8NjJM/KU98Mj5M8ydxX0xHkTTExMTA3z/iYzdNJXpEiRaCtrZ2m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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# intercontinental vs intracontinental trips per nationality continent\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "\n", + "ct = pd.crosstab(\n", + " travel_trip_complete_christos_df[\"traveler_nationality_continent\"],\n", + " travel_trip_complete_christos_df[\"is_intercontinental_trip\"]\n", + ")\n", + "\n", + "# rename 0/1 for clarity\n", + "ct = ct.rename(columns={0: \"intracontinental\", 1: \"intercontinental\"})\n", + "\n", + "ct.plot(kind=\"bar\", stacked=False, figsize=(9,4))\n", + "\n", + "plt.xlabel(\"Traveler nationality continent\")\n", + "plt.ylabel(\"Trip count\")\n", + "plt.title(\"Intercontinental vs intracontinental trips by nationality continent\")\n", + "plt.xticks(rotation=30)\n", + "plt.tight_layout()\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "id": "2d5a7753-7d8f-4869-bd03-34496f967a9a", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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Z4O8p/uqS6FHyg8cOAAA6NevH3744QeYmpoWW1BERERERG9wScQ8vPm2SCIiIiKij6EsTF9ROilPT0/H7NmzERkZifv370Mmkynsv3GD3/ZFRERERKQMpZPygQMH4uDBg+jduzfs7e3zXImFiIiIiEhVuPpKHnbt2oWdO3eiUaNGxREPEREREZGCsjB9RelZ8xYWFrC0tHx/RSIiIiIiKhSlk/LvvvsOU6ZMwYsXXMKJiIiIiIqfTEhUvmkapaevLFiwAPHx8bC1tYWzszN0dXUV9v/3338qC46IiIiIqCxQOinv0KFDMYRBRERERJQ3TRzZVjWlk/KpU6cWRxxERERERHkqC0l5kb4eKS0tDb/99huCg4Px+PFjAK+nrdy5c0elwRERERERlQVKj5RfuHABzZs3h5mZGRITEzFo0CBYWlpiy5YtuHnzJtasWVMccRIRERFRGVUW1ilXeqR83LhxCAoKwrVr16Cvry8vDwgIwKFDh1QaHBERERFRWVh9Remk/PTp0xgyZEiu8vLlyyMlJUUlQRERERERlSVKT1/R19fH06dPc5VfvXoV5cqVU0lQRERERERvaOLItqopPVLevn17TJ8+Ha9evQIASCQSJCUl4ZtvvkHnzp1VHiARERERUWmndFI+f/58PHjwADY2Nnj58iV8fHzg6uoKExMTzJgxozhiJCIiIqIyrCzMKVd6+oqpqSmOHDmC/fv347///oNMJkPdunXRvHnz4oiPiIiIiMo4TUyiVU3ppPyNpk2bomnTpqqMhYiIiIioTCpSUh4ZGYnIyEjcv38fMplMYd/KlStVEhgREREREQAIjpTnFhoaiunTp8PLywv29vaQSEp/JxERERGR+pSFLw9SOilfvnw5wsPD0bt37+KIh4iIiIiozFE6Kc/KyoK3t3dxxEJERERElEtZuNFT6SURBw4ciHXr1hVHLEREREREZZLSI+UZGRlYsWIF9u3bB09PT+jq6irsX7hwocqCIyIiIiJS542es2bNwubNm3HlyhUYGBjA29sbc+bMQbVq1d6KTyA0NBQrVqxAamoq6tevj59++gk1a9Ys9HmUTsovXLiA2rVrAwAuXbqksI83fRIRERGRqqlz+srBgwcxfPhwfPLJJ8jOzsbkyZPRokULxMTEwMjICAAwd+5cLFy4EOHh4ahatSq+//57+Pn54erVqzAx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cXGBnZ0dIiIi5GVZWVk4ePAgvL29C92O0iPlU6dORe/evXHnzh3IZDJs3rwZV69exZo1a7Bjxw5lmyMiIiIiKpC61yl//vw5rl+/Ln+ckJCA6OhoWFpaomLFihgzZgxmzpyJKlWqoEqVKpg5cyYMDQ3Rs2fPQp9D6aS8bdu22LBhA2bOnAmJRIIpU6agbt262L59O/z8/JRtjoiIiIhIo505cwZNmjSRPx43bhwAoG/fvggPD8fEiRPx8uVLDBs2TP7lQXv37oWJiUmhzyERQqj5fw8qafy0uqo7BCJSE66+onovuPqKyhlGxag7hFJn99NVaj1/vUGLVN7m2V/HqrzND6H0nPJ+/fohMjISzOWJiIiI6GOQCKHyTdMonZQ/evQIrVu3hqOjI7766iucO3euOOIiIiIiIiozlE7Kt23bhpSUFEydOhVnz56Fl5cX3NzcMHPmTCQmJhZDiERERERUphXDOuWaRumkHADMzc0xePBgREVF4ebNm+jXrx9+//33PNcvJyIiIiL6EBKh+k3TFCkpf+PVq1c4c+YMTp48icTERKUWSCciIiIioteKlJQfOHAAgwYNgq2tLfr27QsTExNs374dt27dUnV8RERERFTWlYHpK0qvU+7o6IhHjx7B398fv/zyC9q2bQt9ff3iiI2IiIiISCOnm6ia0kn5lClT0LVrV1hYWBRHPEREREREZY7SSfngwYOLIw4iIiIiorxxpDxvp0+fxl9//YWkpCRkZWUp7Nu8ebNKAiMiIiIiKiuUvtFz/fr1aNSoEWJiYrBlyxa8evUKMTEx2L9/P8zMzIojRiIiIiIqw7gkYh5mzpyJRYsWYceOHdDT08MPP/yA2NhYdOvWDRUrViyOGImIiIioLCsDq68onZTHx8ejdevWAACpVIr09HRIJBKMHTsWK1asUHmARERERESlndJJuaWlJZ49ewYAKF++PC5dugQASEtLw4sXL1QbHRERERGVeWVh+orSN3o2btwYERER8PDwQLdu3TB69Gjs378fERERaNasWXHESERERERlmdDALFrFlE7Kf/zxR2RkZAAAgoODoauriyNHjqBTp04ICQlReYBERERERKWdUkl5dnY2tm/fDn9/fwCAlpYWJk6ciIkTJxZLcEREREREmjjdRNWUmlOuo6ODoUOHIjMzs7jiISIiIiIqc5S+0bN+/fo4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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# 4. Nationality vs. Destination\n", + "import pandas as pd\n", + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# contingency: nationality_continent x destination_continent\n", + "ct = pd.crosstab(\n", + " travel_trip_complete_christos_df[\"traveler_nationality_continent\"],\n", + " travel_trip_complete_christos_df[\"destination_continent\"]\n", + ")\n", + "\n", + "plt.figure(figsize=(8,5))\n", + "sns.heatmap(ct, annot=True, fmt=\"d\", cmap=\"viridis\")\n", + "plt.xlabel(\"Destination continent\")\n", + "plt.ylabel(\"Traveler nationality continent\")\n", + "plt.title(\"Nationality vs destination (trip counts)\")\n", + "plt.tight_layout()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 55, + "id": "4d08c0a6-25f0-42c3-8792-71d8652dc366", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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oEG4d+8eDh48mGdbBgYGWLduHXr27Ckr++uvvzBw4ECkpqYW+Do4Mk9EREREX5yPJe4fGjlyJEJCQnDs2DFZIg9AtpR4UlKSXDL/+PHjXCPv/+Xg4JBrFP5jx+SFc+aJiIiIqEjT5A2wQgh899132LlzJ44cOQJXV1e5/a6urnBwcEBoaKisLD09HZGRkWjQoIHCduvXry93DAAcPnw432PywpF5IiIiIiIFRowYgU2bNuHvv/+GmZmZbDTdwsICRkZGkEgkGDNmDObOnYvy5cujfPnymDt3LoyNjdGrVy9ZO3379kXJkiURGBgIABg9ejS+/vprzJ8/Hx06dMDff/+NsLAwnDhxQqn4mMwTERERUZGmjhtgC2rFihUAgMaNG8uVr127Fv7+/gCAiRMn4t27dxg+fDhevHiBunXr4vDhwzAzM5PVT0hIgI7O/11HgwYNsGXLFkyZMgVTp05F2bJlsXXrVtStW1ep+HgDLCmNN8CStuANsEREqqHpG2APxbmrvE1f12sqb1MTOGeeiIiIiEhLcZoNERERERVpWRx/VojJPBEREREVaZqcM1/UsWeIiIiIiLQUR+aJiIiIqEjL5vizQuwZIiIiIiItxZF5IiIiIirSskTBn9j6pWEyT0RERERFGlezUYw9Q0RERESkpTgyT0RERERFWjaXplSIyTwRERERFWmcZqMYe4aIiIiISEtxZJ6IiIiIijSuZqMYk3kiIiIiKtL40CjF2DNERERERFqKI/NEREREVKRlcTUbhdgzRERERERaiiPzRERERFSkZYM3wCrCZJ6IiIiIijROs1GMPUNEREREpKU4Mk9ERERERRqfAKsYk3kiIiIiKtKy+dAohfhrDhERERGRluLIPBEREREVaZxmoxiTeVJaVnKypkModg49vKTpEIqlFn7+mg6h2NF7marpEIg+KutyjKZDIPpsmMwTERERUZGWzaUpFWIyT0RERERFWhYfGqUQf80hIiIiItJSHJknIiIioiKN02wUYzJPREREREUap9koxl9ziIiIiIi0FEfmiYiIiKhI4zQbxdgzRERERERaiiPzRERERFSkZXFkXiEm80RERERUpGXzBliF+GsOEREREVE+jh07hnbt2sHJyQkSiQS7d++W2y+RSPLcFi5cqLDN4ODgPI9JTU1VKjaOzBMRERFRkabpaTYpKSmoVq0a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85xmQ0RERERFmjqm2aSlpeHVq1dy24cPysxx69YtODk5wdXVFT169MCdO3cUxnr69Gm0aNFCrszX1xfnzp1DRkaGSvsFYDJPRERERF+gwMBAWFhYyG2BgYG56tWtWxfr16/HoUOHsHr1aiQlJaFBgwZ49uxZnu0mJSXB3t5ersze3h6ZmZl4+lT1K2txmg0RERERFW3Zqp80HxAQkOs5PlKpNFe9Vq1ayf5ftWpV1K9fH2XLlsW6desUPgdIIpHIvc5ZPPLDclVgMk9ERERERZsaboCVSqV5Ju8fY2JigqpVq+LWrVt57ndwcEBSUpJc2ePHj6GnpwcbG5tCxZofTrMhIiIiIiqgtLQ0xMTEwNHRMc/99evXR2hoqFzZ4cOH4eXlBX19fZXHw2SeiIiIiIo0Ta4zP378eERGRiIuLg5nzpxB165d8erVK/Tr1w/A++k6ffv2ldUfOnQo7t69i3HjxiEmJgZr1qxBUFAQxo8fr+puAcBpNkRERERU1AnNLTR///599OzZE0+fPoWtrS3q1auHf/75B87OzgCAxMREJCQkyOq7urpi//79GDt2LH777Tc4OTlh2bJlalmWEmAyT0RERESk0JYtW/LdHxwcnKvM29sbFy5cUFNE8pjMExEREVGRpsy0mC8N58wTEREREWkpjswTERERUdHGkXmFmMwTERERUZEm0eANsEUdp9kQEREREWkpjswTERERUdGWrekAii4m80RERERUpHGajWKcZkNEREREpKU4Mk9ERERERRsH5hXiyDwRERERkZbiyDwRERERFW2cM68Qk3kiIiIiKtIkzOUV4jQbIiIiIiItxZF5IiIiIiraOM1GISbzRERERFSkSfjQKIU4zYaIiIiISEtxZJ6IiIiIijZOs1GIyTwRERERFW3M5RViMk9ERKRBWZdjNB1CsSMa1dB0CESfDZN5IiIiIirSJJxmoxBvgCUiIiIi0lIcmSciIiKioo0j8woxmSciIiKioo3rzCvEaTZERERERFqKI/NEREREVKTxBljFmMwTERERUdHGZF4hTrMhIiIiItJSHJknIiIioqKNI/MKcWSeiIiIiEhLcWSeiIiIiIo2Lk2pEJN5IiIiIirSuJqNYpxmQ0RERESkpTgyT0RERERFG0fmFWIyT0RERERFG5N5hTjNhoiIiIhISzGZJyIiIqKiTQjVbwUU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gQMHcPDgQQBAuXLlEBoailOnTiEmJgZDhgyRPZY4L1KpFObm5nKbjkS30Nf5OexYshetBjaFb38flKlUEkMX94NdmRLYu/KwpkPTWuxT9WC/qh77VPXYp6r17l064uOeyG2p7zLw6uU7xMc90XR4RRen2SiksWk2pqamqFu3LpYsWYLY2FhkZGSgdOnSGDRokOwmUYlEgt27d2PkyJH4+uuvoaOjg5YtW2L58uWydnx9fTF16lRMnDgRqampGDBgAPr27Yt///1XVmf8+PHo168f3N3d8e7dO8TFxSkd76NHj7Bv3z5s2rQp1z6JRILOnTsjKCgIo0ePLkRvAMbGxjh27BgmTZqEzp074/Xr1yhZsiSaNm0Kc3NzpdrasWMHxo8fj549eyIlJQXlypXDvHnzAABTp05FXFwcfH19YWxsjMGDB6Njx454+bL4/Lk0ctspmNuYovfUrrB2tEL8lXuY3GYuHic81XRoWot9qh7sV9Vjn6oe+5SoaJMI3sFCSmqu003TIRARESkkGtXQdAjFTljkjxo9f6tSo1Te5oH7y1TepiZo/AZYIiIiIqJ8cexZoSJ3AywRERERERUMR+aJiIiIqGgr5OIlXwIm80RERERUtHGajUKcZkNEREREpKU4Mk9ERERERRtH5hViMk9ERERERRufjKsQp9kQEREREWkpjswTERERUZEmBFezUYQj80REREREWooj80RERERUtHHOvEJM5omIiIioaONqNgpxmg0RERERkZbiyDwRERERFW3ZvAFWESbzRERERFS0cZqNQpxmQ0RERESkpTgyT0RERERFmuA0G4U4Mk9EREREpKU4Mk9ERERERRvnzCvEZJ6IiIiIijY+NEohTrMhIiIiItJSHJknIiIioqJN8AZYRZjMExEREVGRJjjNRiFOsyEiIiIi0lJM5omIiIioaBPZqt+U9Pvvv8PV1RWGhoaoVasWjh8/nm/9yMhI1KpVC4aGhnBzc8PKlSsLe/X5YjJPRERERJSPrVu3YsyYMZg8eTIuXryIRo0aoVWrVkhISMizflxcHFq3bo1GjRrh4sWL+PHHHzFq1Cjs2LFD5bFJhODCnaSc5jrdNB0CERGRQqJRDU2HUOyERf6o0fM31/VTeZuhWVsLXLdu3bqoWbMmVqxYISurXLkyOnbsiMDAwFz1J02ahJCQEMTExMjKhg4dikuXLuH06dOfFvgHODJPREREREWbBqfZpKen4/z582jRooVceYsWLXDq1Kk8jzl9+nSu+r6+vjh37hwyMjKUv/58cDUbIiIiIvripKWlIS0tTa5MKpVCKpXKlT19+hRZWVmwt7eXK7e3t0dSUlKebSclJeVZPzMzE0+fPoWjo6MKruA9JvOktNDs7ZoOoUDS0tIQGBiIgICAXN+YVDjsU9Vjn6oe+1Q92K+qxz4tOHXkHjNmzMDMmTPlyqZPn44ZM2bkWV8ikci9FkLkKvtY/bzKPxXnzFOx9erVK1hYWODly5cwNzfXdDjFAvtU9dinqsc+VQ/2q+qxTzWroCPz6enpMDY2xvbt29GpUydZ+ejRoxEdHY3IyMhcbX/99deoUaMGfvnlF1nZrl270L17d7x9+xb6+voquw7OmSciIiKiL45UKoW5ubncltdfSAwMDFCrVi2EhobKlYeGhqJBgwZ5tl2/fv1c9Q8fPgwvLy+VJvIAk3kiIiIionyNGzcOf/75J9asWYOYmBiMHTsWCQkJGDp0KAAgICAAffv2ldUfOnQo7t69i3HjxiEmJgZr1qxBUFAQxo8fr/LYOGeeiIiIiCgffn5+ePbsGWbNmoXExER4eHhg//79cHZ2BgAkJibKrTnv6uqK/fv3Y+zYsfjtt9/g5OSEZcuWoUuXLiqPjck8FVtSqRTTp0/nTUUqxD5VPfap6rFP1YP9qnrsU+0yfPhwDB8+PM99wcHBucq8vb1x4cIFNUfFG2CJiIiIiLQW58wTEREREWkpJvNERERERFqKyTxpHSEEBg8eDGtra0gkEkRHRyusK5FIsHv37s8W25ckPj7+o/1PpAx/f3907NhR02F8soiICEgkEiQnJ2s6lCInODgYlpaWmg7jkxWnr7GLiwuWLl2q6TDoEzCZpyLr1KlT0NXVRcuWLeXKDx48iODgYOzdu1d2R7kiiYmJaNWqlbpD1XqK+jo/pUuX/mj/Fyf+/v6QSCS5NmX6TFvkXOu8efPkynfv3q2SJxeq4xfBd+/ewcrKCtbW1nj37p3K2i2MBg0aIDExERYWFp/tnPfu3cPAgQPh5OQEAwMDODs7Y/To0Xj27Nlni6Eg/Pz8cPPmTZW09fjxYwwZMgRlypSBVCqFg4MDfH19cfr0aZW0n6Nx48YYM2aMStscPHgwdHV1sWXLFpW2WxhRUVEYPHiwpsOgT8BknoqsNWvWYOTIkThx4oTcck+xsbFwdHREgwYN4ODgAD293IsypaenAwAcHBy4SkABKOrr/Ojq6irs/+KqZcuWSExMlNs2b95cqLaEEMjMzFRxhKpjaGiI+fPn48WLFyptN+d7U9V27NgBDw8PuLu7Y+fOnWo5R0FkZGTAwMAADg4OKn9kuyJ37tyBl5cXbt68ic2bN+P27dtYuXIlwsPDUb9+fTx//vyzxFEQRkZGsLOzU0lbXbp0waVLl7Bu3TrcvHkTISEhaNy4cZG63ry8ffsWW7duxYQJExAUFKSxOHK+F21tbWFsbKyxOEgFBFER9ObNG2FmZiauX78u/Pz8xMyZM4UQQvTr108AkG3Ozs5CCCG8vb3FiBEjxNixY4WNjY34+uuvhRBCABC7du2StXvv3j3h5+cnrKyshLGxsahVq5b4559/hBBC3L59W7Rv317Y2dkJExMT4eXlJUJDQz/rdWuCor4WQojnz5+LXr16iRIlSghDQ0NRrlw5sWbNGiGEEHFxcQKAuHjxohBCiMzMTDFgwADh4uIiDA0NRYUKFcTSpUs1cUlq0a9fP9GhQ4c8933YF0II8eLFCwFAHD16VAghxNGjRwUAcfDgQVGrVi2hr68vjhw5IlJTU8XIkSOFra2tkEqlomHDhuLs2bOydnKO27t3r/D09BRSqVTUqVNHXL58WS6GkydPikaNGglDQ0NRqlQpMXLkSPHmzZtCX2vbtm1FpUqVxIQJE2Tlu3btEh9+bPzvf/8T7u7uwsDAQDg7O4tFixbJ7Xd2dhazZ88W/fr1E+bm5qJv375y38MAhLe3t+y8HTp0EAsXLhQODg7C2tpaDB8+XKSnp3805saNG4uVK1eKFStWCB8fn1z7AYiVK1eKNm3aCCMjI1GpUiVx6tQpcevWLeHt7S2MjY1FvXr1xO3bt+WOCwkJETVr1hRSqVS4urqKGTNmiIyMDLl2V6xYIdq3by+MjY3FtGnTZF+zFy9eyOqdOHFCfP3118LIyEhYWlqKFi1aiOfPnwshhDhw4IBo2LChsLCwENbW1qJNmza54shPy5YtRalSpcTbt2/lyhMTE4WxsbEYOnSoEEKI1NRUMWHCBFGqVClhYGAgypUrJ/78809Z/atXr4pWrVoJExMTYWdnJ3r37i2ePHki2/+xOHO+D3bs2CEaN24sjIyMhKenpzh16pSsztq1a4WFhYXsdWF/7uZ8f0VERORb7+7du6J9+/bCxMREmJmZiW7duomkpCTZ/ry+r0ePHi33nvzw/RoXFyf7GoeFhYlatWoJIyMjUb9+fXH9+vWPxh4cHCzq1asnkpOThZGRkYiLi5PbnxPTnDlzhJ2dnbCwsJC978aPHy+srKxEyZIlRVBQkNxx9+/fF927dxeWlpbC2tpatG/fXq7tnHbnzp0rHB0dZZ+fzs7OYsmSJXJ9O2jQIGFnZyekUqmoUqWK2LNnjxBCiKdPn4oePXqIkiVLCiMjI+Hh4SE2bdr00Wsm9WIyT0VSUFCQ8PLyEkIIsWfPHuHi4iKys7NFcnKymDVrlihVqpRITEwUjx8/FkK8T+ZNTU3FhAkTxPXr10VMTIwQQj6Zf/36tXBzcxONGjUSx48fF7du3RJbt26VfdBER0eLlStXisuXL4ubN2+KyZMnC0NDQ3H37t3P3wGfkaK+FkKIESNGiOrVq4uoqCgRFxcnQkNDRUhIiBAidwKbnp4upk2bJs6ePSvu3LkjNm7cKIyNjcXWrVs1cl2qpqpk3tPTUxw+fFjcvn1bPH36VIwaNUo4OTmJ/fv3i6tXr4p+/foJKysr8ezZM7njKleuLA4fPiwuX74s2rZtK1xcXGRJ7uXLl4WpqalYsmSJuHnzpjh58qSoUaOG8Pf3/6Rr3blzpzA0NBT37t0TQuRO5s+dOyd0dHTErFmzxI0bN8TatWuFkZGRWLt2rayOs7OzMDc3FwsXLhS3bt0St27dEmfPnpUlQv+vvTuPaupa+wD8C4gyJCgiAlJKVAQZ1TiCAqJQ1CsLBa8oDlAUq2jFudcBRa29VuvstXVAwaFVb7HiCKgVtU4MihNhEKFixQmHigOV5P3+oJxLJCAgVun3PmtlrWSfnT2dnJM3OzsnBQUFQl/LAv6xY8eSXC6n/fv3k66uLm3YsKHK9l6/fp0aNWpEDx8+pMLCQmrUqBHl5OSo5AFAZmZmtGvXLsrMzKQBAwaQVCqlXr16UVxcHKWnp1O3bt2oT58+wnPi4uJIX1+foqKiKCcnhxISEkgqlVJERIRKuc2bN6fIyEjKycmhvLy8CsH8xYsXqVGjRjRu3DhKS0ujq1ev0po1a4RA+ccff6SYmBjKysqiixcvkre3Nzk4OJBCoXjjviosLCSRSERfffWV2u0hISFkYGBASqWSBg8eTObm5rRnzx7Kycmho0eP0s6dO4mI6Pbt29SsWTOaOXMmyeVyunDhAnl6eqp8MHpTO8uOg7Zt29KBAwcoMzOTBg0aRBYWFsIHoNeD+dqed1+9ekVisZgmTZpEL1++VJtHqVRShw4dqEePHpSSkkLnzp0jmUwmBOpEbw7mHz9+TE5OThQSEkIFBQVUUFBAJSUlwj7u2rUrJSYm0rVr18jFxYWcnZ2rbDcRkYuLC61du5aIiPz8/Gju3Lkq2wMDA0kikdD48eMpIyODIiMjCQB5eXnRokWLKCsrixYuXEhaWlp08+ZNIiJ69uwZtWnThoKDg+ny5cuUnp5OAQEBZG1tTcXFxUK5YrGYRowYQVevXqUrV64QkWowr1AoqFu3bmRnZ0cJCQmUk5ND+/fvp0OHDhFR6QeGpUuX0sWLFyknJ4dWr15NmpqawqQYez84mGcfJGdnZ2FW99WrV9SsWTNhtmbFihXCjEIZNzc3at++fYVyygfz69evJ4lEIgQO1WFra0tr1qypXSfqiarG2tvbmz799FO1z1MXwL4uNDSU/Pz86rzN70NgYCBpamqSnp6eym3BggU1Cub37t0r5CkqKiItLS3asWOHkPbHH39QixYtaMmSJSrPKwu6iEoDOB0dHeGD0ogRI2jMmDEq7T116hRpaGjQixcvatXXsgCnW7duFBwcTEQVg/mAgADy9PRUee706dPJ1tZWeGxhYUEDBgxQyVPZaycwMJAsLCyopKRESPvnP/9J/v7+VbZ31qxZKnX4+PjQ7NmzVfIAoDlz5giPz549SwBUZjd/+OEH0tbWFh67uLhUCJK3bdtGpqamKuVOmjRJJc/rwfzQoUOpe/fuVfahvHv37hEAIdiqyrlz5yp8A1ne8uXLCQCdP3+eAFQ66x0eHk6ffPKJSlp+fj4BoMzMzGq1s2y/vj7bD0CYYHk9mFenuufdH3/8kQwMDEhbW5ucnZ1p5syZdOnSJWF7QkICaWpqCgFv+faUffv1pmCeqPT9JSwsTCVP+Zn5MgcPHiQAVR5zWVlZpKWlJXyQ++mnn8jc3Fzlg1vZcVA+zdramlxcXITHJSUlpKenRz/88AMRlU7KWFtbCxMxRETFxcWko6ND8fHxQrnGxsZCcF+mfDAfHx9PGhoale5zdfr160dTp06tdn5W93jNPPvgZGZmIikpCUOGDAEANGjQAP7+/ti8eXOVz+vUqVOV29PS0tChQwc0bdpU7fZnz55hxowZsLW1RZMmTSAWi5GRkVHtNeT10ZvGety4cdi5cyfat2+PGTNm4MyZM1WW991336FTp04wMjKCWCzGxo0b/1bj5+7ujrS0NJXb+PHja1RG+ddpTk4OXr16he7duwtpWlpa6NKlC+RyucrznJychPtNmzaFtbW1kCc1NRVRUVEQi8XCzcvLC0qlErm5ubXpquDrr79GdHQ00tPTK2yTy+UqbQeA7t27Izs7GwqFQm2f38TOzg6amprCY1NTU9y7d6/S/AqFAtHR0Rg+fLiQNnz4cERHR6u0AQAcHR2F+8bGxgAABwcHlbSXL1/i999/B1A6rgsWLFAZ15CQEBQUFOD58+fV7l9aWhp69+5d6facnBwEBASgVatW0NfXR8uWLQGgTo4d+vN/IXNzc6GpqQk3Nze1+VJTU3H8+HGVvrZt21ZoX03aWX6cTU1NAaDSffg2510/Pz/cvn0b+/btg5eXFxITEyGTyYR/4pTL5TA3N4e5ubnwnLJ6Xj++aqsmfQWAyMhIeHl5oVmzZgCAfv364dmzZzh69KhKPjs7O2ho/C9EMzY2VnmtampqwtDQUKgrNTUV169fh0QiEfZf06ZN8fLlS2H/AaWv94YNG1bavrS0NHz00UewsrJSu12hUGDRokVwdHSEoaEhxGIxEhIS/lbn+fro/88v11i9ERkZiZKSEpiZmQlpRAQtLa0qf4ynp6dXZbk6OjpVbp8+fTri4+PxzTffwNLSEjo6Ohg0aNA7+8Heh+BNY923b1/8+uuvOHjwII4ePYrevXtj/Pjx+OabbyqUtXv3bkyePBnLli2Dk5MTJBIJli5divPnz/+VXXqn9PT0YGlpWSG9qKgIwP8CJ6D0h5CVlVGmLP/rP5Qkomr9eLIsj1KpxGeffYaJEydWyPPxxx+/sZyquLq6wsvLC7NmzUJQUNAb21l+DMq86dgsT0tLS+WxSCSCUqmsNH98fDx+++03+Pv7q6QrFAokJCSoXM2qfNll7VaXVlafUqnE/Pnz4evrW6FebW1t4f7bnnu8vb1hbm6OjRs3okWLFlAqlbC3t6/WucfS0hIikQjp6elqL+uZkZEBAwODN/7AUalUwtvbG19//XWFbWVBanXbWdWYvu5tz7va2trw9PSEp6cn5s6di9GjR2PevHkICgqq9Dgqn66hoVHhNVvZsatOTfqqUCiwdetW3LlzR+XCAQqFApGRkfjkk0/UlltWdlXHhlKpRMeOHbFjx44K9RoZGQn33/a1umzZMqxYsQIrV66Eg4MD9PT0MGnSpL/1+2R9wME8+6CUlJRg69atWLZsmcqJDSidhVF3oqouR0dHbNq0CQ8fPlQ7O3/q1CkEBQVh4MCBAEoDtLy8vFrX96GrzlhPmDABRkZGCAoKQlBQEFxcXDB9+nS1wfypU6fg7OyM0NBQIa38jNDfWdmbZUFBATp06AAA1brsoqWlJRo2bIhffvkFAQEBAEoDiZSUlAqXwjt37pwQmD969AhZWVnCzKlMJsO1a9fUftCoC4sXL0b79u0rzNbZ2tril19+UUk7c+YMrKysVGbXX1c2M/j6zHltREZGYsiQIZg9e3aFNkdGRr7VpWllMhkyMzPfelwdHR1x7NgxzJ8/v8K2wsJCyOVyrF+/Hi4uLgBQYUyrYmhoCE9PT6xbtw6TJ09WCcbu3LmDHTt2YOTIkXBwcIBSqcSJEyfg4eFRoRyZTIaYmBhIpVK1V6h623ZWpq7Pu7a2tsJ/i9ja2uLmzZvIz88XZufT09Px5MkT2NjYACg9dq9evapSRlpamkrg3LBhwzp5rR46dAhPnz7FxYsXVY6PjIwMDBs2DIWFhTA0NKxV2TKZDLt27ULz5s2hr69f6zY6Ojri1q1byMrKUjs7f+rUKfj4+AjfhCmVSmRnZwvjyd4PXmbDPigHDhzAo0ePMGrUKNjb26vcBg0a9FaX8Ro6dChMTEwwYMAAnD59Gjdu3EBMTIxwTWJLS0vs2bMHaWlpuHTpEgICAqqcEazvqjPWc+fORWxsLK5fv45r167hwIEDlZ60LS0tkZKSgvj4eGRlZSE8PBzJycl/ca/ereLiYty5c0fl9uDBA+jo6KBbt25YvHgx0tPTcfLkScyZM+eN5enp6WHcuHGYPn064uLikJ6ejpCQEDx//hyjRo1SybtgwQIcO3YMV69eRVBQEJo1aybMxH7xxRc4e/Ysxo8fj7S0NGRnZ2Pfvn34/PPP66TfDg4OGDZsGNasWaOSPnXqVBw7dgwLFy5EVlYWoqOjsXbtWkybNq3K8po3bw4dHR3ExcXh7t27ePLkSa3adf/+fezfvx+BgYEVXsOBgYHYt28f7t+/X6uyAWDu3LnYunUrIiIicO3aNcjlcuzatata+7a8mTNnIjk5GaGhobh8+TIyMjLw7bff4sGDBzAwMIChoSE2bNiA69ev4+eff8aUKVNqVP7atWtRXFwMLy8vnDx5Evn5+YiLi4OnpyfMzMywaNEiSKVSBAYGIjg4GHv37kVubi4SExOxe/duAMD48ePx8OFDDB06FElJSbhx4wYSEhIQHBwMhUJRJ+1Up7bn3cLCQvTq1Qvbt2/H5cuXkZubi//+979YsmQJfHx8AAAeHh5wdHTEsGHDcOHCBSQlJWHkyJFwc3MTlkb16tULKSkp2Lp1K7KzszFv3rwKwb1UKsX58+eRl5eHBw8e1Pp9ITIyEv/4xz/Qrl07ldeqn58fjIyMsH379lqVCwDDhg1Ds2bN4OPjg1OnTiE3NxcnTpxAWFgYbt26Ve1y3Nzc4OrqCj8/Pxw5cgS5ubk4fPgw4uLiAJTuryNHjuDMmTOQy+X47LPPcOfOnVq3m9UNDubZByUyMhIeHh5q/2zFz88PaWlptT6RNmzYEAkJCWjevDn69esHBwcHLF68WJghWbFiBQwMDODs7Axvb294eXlBJpO9VX8+ZNUZ6wYNGmDmzJlwdHSEq6trlX9yMnbsWPj6+sLf3x9du3ZFYWGhyiz930FcXBxMTU1Vbj169ABQeq3+V69eoVOnTggLC8OXX35ZrTIXL14MPz8/jBgxAjKZDNevX0d8fDwMDAwq5AsLC0PHjh1RUFCAffv2CTPcjo6OOHHiBLKzs+Hi4oIOHTogPDxcWB5RFxYuXFhhOYJMJsPu3buxc+dO2NvbY+7cuViwYEGF5Tiva9CgAVavXo3169ejRYsWQvBVU1u3boWenp7a9eju7u6QSCTYtm1brcoGAC8vLxw4cABHjhxB586d0a1bNyxfvhwWFhY1KsfKygoJCQm4dOkSunTpAicnJ8TGxqJBgwbQ0NDAzp07kZqaCnt7e0yePBlLly6tUflt2rRBSkoKWrduDX9/f7Ru3RpjxoyBu7s7zp49K3wT+e2332LQoEEIDQ1F27ZtERISgmfPngEAWrRogdOnT0OhUMDLywv29vYICwtD48aNoaGhUSftVKe2512xWIyuXbtixYoVcHV1hb29PcLDwxESEoK1a9cC+N8/gBsYGMDV1RUeHh5o1aoVdu3aJZTj5eWF8PBwzJgxA507d8bTp08xcuRIlbqmTZsGTU1N2NrawsjIqFbrw+/evYuDBw/Cz8+vwjaRSARfX9+3mqzS1dXFyZMn8fHHH8PX1xc2NjYIDg7GixcvajxTHxMTg86dO2Po0KGwtbXFjBkzhG8mwsPDIZPJ4OXlhZ49ewoTZOz9EpG6BY6MMcY+CImJiXB3d8ejR4/QpEmT990cxhhjHxiemWeMMcYYY6ye4mCeMcYYY4yxeoqX2TDGGGOMMVZP8cw8Y4wxxhhj9RQH84wxxhhjjNVTHMwzxhhjjDFWT3EwzxhjjDHGWD3FwTxjjDHGGGP1FAfzjDH2AZBKpVi5cuU7rycvLw8ikQhpaWnvvK73ITExESKRCI8fP37fTWGMsb8EB/OMMQYgKCgIIpEIIpEIWlpaMDY2hqenJzZv3gylUlln9URFRan9J9fk5GSMGTOmzuoBSvv0+l+tm5ubo6CgAPb29nVa1/vQs2dPTJo0SSXN2dkZBQUFaNy48V/alsr2K2OMvWsczDPG2J/69OmDgoIC5OXl4fDhw3B3d0dYWBj69++PkpKSd1q3kZERdHV132kdAKCpqQkTExM0aNDgndf1PjRs2BAmJiYQiUTvuymMMfaX4GCeMcb+1KhRI5iYmMDMzAwymQyzZs1CbGwsDh8+jKioKCHfkydPMGbMGDRv3hz6+vro1asXLl26JGy/dOkS3N3dIZFIoK+vj44dOyIlJQWJiYn49NNP8eTJE+FbgIiICAAVl9mIRCJs2rQJAwcOhK6uLtq0aYN9+/YJ2xUKBUaNGoWWLVtCR0cH1tbWWLVqlbA9IiIC0dHRiI2NFepKTExUu8zmxIkT6NKlCxo1agRTU1P861//Uvnw0rNnT0ycOBEzZsxA06ZNYWJiIrS7Kps3b4adnZ1Q7oQJE4RtN2/ehI+PD8RiMfT19TF48GDcvXtXpf3t27fHtm3bIJVK0bhxYwwZMgRPnz4FUPqtw4kTJ7Bq1Sqhf3l5eRWW2ZTNmMfHx8PGxgZisVj40Fbeli1bYGNjA21tbbRt2xbr1q0TtpWN2Z49e+Du7g5dXV20a9cOZ8+eBYAq9ytjjL1zxBhjjAIDA8nHx0fttnbt2lHfvn2JiEipVFL37t3J29ubkpOTKSsri6ZOnUqGhoZUWFhIRER2dnY0fPhwksvllJWVRbt376a0tDQqLi6mlStXkr6+PhUUFFBBQQE9ffqUiIgsLCxoxYoVQp0A6KOPPqLvv/+esrOzaeLEiSQWi4U6/vjjD5o7dy4lJSXRjRs3aPv27aSrq0u7du0iIqKnT5/S4MGDqU+fPkJdxcXFlJubSwDo4sWLRER069Yt0tXVpdDQUJLL5fTTTz9Rs2bNaN68eUJb3NzcSF9fnyIiIigrK4uio6NJJBJRQkJCpeO5bt060tbWppUrV1JmZiYlJSUJ/VMqldShQwfq0aMHpaSk0Llz50gmk5Gbm5vw/Hnz5pFYLCZfX1+6cuUKnTx5kkxMTGjWrFlERPT48WNycnKikJAQoX8lJSV0/PhxAkCPHj0iIqItW7aQlpYWeXh4UHJyMqWmppKNjQ0FBAQIdW3YsIFMTU0pJiaGbty4QTExMdS0aVOKiooiIhLGrG3btnTgwAHKzMykQYMGkYWFBb169arK/coYY+8aB/OMMUZVB/P+/v5kY2NDRETHjh0jfX19evnypUqe1q1b0/r164mISCKRCIHg67Zs2UKNGzeukK4umJ8zZ47wuKioiEQiER0+fLjSPoSGhpKfn1+VfXo9mJ81axZZW1uTUqkU8vznP/8hsVhMCoWCiEqD+R49eqiU07lzZ/riiy8qbUuLFi1o9uzZarclJCSQpqYm3bx5U0i7du0aAaCkpCQiKg3mdXV16ffffxfyTJ8+nbp27So8dnNzo7CwMJWy1QXzAOj69esq/TM2NhYem5ub0/fff69SzsKFC8nJyYmI/jdmmzZtqtBeuVwu1KNuvzLG2LvGy2wYY+wNiEhYg52amoqioiIYGhpCLBYLt9zcXOTk5AAApkyZgtGjR8PDwwOLFy8W0mvK0dFRuK+npweJRIJ79+4Jad999x06deoEIyMjiMVibNy4ETdv3qxRHXK5HE5OTiprzLt3746ioiLcunVLbVsAwNTUVKUt5d27dw+3b99G7969K63T3Nwc5ubmQpqtrS2aNGkCuVwupEmlUkgkkmrVWRVdXV20bt1abTn3799Hfn4+Ro0apbI/v/zyywr7rfwYmJqaCn1ljLH36e/5CyjGGKtDcrkcLVu2BAAolUqYmpoiMTGxQr6yq5lEREQgICAABw8exOHDhzFv3jzs3LkTAwcOrFG9WlpaKo9FIpFwZZ3du3dj8uTJWLZsGZycnCCRSLB06VKcP3++RnWU/6BSPq2svuq05XU6Ojo1rlNdek3qrIq6csr6WFbexo0b0bVrV5V8mpqalZZT1s66vNIRY4zVBgfzjDFWhZ9//hlXrlzB5MmTAQAymQx37txBgwYNIJVKK32elZUVrKysMHnyZAwdOhRbtmzBwIED0bBhQygUirdu16lTp+Ds7IzQ0FAh7fWZ5OrUZWtri5iYGJVA+syZM5BIJDAzM6tV2yQSCaRSKY4dOwZ3d3e1dd68eRP5+fnC7Hx6ejqePHkCGxubatdTF2NpbGwMMzMz3LhxA8OGDat1OXW1XxljrKZ4mQ1jjP2puLgYd+7cwW+//YYLFy7gq6++go+PD/r374+RI0cCADw8PODk5IQBAwYgPj4eeXl5OHPmDObMmYOUlBS8ePECEyZMQGJiIn799VecPn0aycnJQpAqlUpRVFSEY8eO4cGDB3j+/Hmt2mppaYmUlBTEx8cjKysL4eHhSE5OVskjlUpx+fJlZGZm4sGDB3j16lWFckJDQ5Gfn4/PP/8cGRkZiI2Nxbx58zBlyhRoaNT+LSIiIgLLli3D6tWrkZ2djQsXLmDNmjUASsfQ0dERw4YNw4ULF5CUlISRI0fCzc0NnTp1qnYdUqkU58+fR15eHh48eFDrWfKIiAj8+9//xqpVq5CVlYUrV65gy5YtWL58eY3aUhf7lTHGaoqDecYY+1NcXBxMTU0hlUrRp08fHD9+HKtXr0ZsbKyw5EIkEuHQoUNwdXVFcHAwrKysMGTIEOTl5cHY2BiampooLCzEyJEjYWVlhcGDB6Nv376YP38+gNI/NRo7diz8/f1hZGSEJUuW1KqtY8eOha+vL/z9/dG1a1cUFhaqzNIDQEhICKytrYV19adPn65QjpmZGQ4dOoSkpCS0a9cOY8eOxahRozBnzpxatatMYGAgVq5ciXXr1sHOzg79+/dHdnY2gNIx3Lt3LwwMDODq6goPDw+0atUKu3btqlEd06ZNg6amJmxtbWFkZFTj3wuUGT16NDZt2oSoqCg4ODjAzc0NUVFRwtKq6qir/coYYzUlorKFg4wxxhhjjLF6hWfmGWOMMcYYq6c4mGeMMcYYY6ye4mCeMcYYY4yxeoqDecYYY4wxxuopDuYZY4wxxhirpziYZ4wxxhhjrJ7iYJ4xxhhjjLF6ioN5xhhjjDHG6ikO5hljjDHGGKunOJhnjDHGGGOsnuJgnjHGGGOMsXqKg3nGGGOMMcbqqf8DTv7WZ75E3sUAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# and when looking only at the first two age clusters:\n", + "import pandas as pd\n", + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "\n", + "# filter the dataframe to the first two age clusters\n", + "age_mask = travel_trip_complete_christos_df[\"traveler_age_segment\"].isin([\n", + " \"18-25 Students-Early Professionals\",\n", + " \"26-33 Young Professionals\",\n", + "])\n", + "df_sub = travel_trip_complete_christos_df[age_mask]\n", + "\n", + "# nationality_continent x destination_continent counts\n", + "ct = pd.crosstab(\n", + " df_sub[\"traveler_nationality_continent\"],\n", + " df_sub[\"destination_continent\"]\n", + ")\n", + "\n", + "plt.figure(figsize=(8,5))\n", + "sns.heatmap(ct, annot=True, fmt=\"d\", cmap=\"viridis\")\n", + "plt.xlabel(\"Destination continent\")\n", + "plt.ylabel(\"Traveler nationality continent\")\n", + "plt.title(\"Nationality vs destination (Travelers younger than 33)\")\n", + "plt.tight_layout()\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 56, + "id": "01467373-ebcd-4801-a0ad-1b7386edd110", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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18KFCy1tHwDgecri8cPqbc6twYo2y9prDZQk9HSjTMrIyFCXLl3yXNMtSVlZWerWrZsuXbqkdevWcU03AAAAgDwKmzW5eznKJH9/f3Xo0EGXLl1St27dNH/+fB0+fFjz5893BO4OHToQuAEAAADcFHq6UaZd+5zuXDynGwAAAMD1FDZrErpR5mVkZCghIUFHjhxRRESEnnzySXq4AQAAAFwXofv/EboBAAAAAO7GNd0AAAAAAFiM0A0AAAAAgEkI3QAAAAAAmITQDQAAAACASQjdAAAAAACYhNANAAAAAIBJCN0AAAAAAJiE0A0AAAAAgEkI3QAAAAAAmITQDQAAAACASQjdAAAAAACYpJzVBZjNMAxJUnp6usWVAAAAAABKi9yMmZs5C1LqQ/fZs2clSZGRkRZXAgAAAAAobc6ePaugoKACp9uMG8VyD5eTk6M//vhDFSpUkM1ms7ocAP8vPT1dkZGROnz4sCpWrGh1OQAAlFgcM4GSyTAMnT17VtWrV5eXV8FXbpf6nm4vLy/deuutVpcBoAAVK1bkAwQAAIXAMRMoea7Xw52LG6kBAAAAAGASQjcAAAAAACYhdAOwhK+vryZPnixfX1+rSwEAoETjmAl4tlJ/IzUAAAAAAKxCTzcAAAAAACYhdAMAAAAAYBJCNwAAAAAAJiF0AzDNvHnzVKtWLfn5+ally5basGHDdedPTExUy5Yt5efnp9q1a2v+/PnFVCkAANb59ttv1bNnT1WvXl02m00rVqy44TIcMwHPQegGYIoPPvhAI0eO1PPPP68dO3bozjvvVLdu3XTo0KF85z9w4IC6d++uO++8Uzt27ND48eM1YsQILV++vJgrBwCgeJ0/f16333673njjjULNzzET8CzcvRyAKdq0aaM77rhDCQkJjnENGzZU7969FR8fn2f+5557TitXrtTu3bsd45544gn98MMP2rx5c7HUDACA1Ww2mz755BP17t27wHk4ZgKehZ5uAG6XlZWl7du365577nEaf88992jTpk35LrN58+Y883fp0kXbtm3TpUuXTKsVAABPwzET8CyEbgBud+LECWVnZys0NNRpfGhoqFJSUvJdJiUlJd/5L1++rBMnTphWKwAAnoZjJuBZCN0ATGOz2ZyGDcPIM+5G8+c3HgCAso5jJuA5CN0A3K5KlSry9vbO06t97NixPN/M5woL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jBlT4PzR0dG69dZblZSUpO3bt2vs2LGOM1F+/PFHdenSRffff7927dqlDz74QN99952eeuqpAte3YcOGG+7/6dOnu7RN+/fv14oVK7Rq1SqtWrVKiYmJeumllyRduWSiXbt2iomJcbwHIiMjHcteu3/PnTun7t2764svvtCOHTvUpUsX9ezZU4cOHXJq809/+pNLX4IAQIlkAAAsM3DgQKNXr16O4aioKKNjx45O87Ru3dp47rnnHMOSjE8++cRpnjvvvNOYPn2607ilS5ca4eHhTsuNHDnSaZ527doZ0dHR+da2d+9eQ5KxceNGx7gTJ04Y/v7+xocffmgYhmEsWrTIkGTs27fPMc/cuXON0NDQArfRMAzjwIEDhiRjx44dhmEYxtdff21IMr744gvHPKtXrzYkGRkZGS5t44QJExzD586dM2w2m7FmzRqndk6fPp3vNuc6duyYIcn48ccf8603P3a73Zg1a5bTuNz9s3PnTqfx+b3uDRs2NHJychzjnnvuOaNhw4YFtjdr1iyjdu3aBU6/to2CaomKijKefvppp3G9evUyBg4caBiGYezbt8+w2WzGkSNHnOb5y1/+YowbN67A9n///Xfj119/ve7P9Vy7P4vy2p47d87w8/MzNm3a5LTuxx57zOjXr5/TcitWrLhuPfkZOHCg4e3tbQQGBjp+HnzwwXzn/fDDD42QkBDH8KJFi4ygoCDHcIUKFYzFixfnu+yjjz5qPP74407jNmzYYHh5eTneH9e6cOHCDff/yZMnC9y2a+ubPHmyERAQYKSnpzvGjR492mjTpo1jOL/fJVf2b6NGjYw5c+Y4jfv0008NLy8vIzs7+4bLA0BJxTXdAFDCXNvLFh4ermPHjl13me3btyspKcmp1zc7O1sXL17UhQsXFBAQIElOvdiStHPnTsXExOS7zt27d6tcuXJq06aNY1xISIgaNGig3bt3O8YFBASoTp06LtVbkKu3PTw8XJJ07Ngx1ahRo9DbePU6AgMDVaFChRvWs3//fk2cOFFbtmzRiRMnHD3chw4duumbvfn4+BSq57Rt27aO09IlqV27dpoxY4ays7Pl7e2dZ/6MjAz5+fmZUsvVvv/+exmGofr16zuNz8zMVEhISIHLRUREuNROYbj62v7yyy+6ePGi7r77bqfxWVlZatGihdO4a98bhdW5c2clJCQ41SVJX3/9taZPn65ffvlF6enpunz5si5evKjz58875rlabGys/v73v2vp0qX661//qoceesjxvtq+fbv27dund9991zG/YRjKycnRgQMH8j3bwd/fX3Xr1i3SNhWkZs2aqlChgmPYlff6tfv3/Pnzmjp1qlatWqU//vhDly9fVkZGRp6ebn9/f+Xk5CgzM9OUa8wBoDgQugGghLn25mY2m+2Gpznn5ORo6tSpTtdj57o6mF37Yf96H2KNAq4nNgzDKRzmV29By97I1evKbSN32wu7jUXZfz179lRkZKQWLlyo6tWrKycnR02aNFFWVlaRtuNq/v7+TvvLXapUqaLTp0/fdC1eXl55Xq+rLx/IycmRt7e3tm/fnif8X+8U8W7dut3wtODrXeOcH1df29xpq1evzvMlgK+vr9NwfkG4MAIDA/OE2+TkZHXv3l1PPPGEXnjhBVWuXFnfffedHnvsMad9e7UpU6bob3/7m1avXq01a9Zo8uTJev/99x2XOQwdOlQjRozIs1yNGjXyXd+GDRtuePOx8ePHa/z48YXc0qK9t3Jdu39Hjx6tdevW6Z///Kfq1q0rf39/Pfjgg3nec6dOnVJAQACBG4BHI3QDgIcpX768srOzncbdcccd2rNnj8s9W82aNdOXX36pwYMH55nWqFEjXb58WVu3bnVch33y5Ent3bvXpeuIfXx88tRbFEXdxmtrkeRUz8mTJ7V7924tWLBAd955p6Qr10sXZd03s51btmzJM1yvXr18e7klqUWLFkpJSdHp06dVqVKlIrdbtWpVp2vQs7Oz9dNPPzluTNaiRQtlZ2fr2LFjjv1TGG+99ZYyMjKKXJer8nttc28Yd+jQIUVFRRVbLdu2bdPly5c1Y8YMx93hP/zwwxsuV79+fdWvX1+jRo1Sv379tGjRIvXp00d33HGHfv75Z5d+91u1anXD58pXrly50OsrDFfeAxs2bNCgQYPUp08fSVe+gDl48GCe+X766Sfdcccd7iwTAIodoRsAPEzNmjX15ZdfqkOHDvL19VWlSpU0adIk9ejRQ5GRkXrooYfk5eWlXbt26ccff3TcpTw/kydP1l/+8hfVqVNHffv21eXLl7VmzRqNGTNG9erVU69evRQTE6MFCxaoQoUKGjt2rCIiItSrVy+X6l23bp327NmjkJCQIj8uq6jbeDW73S6bzaZVq1ape/fu8vf3V6VKlRQSEqI333xT4eHhOnTokMaOHetyfTVr1tS3336rvn37ytfXV1WqVHFp+cOHDys2NlZDhw7V999/rzlz5mjGjBkFzt+iRQtVrVpVGzduVI8ePVyuN9ddd92l2NhYrV69WnXq1NGsWbOcnnVdv359RUdHa8CAAZoxY4ZatGihEydO6KuvvlLTpk3VvXv3fNdrxunl15Pfa1uhQgU9++yzGjVqlHJyctSxY0elp6dr06ZNuuWWWzRw4EBTaqlTp44uX76sOXPmqGfPntq4caPmz59f4PwZGRkaPXq0HnzwQdWqVUu///67kpKS9MADD0iSnnvuObVt21bDhw9XTEyMAgMDtXv3bq1fv15z5szJd51mnF5+IzVr1tTWrVt18OBB3XLLLdcN9XXr1tXHH3+snj17ymazaeLEifn2mm/YsEH33HOPmWUDgOm4ezkAeJgZM2Zo/fr1ioyMdFyX2qVLF61atUrr169X69at1bZtW82cOVN2u/266+rUqZP+93//VytXrlTz5s111113aevWrY7pixYtUsuWLdWjRw+1a9dOhmHos88+c+n53jExMWrQoIFatWrlCIlFUdRtvFpERISmTp2qsWPHKjQ0VE899ZS8vLz0/vvva/v27WrSpIlGjRqlV1991eX6pk2bpoMHD6pOnTpFek7zgAEDlJGRoT/96U8aPny4/vGPf+jxxx8vcH5vb28NGTLE6TrfohgyZIgGDhyoAQMGKCoqSrVq1XL0cudatGiRBgwYoGeeeUYNGjTQfffdp61btzrdndpq+b22kvTCCy9o0qRJio+PV8OGDdWlSxf9+9//Vq1ata67vtzH2hXl0WjNmzfXzJkz9fLLL6tJkyZ69913FR8fX+D83t7eOnnypAYMGKD69evr4YcfVrdu3TR16lRJV85ISUxM1K+//qo777xTLVq00MSJEx33PSgpnn32WXl7e6tRo0aqWrVqnuuzrzZr1ixVqlRJ7du3V8+ePdWlS5c8PdpHjhzRpk2b8j0TBwA8ic0o6oV3AADALTp16qTmzZs7PZe6MFJTU9W4cWNt377dpS8fcGPffPON+vTpo99+++2mTt9H0Y0ePVpnzpzRm2++aXUpAHBT6OkGAMBDhYaG6u23375ujyKKZu3atRo/fjyB20LVqlXTCy+8YHUZAHDT6OkGAMBiRe3pBgAAJR+hGwAAAAAAk3B6OQAAAAAAJiF0AwAAAABgEkI3AAAAAAAmIXQDAAAAAGASQjcAAAAAACYhdAMAAAAAYBJCNwAAAAAAJiF0AwAAAABgEkI3AAAAAAAm+T9a8bwXOpmuHQAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# testing duration's correlation to inter vs intra\n", + "import seaborn as sns\n", + "import matplotlib.pyplot as plt\n", + "\n", + "plt.figure(figsize=(10,5))\n", + "sns.boxplot(\n", + " data=travel_trip_complete_christos_df,\n", + " x=\"is_intercontinental_trip\",\n", + " y=\"duration_days\",\n", + " hue=\"traveler_age_segment\"\n", + ")\n", + "\n", + "plt.xlabel(\"Intercontinental trip (True = inter, False = intra)\")\n", + "plt.ylabel(\"Trip duration (days)\")\n", + "plt.title(\"Duration by intercontinental status, conditioned on age segment\")\n", + "plt.tight_layout()" + ] + }, + { + "cell_type": "markdown", + "id": "53f0fb6c-c7f4-4e4d-9866-08fc9dd1a21c", + "metadata": {}, + "source": [ + "### Hypothesis #3: Travelers choose different accommodation types for difrerent trip durations and intracontinental vs intercontinntal trips." + ] + }, + { + "cell_type": "markdown", + "id": "1b1d7abe-b085-4103-b0b4-0557690c7c91", + "metadata": {}, + "source": [ + "To do that we need to use series:\n", + "- duration_days\n", + "- is_intercontinental_trip\n", + "- accommodation_type\n", + "\n", + "while controlling for destination.\n", + "\n", + "Interpretation: longer stays might be associated with specific lodging patterns.\n" + ] + }, + { + "cell_type": "markdown", + "id": "e1baa447-7fbe-4f57-a5ae-d610e7862ee3", + "metadata": {}, + "source": [ + "### Hypothesis #4: Transportation type preferences differ by traveler age." + ] + }, + { + "cell_type": "markdown", + "id": "0c4d068d-d871-4ff6-b379-c9175b520431", + "metadata": {}, + "source": [ + "To do that, we need to use series:\n", + "- transportation_type\n", + "- traveler_age\n", + "\n", + "Interpretation: age-targeted recommendations may be feasible.\n" + ] + }, + { + "cell_type": "markdown", + "id": "bf258869-887e-41c2-b45d-2f399994bc0b", + "metadata": {}, + "source": [ + "### Hypothesis #5: Accommodation and transportation prices in Europe follow seasonality patterns." + ] + }, + { + "cell_type": "markdown", + "id": "8187877f-f14a-4afd-bcb2-50465b58b256", + "metadata": {}, + "source": [ + "To do that we need:\n", + "- A curve showing us the seasonlity curve per one region/country/city\n", + "- Show how accommodation and transportation prices move according that that curve.\n", + "\n", + "We will need to control for Europe, using:\n", + "- destination_continent == Yes\n", + "\n", + "Interpretation: pricing could be aligned with observable demand cycles. Therefore, we can propose good travel deals to price cnscious travelers, outside the season.\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c7cc45dc-0c43-4b69-9178-be4b6a589044", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python [conda env:base] *", + "language": "python", + "name": "conda-base-py" + }, + "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.13.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 707754d2d7a6138f4cf8e1b7ae4ef14cec10b09a Mon Sep 17 00:00:00 2001 From: Hoai Thuong TRAN Date: Wed, 10 Dec 2025 11:27:35 +0100 Subject: [PATCH 14/14] Fixed - Add analysis for travel trip HoaiThuong --- .../analysis_travel_trip_hoaithuong.ipynb | 541 +++++++++++++++++- 1 file changed, 527 insertions(+), 14 deletions(-) diff --git a/notebooks/analysis_travel_trip_hoaithuong.ipynb b/notebooks/analysis_travel_trip_hoaithuong.ipynb index b900c750..4ac0720b 100644 --- a/notebooks/analysis_travel_trip_hoaithuong.ipynb +++ b/notebooks/analysis_travel_trip_hoaithuong.ipynb @@ -10,7 +10,7 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": 82, "id": "f1d024cc-bea2-4cb3-bb4d-fb7fa0c48b1b", "metadata": {}, "outputs": [ @@ -397,7 +397,7 @@ "[137 rows x 22 columns]" ] }, - "execution_count": 47, + "execution_count": 82, "metadata": {}, "output_type": "execute_result" } @@ -411,7 +411,35 @@ }, { "cell_type": "code", - "execution_count": 48, + "execution_count": 83, + "id": "430b574d-818a-4f4c-a672-189062bbc6bb", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['destination', 'trip_id', 'destination_country', 'destination_city',\n", + " 'start_date', 'end_date', 'duration_days', 'traveler_name',\n", + " 'traveler_age', 'traveler_gender', 'traveler_nationality',\n", + " 'accommodation_type', 'accommodation_cost', 'transportation_type',\n", + " 'transportation_cost', 'end_year', 'end_month', 'start_year',\n", + " 'start_month', 'start_month_name', 'end_month_name',\n", + " 'traveler_nationality_clean'],\n", + " dtype='object')" + ] + }, + "execution_count": 83, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_complete_hoaithuong_df.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 84, "id": "0ec9b9e2-f3f1-4f73-a64c-473495fc02b3", "metadata": {}, "outputs": [ @@ -624,7 +652,7 @@ "[5 rows x 22 columns]" ] }, - "execution_count": 48, + "execution_count": 84, "metadata": {}, "output_type": "execute_result" } @@ -635,7 +663,492 @@ }, { "cell_type": "code", - "execution_count": 49, + "execution_count": null, + "id": "696693d2-a2d4-4709-af07-687c6308f9a0", + "metadata": {}, + "outputs": [], + "source": [ + "# 3. (count of) Accommodation type per trip duration" + ] + }, + { + "cell_type": "code", + "execution_count": 85, + "id": "6b9b7d27-9f9a-4cb6-ad2e-23ba97bd771d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 Hotel\n", + "1 Resort\n", + "2 Villa\n", + "3 Hotel\n", + "4 Airbnb\n", + " ... \n", + "132 Hostel\n", + "133 Hotel\n", + "134 Hostel\n", + "135 Airbnb\n", + "136 Hotel\n", + "Name: accommodation_type, Length: 137, dtype: object" + ] + }, + "execution_count": 85, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_complete_hoaithuong_df['accommodation_type']" + ] + }, + { + "cell_type": "code", + "execution_count": 88, + "id": "d760ce0c-c751-49b9-a5dd-0972a6966c80", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array(['Hotel', 'Resort', 'Villa', 'Airbnb', 'Hostel', 'Vacation rental'],\n", + " dtype=object)" + ] + }, + "execution_count": 88, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "travel_trip_complete_hoaithuong_df['accommodation_type'].unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 87, + "id": "e2840755-2d84-433e-a1ca-65900766a93f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "accommodation_type Airbnb Hostel Hotel Resort Vacation rental Villa\n", + "duration_days \n", + "5.0 1 1 7 1 0 0\n", + "6.0 3 1 10 0 1 1\n", + "7.0 13 5 25 7 1 3\n", + "8.0 4 7 10 3 0 0\n", + "9.0 4 5 4 1 2 0\n", + "10.0 4 3 2 1 0 0\n", + "11.0 1 2 0 1 0 1\n", + "13.0 0 0 1 0 0 0\n", + "14.0 0 0 1 0 0 0\n" + ] + } + ], + "source": [ + "result = travel_trip_complete_hoaithuong_df.groupby(\"duration_days\")[\"accommodation_type\"].value_counts().unstack(fill_value=0)\n", + "print(result)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9e950e9c-165c-46eb-954f-bba3f4b3dac7", + "metadata": {}, + "outputs": [], + "source": [ + "* Trips with a 7-day duration are the most common\n", + "The highest number of travelers appears in the 7.0-day group.\n", + "Many accommodation types are chosen for this duration, especially Hotels and Airbnb.\n", + "\n", + "* Hotels are the most popular accommodation type across almost all trip durations\n", + "Particularly dominant for trips of 5, 6, 7, 8, and 9 days.\n", + "\n", + "* Airbnb is also strong but still less common than Hotels\n", + "Frequently chosen for trips lasting 6 to 9 days.\n", + "\n", + "* Resorts tend to be selected for longer trips\n", + "Most commonly seen in 7-day and 8-day trips.\n", + "\n", + "* Vacation rentals and Villas are less frequently chosen\n", + "They appear only in a few specific trip durations.\n", + "Not a popular choice among travelers.\n", + "\n", + "* Trips lasting 13 and 14 days only chose Hotels\n", + "Travelers on very long trips prefer Hotels due to stability, convenience, and ease of booking." + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "id": "8f6577d6-ccca-44de-b15c-055f87c59b94", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAKyCAYAAAAEvm1SAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAoJVJREFUeJzs3Xl8jFf///H3JCH7gpLEllBriK1RtVRiL+rW294WUaqLVrlb1RWhLa1WS6t7EXorpW7aKmqpaNVSW5SKpST2pVoSa5Cc3x9+ma+RhGQyMozX8/HIo5nrnOtcn2vmmqR5O9cZizHGCAAAAAAAAChEbs4uAAAAAAAAALcfQikAAAAAAAAUOkIpAAAAAAAAFDpCKQAAAAAAABQ6QikAAAAAAAAUOkIpAAAAAAAAFDpCKQAAAAAAABQ6QikAAAAAAAAUOkIpAAAAAAAAFDpCKQAAbkIWi0UWi6XQjhcXFyeLxaK4uLhCOyYA+8THx8tisahPnz7OLsWlpaSkyGKxKDw83NmlAIDLIpQCABcTGRkpi8Uib29vpaWlObsc3ARSUlIUFxen+Ph4Z5dilz59+lhDuvx8paSkOLv0Artw4YI+++wz3X///Spbtqy8vLzk7++viIgI9e/fXytWrHB2iXY5efKk4uLiNH78eGeXckMlJCTYde3ebOFweHi4TX1ubm4KCAhQuXLl1KpVK7366qvatm2bs8vMt/HjxysuLk4nT550dikAcNvycHYBAADHSUxM1NatWyVJ58+f1zfffKO+ffs6uSo4W0pKikaOHKno6OhcZ1bccccdqlq1qu64447CLS4PqlSposaNG2fbvn79eqWnp6ty5coqVapUtnYvL6/CKO+GWb9+vbp27WoN10qVKqWaNWsqPT1dKSkp+uKLL/TFF1+offv2mj9/vnOLzaeTJ09q5MiRCgsL0+DBg51dzg0TGBiY47W7b98+7d+/XwEBAYqMjMzWXr58+euOW7VqVYWGhjqs1ry48r12/vx5HT9+XEuXLtXSpUv1xhtvqHPnzvr0009VokSJQq3LXuPHj9fevXvVp08fBQUFZWsvUqSIqlatqjJlyhR+cQBwm7AYY4yziwAAOMZzzz2nd999V0FBQTp58qRiYmK0fPlyZ5cFO2TduueIX9MJCQlq1qyZoqOjlZCQUODxbhbh4eHau3evpkyZ4nK3Ma1fv17R0dE6e/asWrVqpTFjxuiuu+6ytl+4cEGLFy/WqFGjtHPnzltupkdKSooqVKigsLAwl5jRll9xcXHWoPhWeE9e6712/PhxTZ8+Xa+//rqOHz+uatWqac2aNQoMDHROsfmQdV7JycncogcATsLtewDgIjIyMjRjxgxJ0sSJE+Xu7q4VK1Zo3759Tq4MQH6kp6ere/fuOnv2rB588EEtWrTIJpCSpKJFi+r+++/XmjVr9OqrrzqpUuDyLMtBgwZp/fr1Cg0N1fbt21169hsAwLEIpQDARSxdulSHDx9WSEiIevTooebNm8sYo+nTp19zv7Nnz+qdd97RPffco6CgIPn4+Khy5crq1atXjuvVGGM0e/ZstWvXTqVKlZKnp6fKly+vtm3b5rhmkTFG//3vfxUdHa2goCB5e3urWrVqeuGFF/TPP//kWNOVi3zPnTtXjRo1kp+fn4KDgxUbG6sjR45Y+06ZMkV33XWXfH19VapUKT3xxBNKTU3NNuaVCwOfO3dOL730kipWrChvb29VrVpVH3zwgbXv33//rUGDBiksLExeXl6qUaPGNddjunjxoj744APdfffdCggIkK+vr2rXrq033nhDZ8+ezXW/33//XR07dlSxYsXk5+enBg0aaObMmbn2l6StW7dqxIgRatiwoUJDQ1W0aFGFhoaqU6dOWrVqVbb+MTExatasmSRpxYoVNuvCXDkz4HoLna9atUqdOnVScHCwihYtqrJly6p3795KSkrKsX9MTIwsFosSEhK0fft2de3aVXfccYe8vb111113adasWdc8T3u9+OKLslgsGjhwYK591q9fL4vFotDQUGVkZEj6v7V/YmJidPHiRY0cOVJVqlSRl5eXypQpo6eeeirX61W6/D566623FBUVpYCAAPn4+KhOnTp6++23lZ6enq9zmD59uvbs2aM77rhDn376qdzccv/fNTc3Nw0ZMiTb9jNnzuj1119XrVq15Ovrq4CAADVo0EAffvihLl26lK3/9RbOvvL5yW17ZmamJkyYoJo1a8rLy0vBwcHq16+f/vrrL5t9+vTpowoVKkiS9u7dm209pby4st5Tp07p2WefVXh4uLy8vFSxYkW98sor13zv/fPPP3rllVdUs2ZN+fr6yt/fX/fcc48+//xzZWZmZuufta5ZfHy8kpOT1adPH5UpU0YeHh4OX//pyvdOYmKiunTpouDgYLm5uVl/DuX2ehX0Oi6IsLAwffTRR5Kk//73v9q/f79N+/Ve36x1q66eOXfl9uXLl6tt27a64447rM+RdPl20EmTJqljx46qVKmSvL29FRgYqAYNGuj999/Pds1nPX979+6VJFWoUMHmGswa93oLnf/9998aOnSoqlatKm9vbxUrVkwxMTGaPn16jrNcr3zd0tPTFRcXp0qVKsnLy0vlypXTs88+qzNnzuT6HAGASzIAAJfw0EMPGUlm0KBBxhhj4uPjjSRTvXr1XPfZu3evqV69upFkJJnKlSubevXqmeLFixtJJjo62qZ/enq6+fe//23tHxoaaurXr2/KlCljLBaLufrXSmZmprUuSaZixYqmXr16pmjRokaSCQsLM7t3785WV1b/999/30gyZcuWNbVr1zaenp5GkomIiDDnzp0zzzzzjHXcGjVqGA8PD2vdmZmZNmNOmTLFSDIPPvigadiwoXF3dze1atUy4eHh1uONHDnSHD161FSuXNkULVrU1K1b15QuXdraPnny5Gy1nj171jRv3tzap3r16qZWrVrGzc3NSDJ16tQxx48fz7bfihUrjLe3t5FkAgICTFRUlAkJCTGSzNixY63jXa1FixZGkgkKCjLVq1c39erVM3fccYeRZNzd3c306dNt+j/99NOmZs2a1uM0btzY+tWlSxdrvxEjRhhJZsSIEdmO+dFHH1lf31KlSpmoqCgTFBRkJBkvLy8zf/78bPtER0cbSeadd94xfn5+xt/f39x1112mZMmS1nP78ssvs+2XH2FhYUaSmTJlinXbjh07jCRTokQJk56enuN+Tz/9tJFkhgwZYt22fPlyI8k0bdrUtG/f3vp+qFOnjvW6qlSpkjl69Gi28Q4cOGAiIiKMJOPh4WEqVapkqlevbt2vSZMm5uzZs3k+r1atWhlJ5j//+U/en4wrHDt2zERGRhpJxs3NzdSqVcvmfd6qVStz7tw5m32y3h+xsbE5jpn1/Fz9M+HK7Vnv9cqVK9u8H2vUqGHOnz9v3eeNN94wUVFRRpLx9PS0uSYbN26cp3PMqrdHjx6mbt26xmKxmBo1apiaNWtar9V77rnHnDlzJtu+W7duNWXKlDGSTNGiRU1ERIS58847rft16dIl28+P2NhYI8m8+OKLJigoyHh6epp69eqZatWqmbi4uDzVfKWs99vV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7Njr7pvf6zDr593s2bN15MiRbO2ffvqp0tPTFRYWlu22egCALUIpALhFZWRkaMaMGZKkXr16XbNvz549JUkJCQnWf7194IEHFBUVpWPHjqldu3bZFojdvHmzPv74Y+vj0NBQ6x8cnTp1yvbJTYcOHdKoUaOsjy0Wi55//nlJ0ogRI7Rs2TJr29GjR9WjRw9duHBB99xzj5o1a5avc79ZBAQE6Mknn5QkPf300zYhwO7du62f+tStWzebhW0ffPBBlSlTRgcOHNDjjz9u/YPIGKMJEyZowYIFOR6vSZMmki6HVomJidbtO3fuVNeuXVW0aNEc96tQoYKky/+qf63benLy3HPPycPDQ99++63GjRtnDUguXLigQYMGaevWrQoMDLQ+DzeT0NBQ3XfffTpy5Ig+/PBDSde+dU+SPDw8NGLECK1YscK67cCBA9ZP/urUqZPNa/nvf/9b99xzj7Zv364OHTpkm1GUnp6uH374IcdPisyNp6envv76a3l7e2vGjBlq27atNm7caNPn4sWLWrRokRo2bKjXX3/dur1SpUrW4KV37942n+K1ceNG66LvTz/9tM1tRbVr11bp0qV1+PBhjRgxwvrH/fnz5zV48OBcZ4TYq2TJkvL399exY8dynRmYFx4eHho4cKB1AXPp8nWe9bPqiSeesDnPxx9/XBUrVtTy5cv18MMP6/DhwzbjnT59WrNmzdKzzz5rd003g/xexwVx/Phxvf/++4qKitLhw4cVERGhd999N1u/tm3bSpJeffVVm2B90aJFGjVqVI6fXpkXNWrUULFixXTgwAG98cYbNtfuoEGDcgxns2QFZVc+T3nRvHlz1a9fX+np6XrwwQdtbuNbvHixRo4cKUl68cUXHTYrEABclgEA3JIWLlxoJBkvLy9z8uTJ6/avW7eukWTGjBlj3bZ3715TtWpVI8lIMlWqVDF33XWXKVGihJFkoqOjbcY4f/686dixo7V/6dKlTf369U3ZsmWNxWIxV/9ayczMNA899JC1f6VKlUy9evVM0aJFjSRTvnx5s3v37my1ZvXPSXJyspFkwsLCcmxfvnx5jrVPmTLFSDKxsbE57jdixAgjyYwYMSLH9tjYWCPJTJkyxWb72bNnTbNmzaw1R0REmNq1axt3d3cjydSuXdscP34823g//fST8fT0NJJMQECAqV+/vgkJCTGSzNixY3N8Di5evGjuueceI8m4u7ub6tWrm5o1axqLxWJCQ0PN66+/nus5Nm/e3Egy/v7+pkGDBiY6Otp07949T+f/0UcfWV/f4OBgU79+fRMUFGQkGU9PTzN//vxs+0RHRxtJZvny5fl6PvMjLCzsumPMmTPH+lxGRUXl2i/rumnatKlp37699f1Qt25d4+HhYSSZihUrmsOHD2fb99ChQ9b3V9Z13qBBAxMREWG91oODg/N9fmvWrDHly5e3jhscHGzuuusuExkZafz8/KzbO3bsaLPfsWPHTGRkpPU6qV27tomIiLD2b9mypTl37ly243355ZfWPiVLljRRUVEmICDA+Pn5mXfeeSfH91Vu77cs13q/9u3b1/ozLCoqykRHR+c6ztWy3s89evQwdevWNRaLxdSsWdNERkZar9X69eub06dPZ9s3KSnJVKhQwUgybm5upnr16qZBgwamSpUq1vdtgwYNbPZxxPV6paz3W07ne733jjG5/zwryHV8LVnvtcqVK5vGjRubxo0bm6ioKBMeHm69ZiSZrl27mr///jvHMY4dO2b9Gefp6Wnq1Klj3f/FF1+0HiM5OTnHY1+9/UoTJ0601hASEmK9di0Wi/n8889z/Z0ybdo0a1vNmjWt1+CmTZuMMde+fnft2mXKli1rPZ969eqZSpUqWcfr1auXyczMtNnner+Hrvd+AgBXxEwpALhFZd2K16FDBwUGBl63f9ZsqStv4Stfvrw2bNigMWPGqF69ejp06JCSkpJUvHhxxcbG6rXXXrMZw9PTU3PnztX06dPVokULnT9/Xps3b5abm5vatWunadOm2fS3WCz673//q2nTpunee+/VsWPH9McffygsLEzPP/+8Nm7caP2X6luVt7e3fvzxR02YMEFRUVHau3evdu7cqYiICL3++utatWqVSpQokW2/Zs2aac2aNerQoYMsFou2bdumcuXKacaMGdYZZlfz8PDQjz/+qIEDByo4OFh//vmnTp48qX79+mnDhg3Zbpe50ldffaU+ffooICBAGzZs0IoVK/K8PtiTTz6pX375RQ888IAyMzOVmJgoHx8f9ezZUxs3blT79u3z9mQ5QYcOHXTHHXdIuv4sKenyNTt37lzFxcUpMzNT27ZtU8mSJfXkk09q7dq1CgkJybZPaGioVq9erY8++khNmzbV33//rU2bNunUqVO6++67NXLkSC1fvjzftTdo0EA7d+7UJ598orZt28rd3V1btmzRnj17VK5cOfXv318rV67UvHnzbPYrWbKkVq9erVGjRql69erauXOn9u7dq/r16+uDDz7QggUL5OXlle14PXv21KxZs3TXXXfp1KlT2rNnj1q0aKG1a9fqrrvuynf91zNhwgQNGjRIISEh2rx5s1asWJHvGSuenp5asWKFBg0apLS0NO3YsUPly5fXiy++qOXLl+f4KWfVqlXT5s2b9eabb6p+/fo6ePCgEhMTdeHCBUVHR+udd97RzJkzHXWaTmHPdZwXu3btsn5K4fbt23Xp0iW1bNlSr7zyirZt26ZZs2bl+smWJUuW1K+//qquXbvKx8dHO3bsULFixTRlyhSNGTOmIKerp556Sv/9739Vp04d/fPPP/rzzz8VFRWlBQsW6NFHH811v169emnChAmqVauWdu/ebb0G8/KBHpUqVdKmTZs0ZMgQlS9fXn/88YeOHTumpk2b6ssvv9TUqVOZJQUAeWAxxoVvqAcAALe1kydPKiQkRMYYHT58ONc/mBMSEtSsWTNFR0crISGhcItEvsXHx+uRRx5RbGys4uPjnV3OTYPrGABwq2GmFAAAcFnTp09Xenq6OnbsmGsgBQAAAOcglAIAAC7pn3/+sX7y1oABA5xcDQAAAK5GKAUAAFzKm2++qXvvvVd33nmn9u3bp9atWysmJsbZZQEAAOAqhFIAAMClbN++XStXrpS7u7t69eqlr776ytklAQAAIAcsdA4AAAAAAIBCx0wpAAAAAAAAFDoPZxfgDJmZmTp06JD8/f1lsVicXQ4AAAAAAIDLMMbo1KlTKl26tNzccp8PdVuGUocOHVK5cuWcXQYAAAAAAIDL2r9/v8qWLZtr+20ZSvn7+0u6/OQEBAQ4uRoAAAAAAADXkZaWpnLlylnzl9zclqFU1i17AQEBhFIAAAAAAAA3wPWWTGKhcwAAAAAAABQ6QikAAAAAAAAUOkIpAAAAAAAAFLrbck0pAAAAAABcSUZGhi5evOjsMnCbKFKkiNzd3Qs8DqEUAAAAAAC3KGOMjhw5opMnTzq7FNxmgoKCFBISct3FzK+FUAoAAAAAgFtUViBVqlQp+fj4FCggAPLCGKOzZ8/q2LFjkqTQ0FC7xyKUAgAAAADgFpSRkWENpEqUKOHscnAb8fb2liQdO3ZMpUqVsvtWPhY6BwAAAADgFpS1hpSPj4+TK8HtKOu6K8haZoRSAAAAAADcwrhlD87giOuOUAoAAAAAAACFjlAKAAAAAADcdhISEmSxWAr8yYWOGud2RCgFAAAAAICLWrVqldzd3XXfffc5uxSXEBMTo8GDB9tsa9SokQ4fPqzAwMAbdlyLxXLNrz59+tywY99IfPoeAAAAAAAuavLkyRo4cKC++OIL7du3T+XLl3d2SS6naNGiCgkJuaHHOHz4sPX7r7/+WsOHD9eOHTus27I+De9Ww0wpAAAAAABc0JkzZzRr1iw9+eSTuv/++xUfH5+tz3fffaeoqCh5eXnpjjvuUKdOnaxt6enpGjp0qMqVKydPT09VrlxZkyZNsravWLFCd999tzw9PRUaGqoXX3xRly5dsrbHxMRo4MCBGjx4sIoVK6bg4GB99tlnOnPmjB555BH5+/vrzjvv1MKFC637ZN0K9+OPP6pu3bry9vZW8+bNdezYMS1cuFDVq1dXQECAHnzwQZ09e9am1meeeUalSpWSl5eXmjRponXr1tmc64IFC1SlShV5e3urWbNmSklJsWn/+++/9eCDD6ps2bLy8fFRZGSkZsyYYW3v06ePVqxYoQkTJlhnKKWkpOR4+96cOXNUo0YNeXp6Kjw8XOPGjbM5Vnh4uEaPHq2+ffvK399f5cuX12effZbraxkSEmL9CgwMlMViUUhIiIKDg9WkSRN9/vnnNv23bt0qNzc37d69W9LlmVYff/yx2rZtK29vb1WoUEGzZ8+22efgwYPq3r27ihUrphIlSqhjx47ZniNHI5QCAAAAAMAFff3116pataqqVq2qnj17asqUKTLGWNt/+OEHderUSe3bt9emTZu0bNkyRUVFWdt79+6tmTNn6v3331dSUpI++eQT+fn5SbocYLRr107169fX5s2b9fHHH2vSpEl6/fXXbWqYOnWq7rjjDv32228aOHCgnnzySXXt2lWNGjXSxo0b1aZNG/Xq1csmYJKkuLg4TZw4UatWrdL+/fvVrVs3jR8/Xl999ZV++OEHLVmyRB988IG1/9ChQzVnzhxNnTpVGzduVKVKldSmTRv9888/kqT9+/erU6dOateunRITE/Xoo4/qxRdftDnm+fPnddddd2n+/PnaunWrHnvsMfXq1Utr166VJE2YMEENGzZU//79dfjwYR0+fFjlypXL9rxv2LBB3bp1U48ePbRlyxbFxcVp2LBh2ULBcePGKSoqSps2bdKAAQP05JNPavv27Xl9eSVdDpv69u2rKVOm2GyfPHmy7r33Xt15553WbcOGDVPnzp21efNm9ezZUw8++KCSkpIkSWfPnlWzZs3k5+enn3/+WStXrpSfn5/uu+8+XbhwIV815Yu5DaWmphpJJjU11dmlAAAAAABgl3Pnzplt27aZc+fO5djeqFEjM378eGOMMRcvXjR33HGHWbJkibW9YcOG5uGHH85x3x07dhhJNv2v9PLLL5uqVauazMxM67YPP/zQ+Pn5mYyMDGOMMdHR0aZJkybW9kuXLhlfX1/Tq1cv67bDhw8bSWb16tXGGGOWL19uJJmlS5da+4wZM8ZIMrt377Zue/zxx02bNm2MMcacPn3aFClSxEyfPt3afuHCBVO6dGkzduxYY4wxL730kqlevbpNvS+88IKRZE6cOJHjORpjTLt27cxzzz1nfRwdHW0GDRpk0yer5qxxHnroIdOqVSubPs8//7yJiIiwPg4LCzM9e/a0Ps7MzDSlSpUyH3/8ca61ZJkyZYoJDAy0Pj506JBxd3c3a9eutZ57yZIlTXx8vLWPJPPEE0/YjNOgQQPz5JNPGmOMmTRpUrbXMz093Xh7e5sff/wxxzqudf3lNXdhphQAAAAAAC5mx44d+u2339SjRw9JkoeHh7p3767Jkydb+yQmJqpFixY57p+YmCh3d3dFR0fn2J6UlKSGDRvKYrFYtzVu3FinT5/WgQMHrNtq1apl/d7d3V0lSpRQZGSkdVtwcLAk6dixYzbjX7lfcHCwfHx8VLFiRZttWfvs3r1bFy9eVOPGja3tRYoU0d13322dCZSUlKR77rnHpt6GDRvaHDMjI0NvvPGGatWqpRIlSsjPz0+LFy/Wvn37cnwOcpOUlGRTi3T5udm1a5cyMjJyPMes2/Gufh7yIjQ0VO3bt7e+tvPnz9f58+fVtWtXm35Xn2/Dhg2tz8+GDRv0559/yt/fX35+fvLz81Px4sV1/vx56y2ANwILnQMAAAAA4GImTZqkS5cuqUyZMtZtxhgVKVJEJ06cULFixa65OPb1Fs42xtgEPFnbJNlsL1KkiE0fi8Visy2rb2Zmpk2/q/vkNE7WPjkd9+oazRW3LeZm3Lhxeu+99zR+/HhFRkbK19dXgwcPzvfta9d6bq50rXPKr0cffVS9evXSe++9pylTpqh79+7y8fG57n5XPv933XWXpk+fnq1PyZIl7aopL5gpBQAAAACAC7l06ZKmTZumcePGKTEx0fq1efNmhYWFWYOHWrVqadmyZTmOERkZqczMTK1YsSLH9oiICK1atcombFm1apX8/f1tgrDCUKlSJRUtWlQrV660brt48aLWr1+v6tWrW+tds2aNzX5XP/7ll1/UsWNH9ezZU7Vr11bFihW1a9cumz5Fixa1me2Uk4iICJtapMvPTZUqVeTu7p7v88uLdu3aydfXVx9//LEWLlyovn37ZuuT0/lXq1ZNklSvXj3t2rVLpUqVUqVKlWy+AgMDb0jNEqEUAAAAAAAuZf78+Tpx4oT69eunmjVr2nx16dLF+gl6I0aM0IwZMzRixAglJSVpy5YtGjt2rKTLnw4XGxurvn37at68eUpOTlZCQoJmzZolSRowYID279+vgQMHavv27fr22281YsQIPfvss3JzK9yowdfXV08++aSef/55LVq0SNu2bVP//v119uxZ9evXT5L0xBNPaPfu3Xr22We1Y8cOffXVV9kWHq9UqZKWLFmiVatWKSkpSY8//riOHDli0yc8PFxr165VSkqKjh8/nuPMpueee07Lli3Ta6+9pp07d2rq1KmaOHGihgwZcsOeA3d3d/Xp00cvvfSSKlWqlO1WPUmaPXu2Jk+erJ07d2rEiBH67bff9PTTT0uSHn74Yd1xxx3q2LGjfvnlFyUnJ2vFihUaNGiQze2YjkYoBQAAAACAC5k0aZJatmyZ4wyXzp07KzExURs3blRMTIxmz56t7777TnXq1FHz5s2tnzQnSR9//LG6dOmiAQMGqFq1aurfv7/OnDkjSSpTpowWLFig3377TbVr19YTTzyhfv366dVXXy2087zSm2++qc6dO6tXr16qV6+e/vzzT/34448qVqyYJKl8+fKaM2eOvv/+e9WuXVuffPKJRo8ebTPGsGHDVK9ePbVp00YxMTEKCQnRAw88YNNnyJAhcnd3V0REhEqWLJnjelP16tXTrFmzNHPmTNWsWVPDhw/XqFGj1KdPnxt1+pKkfv366cKFCznOkpKkkSNHaubMmapVq5amTp2q6dOnKyIiQpLk4+Ojn3/+WeXLl1enTp1UvXp19e3bV+fOnVNAQMANq9li8nJjpYtJS0tTYGCg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v36aO3euJKl3797KycnRkiVL9Jvf/MbrOnreOCxfvlxjxoyp9R51+u2/Vq9erddee02vv/66unfvrr1792r69OlyOp1KSUnxuo6e+69XX31VEydOVNu2bRUUFKQ+ffro7rvv1meffeZ1Df1uPDz1srY+Xsoa+Dd67r9GjBihvXv36tixY1q2bFn184IiIiK8rqHf/mfPnj167rnn9Nlnn110rwK53+yUaqSaNWumnj176uDBgx6PR0VFuSWvR48eld1uV6tWrawoEfUQHR2tbt26uYxdf/31Kigo8LqGnjcO+fn5+uCDD3TffffVOI9++7dHHnlEjz76qO666y717NlTycnJ+sMf/qB58+Z5XUPP/VunTp20fft2nT59WocPH9auXbtUVlamuLg4j/Ppd+NQ9U3Jnnp54f9rfuG6i10D/0bP/VuzZs107bXXauDAgVq+fLnsdruWL1/udT799k8ffvihjh49qg4dOshut8tutys/P18PP/ywYmNjva4L9H4TSjVSpaWl+uKLLxQdHe3x+KBBg6q/vavK+++/r379+ik4ONiKElEPQ4YM0YEDB1zG/v3vfysmJsbrGnreOKxYsUIRERG67bbbapxHv/3bmTNn1KSJ63+ig4KCVFlZ6XUNPW8cmjVrpujoaJ04cUIbN27U2LFjPc6j341DXFycoqKiXHp5/vx5bd++XYMHD/a6zlv/a1oD/0bPGxdjjEpLS70ep9/+KTk5Wf/617+0d+/e6h+n06lHHnlEGzdu9Lou4Pvtoweso4E9/PDDZtu2bebQoUPmk08+Mbfffru5+uqrTV5enjHGmEcffdQkJydXzz906JBp2rSp+cMf/mD2799vli9fboKDg82bb77pq7eAi7Br1y5jt9vN008/bQ4ePGj+/ve/m6ZNm5rXXnuteg49b3wqKipMhw4dzKxZs9yO0e/GJSUlxbRt29asX7/e5ObmmrVr15rWrVubmTNnVs+h543L//7v/5oNGzaYQ4cOmffff9/06tXL9O/f35w/f94YQ7/9WUlJicnKyjJZWVlGklm4cKHJysoy+fn5xhhj5s+fb8LDw83atWtNdna2mTBhgomOjjbFxcXV50hOTjaPPvpo9euPPvrIBAUFmfnz55svvvjCzJ8/39jtdvPJJ59Y/v7grraeHz9+3GRlZZl3333XSDL/+Mc/TFZWliks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8Z/fptdQqgK9H374we1YVa+89fPCequ+CdDpdGrv3r0uYaExRgsWLPB4nsmTJ2vlypV66aWXlJ6erhUrVqhly5YaN26c29xx48Zp3LhxKi4uVmZmptauXavly5dr9OjROnDggFq0aOEyv+p9NURwCQAA3HH7HgAAuKJ8+OGHbmOffvqpzp4963E3y6U4e/as0tPTJf30DXRVqm5D87Qjq+o2uYvx9ddfS5Juu+02t2coeXqfkhQUFFSnXUpVqj6THTt2uN2SaIypvk5DfXY/V3XL4sGDB92O9erVS5Ln95mfn+/2jKtjx47p1KlTGjhwoFsIVNV/TwYNGqSePXvq1Vdf1YYNG3To0CHdc889Cg0N9Vp38+bNdcstt2jp0qW69957dfToUe3cudNt3oEDB+R0Oqtv4wMAAA2LUAoAAFxRXn31VeXk5FS/Li8v12OPPSZJSklJqff58/PzlZiYqP3792vEiBEuO2q6dOmiq666Su+8847L7p/vvvtOTz311EVfKyYmRtJPD/3+uZycHM2bN8/jmpYtW+rYsWM6d+5cna7RoUMHjRgxQjk5OXr55Zddjr388svKycnRjTfe6PUZTvXRs2dPtWzZUrt27XI7NnToUMXFxWn9+vUu798Yo8cee8wteIuIiFBYWJg+++wznTlzpnr8xIkT+s///M8a6/jd736nY8eOVd+y5+kB55s3b/b4mVbt5LrwAegFBQUqKipSfHx8jdcGAACXjtv3AADAFWXkyJEaOHCg7rrrLrVs2VLvvfee9u3bp9GjR+uee+6p83nKy8uVlpYm6afnI504cULZ2dn66KOPVFFRobFjx+qVV15xufUuJCREDz74oObPn68+ffpo7NixKikp0bp16xQfH1+986mu+vfvr/79++uf//ynCgsLNXDgQBUUFOidd97RbbfdpjfffNNtzY033qhPP/1UiYmJGjZsmEJCQjR06FCXb7C70JIlSzR06FDdf//9Wrdunbp166b9+/frnXfeUZs2bbRkyZKLqruubDabfvnLX2rVqlUqLCxUdHR09bEmTZpo6dKluvXWWzVy5EglJSXJ6XRqy5YtKiws1H/8x3/oX//6l8v8KVOmKD09Xb169VJiYqKKi4u1YcMGxcTEVH9boifJycmaNWuWvv32Ww0YMMDjQ+cffvhhFRQUKCEhQbGxsbLZbMrIyNCuXbs0ePBgDRkyxGX+pk2bJEm/+tWv6vkpAQAArwwAAMAlkmRiYmJcxnJzc40kk5KS4nVdTEyM27rU1FQjyWzdutW8+OKLplu3bsbhcJh27dqZRx991Jw5c6bOdcXExBhJ1T8hISGmdevW5he/+IWZMmWKycjI8Lq2vLzc/OlPfzLt27c3ISEh5rrrrjPPPfecOXTokMf35em9/NzRo0fNxIkTjdPpNKGhoaZnz57mb3/7m9fzlZSUmPvvv99ER0ebJk2aGEkmNTXVGFPzZ5uXl2d++9vfmujoaGO32010dLT57W9/a/Ly8tzmxsfHG29/BqakpBhJJjc31+t7+rmPP/7YSDLp6ekej+/YscMMHz7chIWFmZYtW5o777zT5Ofne6zh/Pnz5umnnzadO3c2DofDdOjQwcyYMcOUlJTU+jlPmDDBSDIvvfSSx+P/+Mc/zPjx402nTp1M06ZNTXh4uLnhhhvMggULzOnTp93mJyQkmIiICFNaWlqnzwEAAFw8mzEN+H3IAAAAlygtLU1PPPGEtm7dqoSEBF+Xg4swePBgnTp1Svv27bvkB9zXV/fu3VVQUKDCwkJdddVV9TrXV199pS5duig1NVV/+tOfGqhCAABwIZ4pBQAAgHr57//+b+3fv19vvPGGT67/3nvvaf/+/UpOTq53ICVJTz75pCIjI/Xwww83QHUAAMAbnikFAACAehk8eLBeeOEFlZWVWXrdJUuW6PDhw1q2bJnCwsI0c+bMep+zvLxcnTt31m9+8xs1a9asAaoEAADeEEoBAACg3iZPnmz5NZ955hl988036tKli5555hnFxsbW+5x2u12PP/54/YsDAAC14plSAAAAAAAAsBzPlAIAAAAAAIDlCKUAAAAAAABgOUIpAAAAAAAAWI5QCgAAAAAAAJYjlAIAAAAAAIDlCKUAAAAAAABgOUIpAAAAAAAAWI5QCgAAAAAAAJYjlAIAAAAAAIDl/h9py8oRPV/NfQAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "\n", + "df_pivot = result\n", + "\n", + "plt.figure(figsize=(12, 7))\n", + "\n", + "df_pivot.plot(kind=\"bar\", stacked=True, figsize=(12, 7))\n", + "\n", + "plt.title(\"Accommodation Type Count per Trip Duration\", fontsize=16)\n", + "plt.xlabel(\"Trip Duration (days)\", fontsize=14)\n", + "plt.ylabel(\"Count of Accommodation Types\", fontsize=14)\n", + "plt.xticks(rotation=0)\n", + "plt.legend(title=\"Accommodation Type\")\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "347b4724-30ec-456f-8fc3-ac3a7230a48e", + "metadata": {}, + "outputs": [], + "source": [ + "# 4. (count of) transportation_type per traveler_age_segment" + ] + }, + { + "cell_type": "code", + "execution_count": 92, + "id": "813f25e9-1a7d-46c5-8771-5ca1494a57c9", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "traveler_age_segment\n", + "26-33 Young Professionals 72\n", + "34-40 Young Parents 25\n", + "41-50 Money & Energy Group 25\n", + "18-25 Students-Early Professionals 13\n", + "51-60 Rich but Tired 2\n", + "61+ Retired-Elderly 0\n", + "Name: count, dtype: int64" + ] + }, + "execution_count": 92, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandas as pd\n", + "\n", + "age_bins = [0, 26, 34, 41, 51, 61, 120]\n", + "age_labels = [\n", + " \"18-25 Students-Early Professionals\", # [0,26) -> effectively 18–25 in your data\n", + " \"26-33 Young Professionals\", # [26,34)\n", + " \"34-40 Young Parents\", # [34,41)\n", + " \"41-50 Money & Energy Group\", # [41,51)\n", + " \"51-60 Rich but Tired\", # [51,61)\n", + " \"61+ Retired-Elderly\" # [61,120)\n", + "]\n", + "\n", + "travel_trip_complete_hoaithuong_df[\"traveler_age_segment\"] = pd.cut(\n", + " travel_trip_complete_hoaithuong_df[\"traveler_age\"],\n", + " bins=age_bins,\n", + " labels=age_labels,\n", + " right=False\n", + ")\n", + "\n", + "travel_trip_complete_hoaithuong_df[\"traveler_age_segment\"].value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "id": "6701f148-01ab-440f-8f63-6e3e8f0fe7b9", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " traveler_age_segment transportation_type\n", + "0 34-40 Young Parents Flight\n", + "1 26-33 Young Professionals Flight\n", + "2 41-50 Money & Energy Group Flight\n", + "3 26-33 Young Professionals Flight\n", + "4 18-25 Students-Early Professionals Train\n", + ".. ... ...\n", + "132 34-40 Young Parents Private Car\n", + "133 26-33 Young Professionals Airplane\n", + "134 26-33 Young Professionals Train\n", + "135 18-25 Students-Early Professionals Airplane\n", + "136 34-40 Young Parents Train\n", + "\n", + "[137 rows x 2 columns]\n" + ] + } + ], + "source": [ + "travel_trip_complete_hoaithuong_df['traveler_age_segment'] = pd.cut(travel_trip_complete_hoaithuong_df['traveler_age'], bins=age_bins, labels=age_labels, right=True)\n", + "\n", + "output = travel_trip_complete_hoaithuong_df[['traveler_age_segment', 'transportation_type']]\n", + "\n", + "print(output)" + ] + }, + { + "cell_type": "code", + "execution_count": 99, + "id": "87a3ae3a-4ed2-4da4-9eee-b2258f145727", + "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", + "
transportation_typeAirplaneBusFerryFlightPrivate CarRental CarSubwayTrain
traveler_age_segment
18-25 Students-Early Professionals92020204
26-33 Young Professionals2931619118
34-40 Young Parents1310210011
41-50 Money & Energy Group100031204
51-60 Rich but Tired10000001
\n", + "
" + ], + "text/plain": [ + "transportation_type Airplane Bus Ferry Flight Private Car \\\n", + "traveler_age_segment \n", + "18-25 Students-Early Professionals 9 2 0 2 0 \n", + "26-33 Young Professionals 29 3 1 6 1 \n", + "34-40 Young Parents 13 1 0 2 1 \n", + "41-50 Money & Energy Group 10 0 0 3 1 \n", + "51-60 Rich but Tired 1 0 0 0 0 \n", + "\n", + "transportation_type Rental Car Subway Train \n", + "traveler_age_segment \n", + "18-25 Students-Early Professionals 2 0 4 \n", + "26-33 Young Professionals 9 1 18 \n", + "34-40 Young Parents 0 0 11 \n", + "41-50 Money & Energy Group 2 0 4 \n", + "51-60 Rich but Tired 0 0 1 " + ] + }, + "execution_count": 99, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "transport_count = pd.crosstab(travel_trip_complete_hoaithuong_df['traveler_age_segment'], travel_trip_complete_hoaithuong_df['transportation_type'])\n", + "transport_count" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "84322ea7-0942-4004-9bd0-e9ccc790e4de", + "metadata": {}, + "outputs": [], + "source": [ + "#count of transportation_type per traveler_age_segment" + ] + }, + { + "cell_type": "code", + "execution_count": 100, + "id": "6e27238e-c9c6-48c1-bb57-02f5ed08c2c2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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qVLmxIkTmdpkjOMr/Q6R1TFdtmyZ1S6r32kykqKXJ9zz6/ObcWwu/y4hQQUAeYc1qIAC5uTJk5IkHx+fXLc9deqUfvzxR0nS008/nWm7t7e3BgwYIEnWAqp55fHHH89UVrp0aWvdj3379uXZa2XE3r17dwUHB2faPmjQIDmdTh04cEC7du3Ks9fNrUcfffSK21NSUrRw4UINGDBAHTp00O23367bbrtNffr0kSRt3rw527ZZHe86derI09NTSUlJOnbsmFUeGhoqSfr444+zXBMpO+XLl1fnzp0zld97772qWLGiTp8+7bJgcMb78tRTT2XZ39ChQ13qXa5bt27XNO4vdT3HNLeudxzWr19fjRs3zlTepEkTSXn7mcng5+enBx54QOfPn9fChQtdti1dulRHjx5V48aNVatWrSzbDx48+Irly5Yts8p+/PFHHTlyRA0bNlSDBg2ybHffffdJkrUmnfR/43Xx4sU53Kury+1Y/vTTTyVl/TmTpLp16yosLEz79u3T77//nml7XozlnOrdu7eKFcv+17n09HR98cUXGjJkiDp27Gh9Jtq1ayeHw6E9e/a4rMPl7e1tHavL16f766+/tHLlSjmdTnXr1s0qv9b3Ojtff/21UlJS1KFDB1WoUCHT9mLFiunee+/Ntr+AgIAs3++cylhn6v7773e5oUavXr2s+C79jpUu3ln3jz/+kI+Pj7p3756pzypVquj222/PVJ6amqqvv/5axYsXz3bNotwcuwx33nmnNm/erMcff1yBgYGSpMOHD+vzzz/X008/rbCwML322msubQ4cOKBffvlFZcuWtV4zJ7GsWLFCktS1a1cFBARkatOvX7+rxvvYY49lKrt0/aystmeMtcu/K6/389ujR48sP7/5+d0MALiIe8sCBYyfn58kXdMiyb/99pvS09OthWSzknHiuXv37msPMgu33HJLluVly5bVrl27dOrUqTx7rYzYa9asmeV2Pz8/hYaG6rffftPu3bttu0tRjRo1st128OBBtW/f/ooJtL///jvbbdkd7zJlyujQoUM6deqUSpUqJUkaMmSI5s2bp3Hjxum9997TXXfdpdtvv11t2rRRSEhItq9RrVq1LE98HQ6HqlWrpoMHD2r37t266667JF39fckYe3/++aeSk5Pl7+/vsv1KxysnrveY5tb1jsMrfWYk5eln5lL9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CXFN0tPTdfjwYSUkJKhixYpXHUckqK7DO++8o44dOyokJMSl/PKDboy56hsxadIkRUdH53mMAAAAAADkVFpampWcKlWqlN3h4CZXpkwZHT58WBcuXJC7u/sV67JI+jU6cOCA/vvf/+rxxx+3yoKDgyX930yqDImJiZlmVV3uhRdeUFJSkvU4dOhQ3gcNAAAAAMAVZKw55e3tbXMkKAwyLu1LS0u7al0SVNdo7ty5Klu2rO655x6rLDw8XMHBwdad/aSL61StWbNGLVq0uGJ/TqdT/v7+Lg8AAAAAAOzAZX3IC7kZR1zidw3S09M1d+5c9enTR25u/3cIHQ6Hhg0bpokTJyoiIkIRERGaOHGivL291bNnTxsjBgAAAAAAKLhIUF2D//73vzp48KD69++faduIESN09uxZDR48WMePH1fTpk21fPly+fn52RApAAAAAAAoCPbv36/w8HBt2rRJ9evXtzucAodL/K5B+/btZYxR1apVM21zOByKiopSQkKCzp07pzVr1qh27do2RAkAAAAAQN5xOBxXfGTc4b4wiYyM1LBhw3Ldrm/fvurSpYtLWWhoqBISEvI1RxAWFnbF9ygyMjLfXvt6MYMKAAAAAABcVUJCgvXzhx9+qBdffFG7du2yyry8vFzqnz9//qp3biuo8iP24sWLWzdXyy+xsbHWguTr1q1Tt27dtGvXLmud64xFywsiZlABAAAAAICrCg4Oth4BAQFyOBzW83PnzikwMFCLFy9WZGSkPD09NX/+fB07dkw9evRQhQoV5O3trTp16mjRokUu/UZGRuqZZ57RiBEjVLJkSQUHBysqKsqlTlRUlCpWrCin06mQkBA988wz1rawsDCNGzdOPXv2lK+vr0JCQvTaa6+5tD948KA6d+4sX19f+fv768EHH9Sff/7p0n/9+vX17rvvqnLlynI6nerTp4/WrFmjV1991ZqBtH//fqWlpemxxx5TeHi4vLy8VK1aNb366qsufc2bN09ffPGF1W716tXav3+/HA6H4uLirLpr1qzRrbfeKqfTqXLlymnkyJG6cOFCro7NpcqUKWO9JyVLlpQklS1bVsHBwerZs6defPFFl/rHjh2T0+nUd999l+NjmZSUpCeeeEJly5aVv7+/2rZtq82bN2cbU06RoAIAAAAAAHni+eef1zPPPKMdO3aoQ4cOOnfunBo1aqQlS5Zo69ateuKJJ/TII4/op59+cmk3b948+fj46KefftKUKVP00ksvacWKFZKkjz/+WK+88opmz56tPXv26PPPP1edOnVc2v/73/9W3bp19csvv+iFF17Qs88+a7U3xqhLly76+++/tWbNGq1YsUJ79+7VQw895NLHb7/9psWLF+uTTz5RXFycZsyYoebNm2vAgAFKSEhQQkKCQkNDlZ6ergoVKmjx4sXavn27XnzxRY0aNUqLFy+WJD333HN68MEHddddd1ntWrRokelY/fHHH7r77rvVpEkTbd68WbNmzdI777yj8ePH5/jY5Mbjjz+uhQsXKiUlxSpbsGCBQkJC1KZNmxwfy3vuuUdHjhzR119/rY0bN6phw4a644479Pfff+c6JhcGBVJSUpKRZJKSkuwOBQAAAABwBYXp/O3s2bNm+/bt5uzZs1esN3fuXBMQEGA9j4+PN5LM9OnTr/oad999t/nHP/5hPW/durW57bbbXOo0adLEPP/888YYY6ZOnWqqVq1qUlNTs+yvUqVK5q677nIpe+ihh0zHjh2NMcYsX77cFC9e3Bw8eNDavm3bNiPJ/Pzzz8YYY8aOHWvc3d1NYmKiSz+tW7c2Q4cOveo+DR482HTr1s163qdPH9O5c2eXOhnHaNOmTcYYY0aNGmWqVatm0tPTrTqvv/668fX1NWlpadbrX+nYXMmqVauMJHP8+HFjjDHnzp0zJUuWNB9++KFVp379+iYqKsp6frVjuXLlSuPv72/OnTvnUueWW24xs2fPzhRDTseTMcYwgwoAAAAAAOSJxo0buzxPS0vThAkTVLduXZUqVUq+vr5avny5Dh486FKvbt26Ls/LlSunxMRESVL37t119uxZVa5cWQMGDNBnn33mchmcJDVv3jzT8x07dkiSduzYodDQUIWGhlrba9asqcDAQKuOJFWqVEllypTJ0X6++eabaty4scqUKSNfX1/NmTMn0z5dzY4dO9S8eXM5HA6rrGXLljp16pR+//13q+xKxyY3nE6nevfurXfffVeSFBcXp82bN2da3P5Kx3Ljxo06deqU9V5mPOLj47V3795cx3QpFkkHAAAAAAB5wsfHx+X51KlT9corr2j69OmqU6eOfHx8NGzYMKWmprrUu3xBcofDofT0dEkX7363a9curVixQv/97381ePBg/fvf/9aaNWuuuJB5RuLHGOOSBMpwefnlsWdn8eLFevbZZzV16lQ1b95cfn5++ve//53pssWrySouY4xL7NKVj01uPf7446pfv75+//13vfvuu7rjjjtUqVKlq7bLiCc9PV3lypXT6tWrM9UJDAy8ppgykKACAElz9xy2O4RCrV9EiN0hAAAAwAY//PCDOnfurN69e0u6mODYs2ePatSokat+vLy8dN999+m+++7TkCFDVL16dW3ZskUNGzaUJK1fv96l/vr161W9enVJF2dLHTx4UIcOHbJmUW3fvl1JSUlXjcPDw8O6K96l+9SiRQsNHjzYKrt89lBW7S5Xs2ZNffLJJy6JqnXr1snPz0/ly5e/YttrVadOHTVu3Fhz5szRwoULMy2ALl35WDZs2FBHjhyRm5ubwsLC8jQ2LvEDAAAAAAD5okqVKlqxYoXWrVunHTt2aODAgTpy5Eiu+oiJidE777yjrVu3at++fXr//ffl5eXlMvNn7dq1mjJlinbv3q3XX39dH330kYYOHSpJuvPOO1W3bl316tVLv/zyi37++Wc9+uijat26daZLEi8XFhamn376Sfv379fRo0eVnp6uKlWqaMOGDVq2bJl2796tMWPGKDY2NlO7X3/9Vbt27dLRo0d1/vz5TH0PHjxYhw4d0tNPP62dO3fqiy++0NixYzV8+HAVK5Z/6ZrHH39ckydPVlpamu6///5M2692LJs3b64uXbpo2bJl2r9/v9atW6d//etf2rBhw3XFRYIKAAAAAADkizFjxqhhw4bq0KGDIiMjFRwcrC5duuSqj8DAQM2ZM0ctW7ZU3bp1tXLlSn311VcqVaqUVecf//iHNm7cqAYNGmjcuHGaOnWqOnToIOni5Wmff/65SpQooVatWunOO+9U5cqV9eGHH171tZ977jkVL15cNWvWVJkyZXTw4EENGjRIXbt21UMPPaSmTZvq2LFjLrOpJGnAgAGqVq2atU7V2rVrM/Vdvnx5ff311/r5559Vr149DRo0SI899pj+9a9/5er45FaPHj3k5uamnj17ytPTM9P2qx3Lr7/+Wq1atVL//v1VtWpVPfzww9q/f7+CgoKuKy6HybjAEQVKcnKyAgIClJSUJH9/f7vDAQo9LvHLX1ziBwAACrPCdP527tw5xcfHKzw8PMvkRUEUFhamYcOGadiwYXaHclM4dOiQwsLCFBsba10imSGvj2Vu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t26tdevW2RUuAAAAAADIB927d9exY8d05swZdenSxWXbu+++q+PHj6tBgwZ65JFH9Mwzz7hcRihJU6dO1YoVKxQaGqoGDRpIkjp06KAlS5ZoxYoVatKkiZo1a6Zp06apUqVK2cZRokQJrV+/Xr1799b48ePVoEED3X777Vq0aJH+/e9/KyAgQGXKlFFMTIw++ugj1axZU5MnT9Z//vOfPD8m18phMlbTQo588803OnPmjKpWrao///xT48eP186dO7Vt2zbt2rVLLVu21B9//OEype6JJ57QgQMHtGzZsmz7TUlJUUpKivU8OTlZoaGhSkpKkr+/f77uEwBp7p7DdodQqPWLyHy7WwAAgMIiOTlZAQEBheL87dy5c4qPj1d4eHiW6x0BuZGb8cQaVLnUsWNH6+c6deqoefPmuuWWWzRv3jw1a9ZMUuaV840xV11Nf9KkSYqOjs77gAHkyO2OD+wOoZAbbncAAAAAAAowLvG7Tj4+PqpTp4727Nlj3c3vyJEjLnUSExNdFkrLygsvvKCkpCTrcejQoXyLGQAAAAAAoCAhQXWdUlJStGPHDpUrV07h4eEKDg7WihUrrO2pqalas2aNWrRoccV+nE6n/P39XR4AAAAAAABFAZf45dJzzz2nTp06qWLFikpMTNT48eOVnJysPn36yOFwaNiwYZo4caIiIiIUERGhiRMnytvbWz179rQ7dAAAAAAAgAKJBFUu/f777+rRo4eOHj2qMmXKqFmzZlq/fr21mv6IESN09uxZDR48WMePH1fTpk21fPly+fn52Rw5AAAAAABAwUSCKpc++ODKCyk7HA5FRUUpKirqxgQEAAAAAABwkyNBBQCS5s9PtjuEQo2cPQAAAIArYZF0AAAAAAAA2IoEFQAAAAAAQAGxevVqORwOnThxwu5QbigSVAAAAAAAoMjo27evHA6HHA6H3NzcVLFiRT355JM6fvx4nr5OTEyMAgMD87TPS23atEndu3dXUFCQPD09VbVqVQ0YMEC7d+/Ot9fMT6xBBQAAAAAA8syNvmnYtbzeXXfdpblz5+rChQvavn27+vfvrxMnTmjRokV5H2A+WLJkibp166YOHTpowYIFuuWWW5SYmKiPPvpIY8aM0YcffnhN/aampsrDwyOPo80ZZlABAAAAAIAixel0Kjg4WBUqVFD79u310EMPafny5S515s6dqxo1asjT01PVq1fXG2+8YW3bv3+/HA6HPv30U7Vp00be3t6qV6+efvzxR0kXL9Pr16+fkpKSrNlaGYm0+fPnq3HjxvLz81NwcLB69uypxMTEHMd+5swZ9evXT3fffbe+/PJL3XnnnQoPD1fTpk31n//8R7Nnz5YkpaWl6bHHHlN4eLi8vLxUrVo1vfrqqy599e3bV126dNGkSZMUEhKiqlWrXsvhzBPMoAIAAAAAAEXWvn379O2338rd3d0qmzNnjsaOHauZM2eqQYMG2rRpkwYMGCAfHx/16dPHqjd69Gj95z//UUREhEaPHq0ePXrot99+U4sWLTR9+nS9+OKL2rVrlyTJ19dX0sVZSuPGjVO1atWUmJioZ599Vn379tXXX3+do3iXLVumo0ePasSIEVluz7isMD09XRUqVNDixYtVunRprVu3Tk888YTKlSunBx980Kq/cuVK+fv7a8WKFTLG5OrY5SUSVAAAAAAAoEhZsmSJfH19lZaWpnPnzkmSpk2bZm0fN26cpk6dqq5du0qSwsPDtX37ds2ePdslQfXcc8/pnnvukSRFR0erVq1a+u2331S9enUFBATI4XAoODjY5bX79+9v/Vy5cmXNmDFDt956q06dOmUlsa5kz549kqTq1atfsZ67u7uio6Ot5+Hh4Vq3bp0WL17skqDy8fHR22+/bdulfRlIUAEAAAAAgCKlTZs2mjVrls6cOaO3335bu3fv1tNPPy1J+uuvv3To0CE99thjGjBggNXmwoULCggIcOmnbt261s/lypWTJCUmJl4xebRp0yZFRUUpLi5Of//9t9LT0yVJBw8eVM2aNa8ae25mOb355pt6++23deDAAZ09e1apqamqX7++S506derYnpySWIMKAAAAAAAUMT4+PqpSpYrq1q2rGTNmKCUlxZptlJEwmjNnjuLi4qzH1q1btX79epd+Lr0s0OFwuLTPyunTp9W+fXv5+vpq/vz5io2N1WeffSbp4qV/OZGxTtTOnTuvWG/x4sV69tln1b9/fy1fvlxxcXHq169fptfx8fHJ0evmN2ZQAQAAAACAIm3s2LHq2LGjnnzySYWEhKh8+fLat2+fevXqdc19enh4KC0tzaVs586dOnr0qCZPnqzQ0FBJ0oYNG3LVb/v27VW6dGlNmTLFSm5d6sSJEwoMDNQPP/ygFi1aaPDgwda2vXv3XsOe3BjMoAIAAAAAAEVaZGSkatWqpYkTJ0qSoqKiNGnSJL366qvavXu3tmzZorlz57qsU3U1YWFhOnXqlFauXKmjR4/qzJkzqlixojw8PPTaa69p3759+vLLLzVu3LhcxZqxZtTSpUt133336b///a/279+vDRs2aMSIERo0aJAkqUqVKtqwYYOWLVum3bt3a8yYMYqNjc3Va91IJKgAAAAAAECRN3z4cM2ZM0eHDh3S448/rrffflsxMTGqU6eOWrdurZiYGIWHh+e4vxYtWmjQoEF66KGHVKZMGU2ZMkVlypRRTEyMPvroI9WsWVOTJ0/Wf/7zn1zH2rlzZ61bt07u7u7q2bOnqlevrh49eigpKUnjx4+XJA0aNEhdu3bVQw89pKZNm+rYsWMus6kKGoex8x6CyFZycrICAgKUlJQkf39/u8MBCr2oqCi7QyjUOL4AAKAwK0znb+fOnVN8fLzCw8Pl6elpdzi4yeVmPDGDCgAAAAAAALYiQQUAAAAAAABbkaACAAAAAACArUhQAQAAAAAAwFYkqAAAAAAAAGArElQAAAAAAACwFQkqAAAAAAAA2IoEFQAAAAAAAGxFggoAAAAAAAC2IkEFAAAAAACQC6tXr5bD4dCJEyfsDqXQIEEFAAAAAACKlMTERA0cOFAVK1aU0+lUcHCwOnTooB9//NHu0IosN7sDuBF+/fVXnThxQq1atZIknTp1SiNGjNAvv/yi9u3bKzo6Wg6Hw+YoAQAAAAC4+f3227Qb+npVqgzPdZtu3brp/PnzmjdvnipXrqw///xTK1eu1N9//50PESInisQMquHDh2vJkiXW89GjR2vOnDlKTU3VpEmTNHPmTBujAwAAAAAAN8qJEyf0v//9Ty+//LLatGmjSpUq6dZbb9ULL7yge+65R/v375fD4VBcXJxLG4fDodWrV7v0tXbtWtWrV0+enp5q2rSptmzZIkkyxqhMmTL65JNPrLr169dX2bJlrec//vij3N3dderUKUnStGnTVKdOHfn4+Cg0NFSDBw+2tp0+fVr+/v76+OOPXV7/q6++ko+Pj06ePJmXh8gWRSJBtXXrVrVo0ULSxUGyYMECRUdH65dfftHzzz+vd9991+YIAQAAAADAjeDr6ytfX199/vnnSklJua6+/vnPf+o///mPYmNjVbZsWd133306f/68HA6HWrVqZSW0jh8/ru3bt+v8+fPavn27pIvrWDVq1Ei+vr6SpGLFimnGjBnaunWr5s2bp++++04jRoyQJPn4+Ojhhx/W3LlzXV5/7ty5euCBB+Tn53dd+1EQFIkE1YkTJ1S6dGlJ0ubNm3X8+HE9+OCDkqQ77rhD+/btszM8AAAAAABwg7i5uSkmJkbz5s1TYGCgWrZsqVGjRunXX3/NdV9jx45Vu3btVKdOHc2bN09//vmnPvvsM0lSZGSklaD6/vvvVa9ePbVt29YqW716tSIjI62+hg0bpjZt2ig8PFxt27bVuHHjtHjxYmv7448/rmXLlunw4cOSpKNHj2rJkiXq37//tR2IAqZIJKhKlSqlQ4cOSZJWrVqloKAgValSRZKUmpoqY4yd4QEAAAAAgBuoW7duOnz4sL788kt16NBBq1evVsOGDRUTE5Orfpo3b279XLJkSVWrVk07duyQdDFBtW3bNh09elRr1qxRZGSkIiMjtWbNGl24cEHr1q1T69atrfarVq1Su3btVL58efn5+enRRx/VsWPHdPr0aUnSrbfeqlq1aum9996TJL3//vuqWLGitd72za5IJKhuv/12RUVF6bXXXtMrr7yie+65x9q2Z88ehYaG2hgdAAAAAAC40Tw9PdWuXTu9+OKLWrdunfr27auxY8eqWLGLqZJLJ7OcP38+x/1m3IStdu3aKlWqlNasWWMlqFq3bq01a9YoNjZWZ8+e1W233SZJOnDggO6++27Vrl1bn3zyiTZu3KjXX38902s//vjj1mV+c+fOVb9+/QrNTd+KRIJq0qRJcjgcGjp0qJxOp1588UVr20cffaRmzZrZGB0AAAAAALBbzZo1dfr0aZUpU0aSlJCQYG27dMH0S61fv976+fjx49q9e7eqV68uSdY6VF988YW2bt2q22+/XXXq1NH58+f15ptvqmHDhtbaURs2bNCFCxc0depUNWvWTFWrVrUu5btU7969dfDgQc2YMUPbtm1Tnz598mr3bedmdwA3Qnh4uHbu3Km///5bJUuWdNk2c+ZMBQcH2xQZAAAAAAC4kY4dO6bu3burf//+qlu3rvz8/LRhwwZNmTJFnTt3lpeXl5o1a6bJkycrLCxMR48e1b/+9a8s+3rppZdUqlQpBQUFafTo0SpdurS6dOlibY+MjNSzzz6rBg0ayN/fX5LUqlUrLViwQMOHD7fq3XLLLbpw4YJee+01derUSWvXrtWbb76Z6fVKlCihrl276p///Kfat2+vChUq5O3BsVGRmEGV4fLklCTVqVPHyo4CAAAAAIDCzdfXV02bNtUrr7yiVq1aqXbt2hozZowGDBigmTNnSpLeffddnT9/Xo0bN9bQoUM1fvz4LPuaPHmyhg4dqkaNGikhIUFffvmlPDw8rO1t2rRRWlqay2LorVu3Vlpamsv6U/Xr19e0adP08ssvq3bt2lqwYIEmTZqU5Ws+9thjSk1NLTSLo2dwmCKyQvj+/fs1adIkrVq1SseOHVOpUqXUpk0bjRw5UuHh4XaHl0lycrICAgKUlJRkZVkB5J+oqCi7QyjUOL4AAKAwK0znb+fOnVN8fLzCw8Pl6elpdzjIwoIFCzR06FAdPnzYJRlWEOVmPBWJGVRxcXFq0KCBYmJiVL58ebVv317ly5dXTEyMGjRokO21pAAAAAAAAAXBmTNntG3bNk2aNEkDBw4s8Mmp3CoSCaphw4apTJky2rNnj1atWqVFixZp1apV2r17t8qWLatnn33W7hABAAAAAACyNWXKFNWvX19BQUF64YUX7A4nzxWJBNXPP/+s6OhoVaxY0aW8UqVKioqK0k8//WRTZAAAAAAAAFcXFRWl8+fPa+XKlfL19bU7nDxXJBJUAQEBCggIyHJbYGDgTX+NMAAAAAAAwM2sSCSoevbsqbfffjvLbXPmzFGPHj1ucEQAAAAAAADI4GZ3ADdCw4YN9fHHH+vWW29Vjx49FBwcrCNHjmjRokVKTExU9+7d9emnn1r1u3btamO0AAAAAAAARUuRSFA98sgjkqRDhw5pw4YNWW43xkiSHA6H0tLSbmh8AAAAAAAARVmRSFCtWrXK7hAAAAAAAACQjSKRoGrdurXdIQAAAAAAACAbRWKRdAAAAAAAgPwSGRmpYcOG2R3GTa3QzqDq37+/xowZo/DwcPXv3/+KdR0Oh955550bFBkAAAAAALCDw+G44vY+ffooJiYm1/1++umncnd3v8aoIBXiBNWqVas0dOhQSdJ33313xUF4tQEKAAAAAAByZu6ewzf09fpFhOS4bkJCgvXzhx9+qBdffFG7du2yyry8vFzqnz9/PkeJp5IlS+Y4BmSt0F7iFx8fr3r16kmS9u/fr/j4+Gwf+/btszlaAAAAAACQ34KDg61HQECAHA6H9fzcuXMKDAzU4sWLFRkZKU9PT82fP1/Hjh1Tjx49VKFCBXl7e6tOnTpatGiRS7+XX+IXFhamiRMnqn///vLz81PFihX11ltv3eC9vbkU2gRVhnPnzmnUqFHauHGj3aEAAAAAAIAC7vnnn9czzzyjHTt2qEOHDjp37pwaNWqkJUuWaOvWrXriiSf0yCOP6KeffrpiP1OnTlXjxo21adMmDR48WE8++aR27tx5g/bi5lPoE1Senp565ZVXdPr0abtDAQAAAAAABdywYcPUtWtXhYeHKyQkROXLl9dzzz2n+vXrq3Llynr66afVoUMHffTRR1fs5+6779bgwYNVpUoVPf/88ypdurRWr159Y3biJlToE1SSVKNGDcXHx+dL35MmTZLD4XCZymeMUVRUlEJCQuTl5aXIyEht27YtX14fAAAAAADkncaNG7s8T0tL04QJE1S3bl2VKlVKvr6+Wr58uQ4ePHjFfurWrWv9nHEpYWJiYr7EXBgUiQTVmDFjNH78eO3duzdP+42NjdVbb73lMugkacqUKZo2bZpmzpyp2NhYBQcHq127djp58mSevj4AAAAAAMhbPj4+Ls+nTp2qV155RSNGjNB3332nuLg4dejQQampqVfs5/LF1R0Oh9LT0/M83sKi0N7F7+DBgypXrpzc3d01d+5cnTlzRjVq1FDdunVVrlw5lzv3ORwOffHFF7nq/9SpU+rVq5fmzJmj8ePHW+XGGE2fPl2jR49W165dJUnz5s1TUFCQFi5cqIEDB+bNDgIAAAAAgHz3ww8/qHPnzurdu7ckKT09XXv27FGNGjVsjqxwKbQzqMLDwxUXFydJ+vXXX+Xh4aHy5cvr2LFj2rp1q7Zs2eLyyK0hQ4bonnvu0Z133ulSHh8fryNHjqh9+/ZWmdPpVOvWrbVu3brr2icAAAAAAHBjValSRStWrNC6deu0Y8cODRw4UEeOHLE7rEKn0M6gMsbIGCNJ2r9/f572/cEHH+iXX35RbGxspm0ZgzQoKMilPCgoSAcOHMi2z5SUFKWkpFjPk5OT8yhaAAAAAABwrcaMGaP4+Hh16NBB3t7eeuKJJ9SlSxclJSXZHVqhUmgTVPnl0KFDGjp0qJYvXy5PT89s6116CaF0MWF2edmlJk2apOjo6DyLE0DutAstY3cIAAAAQKHQLyLE7hBypG/fvurbt6/1PCwszJrocqmSJUvq888/v2Jfl9+dL6uJMhlXeSFrhfYSPylzkigvbNy4UYmJiWrUqJHc3Nzk5uamNWvWaMaMGXJzc7NmTl0+3S8xMTHTrKpLvfDCC0pKSrIehw4dyvPYAQAAAAAACqJCPYOqZ8+e8vLyumo9h8OhzZs356jPO+64I9OaVf369VP16tX1/PPPq3LlygoODtaKFSvUoEEDSVJqaqrWrFmjl19+Odt+nU6nnE5njmIAAAAAAAAoTAp1gsrf31/+/v552qefn59q167tUubj46NSpUpZ5cOGDdPEiRMVERGhiIgITZw4Ud7e3urZs2eexgIAAAAAAFAYFOoE1axZs3Trrbfe8NcdMWKEzp49q8GDB+v48eNq2rSpli9fLj8/vxseCwAAAAAAQEFXqBNUN8rli6E5HA5FRUUpKirKlngAAAAAAABuJiSoAEBSXGwNu0Mo1Fo+ZncEAAAAyI2s7mYH5FZuxlGhvosfAAAAAADIOXd3d0nSmTNnbI4EhUFqaqokqXjx4letW2hnUMXHx6tcuXJ2hwEAAAAAwE2jePHiCgwMVGJioiTJ29tbDofD5qhwM0pPT9dff/0lb29vubldPf1UaBNUlSpVsjsEAAAAAABuOsHBwZJkJamAa1WsWDFVrFgxR0nOQpugAgAAAAAAuedwOFSuXDmVLVtW58+ftzsc3MQ8PDxUrFjOVpciQQUAAAAAADIpXrx4jtYOAvICi6QDAAAAAADAVoU2QVWyZEn98ssvkqSXXnpJhw8ftjkiAAAAAAAAZKXQJqhOnjxp3c4wOjpav//+u80RAQAAAAAAICuFdg2qkJAQffPNN6pSpYqMMUpOTtbff/+dbf2SJUvewOgAAAAAAACQodAmqB555BGNGzdO48ePl8PhUIcOHa5YPy0t7QZFBgAAAAAAgEsV2gTV+PHjdeutt2rLli0aM2aMHnvsMVWoUMHusAAAAAAAAHCZQpugkqT77rtP9913n95++2099dRTqlevnt0hAQAAAAAA4DKFOkGVIT4+3u4QAAAAAAAAkI0ikaCSpL///luvvPKKVq5cqWPHjql06dK68847NWzYMJUoUcLu8AAAAAAAAIqsYnYHcCP88ccfatiwoSZMmKCkpCRVrFhRJ06c0Lhx49SwYUMdPnzY7hABAAAAAACKrCKRoBo1apTOnj2rn376Sdu2bdOKFSu0bds2/fTTTzp79qxGjRpld4gAAAAAAABFVpFIUH377bcaP368mjRp4lLepEkTvfTSS/rmm29sigwAAAAAAABFIkGVlJSksLCwLLeFh4crKSnpxgYEAAAAAAAAS5FIUIWHh2vp0qVZbvvmm28UHh5+gyMCAAAAAABAhiJxF79+/fpp5MiRSk9PV58+fVSuXDklJCRo/vz5eu211zR58mS7QwQAAAAAACiyikSC6p///Kf27t2rmTNn6vXXX7fKjTF64okn9Nxzz9kYHQAAAAAAQNFWJBJUDodDs2fP1vDhw7Vq1SodO3ZMpUqVUtu2bVW1alW7wwMAAAAAACjSikSCKkO1atVUrVo1u8MAAAAAAADAJYrEIukAAAAAAAAouEhQAQAAAAAAwFYkqAAAAAAAAGArElQAAAAAAACwFQkqAAAAAAAA2KpIJKiKFy+un3/+OcttGzduVPHixW9wRAAAAAAAAMhQJBJUxphst6Wnp8vhcNzAaAAAAAAAAHCpIpGgkpRtEmrjxo0KCAi4wdEAAAAAAAAgg5vdAeSXV199Va+++qqki8mpLl26yOl0utQ5e/asEhMT9cADD9gRIgAAAAAAAFSIE1Rly5ZVrVq1JEn79+9X5cqVFRgY6FLH6XSqTp06Gjp0qA0RAgAAAAAAQCrECaoePXqoR48ekqQ2bdpo1qxZql69us1RAQAAAAAA4HKFNkF1qVWrVtkdAgAAAAAAALJRJBJU0sU7+cXGxurAgQM6e/Zspu2PPvqoDVEBKCjcRm60O4RCrq3dAQAAAAAowIpEgmr37t267777tGfPHhljMm13OBwkqAAAAAAAAGxSJBJUQ4YM0blz5/Thhx+qbt26me7mBwAAAAAAAPsUiQTVzz//rDlz5uiBBx6wOxQAAAAAAABcppjdAdwIvr6+8vf3tzsMAAAAAAAAZKFIJKj69eunhQsX2h0GAAAAAAAAslAkLvGrXbu2Fi1apPvuu0+dOnVSqVKlMtXp2rWrDZEBKCgGxoy3O4TCLeqfdkcAAAAAoAArEgmqnj17SpLi4+O1ZMmSTNsdDofS0tJudFgAAAAAAABQEUlQrVq1yu4QAAAAAAAAkI0ikaBq3bq13SEAAAAAAAAgG0VikXQAAAAAAAAUXEViBlXbtm2vuN3hcGjlypU3KBoAAAAAAABcqkgkqNLT0+VwOFzKjh49ql27dqls2bKqWrWqTZEBAAAAAACgSCSoVq9enWX57t271blzZ40dO/bGBgQAAAAAAABLkV6DqmrVqvrnP/+pESNG5LjNrFmzVLduXfn7+8vf31/NmzfXN998Y203xigqKkohISHy8vJSZGSktm3blh/hAwAAAAAAFApFOkElSWFhYdq6dWuO61eoUEGTJ0/Whg0btGHDBrVt21adO3e2klBTpkzRtGnTNHPmTMXGxio4OFjt2rXTyZMn82sXAAAAAAAAbmpFPkH1ySefKCQkJMf1O3XqpLvvvltVq1ZV1apVNWHCBPn6+mr9+vUyxmj69OkaPXq0unbtqtq1a2vevHk6c+aMFi5cmI97AQAAAAAAcPMqEmtQ9e/fP1NZSkqKfv31V23fvl1Tpky5pn7T0tL00Ucf6fTp02revLni4+N15MgRtW/f3qrjdDrVunVrrVu3TgMHDsy2r5SUFKWkpFjPk5OTrykmAAAAAACAm02RSFB99913me7i5+npqbCwML3wwgvq2bNnrvrbsmWLmjdvrnPnzsnX11efffaZatasqXXr1kmSgoKCXOoHBQXpwIEDV+xz0qRJio6OzlUcAAAAAAAAhUGRSFDt378/T/urVq2a4uLidOLECX3yySfq06eP1qxZY22/PBlmjMlUdrkXXnhBw4cPt54nJycrNDQ0T+MGAAAAAAAoiIpEgiqveXh4qEqVKpKkxo0bKzY2Vq+++qqef/55SdKRI0dUrlw5q35iYmKmWVWXczqdcjqd+Rc0AAAAAABAAVVkFkn/+++/NWbMGLVo0ULVqlVTy5YtNXbsWB0/fvy6+zbGKCUlReHh4QoODtaKFSusbampqVqzZo1atGhx3a8DAAAAAABQGBWJGVR//PGHWrZsqYMHD6pGjRqqWLGiDh8+rHHjxum9997T2rVrc3wnv1GjRqljx44KDQ3VyZMn9cEHH2j16tX69ttv5XA4NGzYME2cOFERERGKiIjQxIkT5e3tnet1rgAAAAAAAIqKIpGgGjVqlM6ePauffvpJTZo0scpjY2PVqVMnjRo1SjExMTnq688//9QjjzyihIQEBQQEqG7duvr222/Vrl07SdKIESN09uxZDR48WMePH1fTpk21fPly+fn55ceuAQAAAAAA3PQcxhhjdxD5LSgoSOPHj9eAAQMybXvrrbc0ZswY/fnnnzZElr3k5GQFBAQoKSlJ/v7+docDFHphI5faHUKhtn/yPXaHAAAAkG84fwOuX5FYgyopKUlhYWFZbgsPD1dSUtKNDQgAAAAAAACWIpGgCg8P19KlWc+O+OabbxQeHn6DIwIAAAAAAECGIrEGVb9+/TRy5Eilp6erT58+KleunBISEjR//ny99tprmjx5st0hAgAAAAAAFFlFIkH1z3/+U3v37tXMmTP1+uuvW+XGGD3xxBN67rnnbIwOAAAAAACgaCsSCSqHw6HZs2dr+PDhWrVqlY4dO6ZSpUqpbdu2qlq1qt3hAQAAAAAAFGlFIkGVoVq1aqpWrZrdYQAAkKfm7jlsdwiFWr+IELtDAAAAKPQK7SLpx48fV7du3bRkyZJs6yxZskTdunXTsWPHbmBkAAAAAAAAuFShTVC9/fbb2rx5s+66665s69x1113asmWLy7pUAAAAAAAAuLEKbYLqgw8+0IABA+Tmlv1VjG5ubhowYIC+/PLLGxgZAAAAAAAALlVoE1S7d+9W48aNr1qvYcOG2r179w2ICAAAAAAAAFkptAmqCxcuyN3d/ar13N3ddf78+RsQEQAAAAAAALJSaBNU5cqV0/bt269ab9u2bQoODr4BEQEAAAAAACArhTZB1bp1a73xxhtXnB11/vx5zZo1S23atLmBkQEAAAAAAOBShTZB9eyzz2rnzp26//77dfjw4UzbDx8+rC5dumjXrl169tlnbYgQAAAAAAAAkpT9Le5ucnXr1tXrr7+uwYMHKzw8XI0aNVJ4eLgkKT4+Xhs3blR6erpmzZqlOnXq2BwtAAAAAABA0VVoE1SSNGDAANWuXVsTJ07UqlWrtH79ekmSt7e37rrrLr3wwgtq1qyZzVECAAAAAAAUbYU6QSVJzZs311dffaX09HQdPXpUklS6dGkVK1Zor24EAAAAAAC4qRT6BFWGYsWKqWzZsnaHAQAAAAAAgMswjQgAAAAAAAC2IkEFAAAAAAAAW5GgAgAAAAAAgK1IUAEAAAAAAMBWJKgAAAAAAABgKxJUAAAAAAAAsBUJKgAAAAAAANiKBBUAAAAAAABsRYIKAAAAAAAAtiJBBQAAAAAAAFuRoAIAAAAAAICtSFABAAAAAADAViSoAAAAAAAAYCsSVAAAAAAAALAVCSoAAAAAAADYigQVAAAAAAAAbEWCCgAAAAAAALYiQQUAAAAAAABbkaACAAAAAACArUhQAQAAAAAAwFYkqAAAAAAAAGArElQAAAAAAACwFQkqAAAAAAAA2IoEFQAAAAAAAGxFggoAAAAAAAC2IkEFAAAAAAAAW5GgAgAAAAAAgK1IUAEAAAAAAMBWJKgAAAAAAABgKxJUAAAAAAAAsBUJKgAAAAAAANiKBFUuTZo0SU2aNJGfn5/Kli2rLl26aNeuXS51jDGKiopSSEiIvLy8FBkZqW3bttkUMQAAAAAAQMFGgiqX1qxZoyFDhmj9+vVasWKFLly4oPbt2+v06dNWnSlTpmjatGmaOXOmYmNjFRwcrHbt2unkyZM2Rg4AAAAAAFAwudkdwM3m22+/dXk+d+5clS1bVhs3blSrVq1kjNH06dM1evRode3aVZI0b948BQUFaeHChRo4cKAdYQMAAAAAABRYzKC6TklJSZKkkiVLSpLi4+N15MgRtW/f3qrjdDrVunVrrVu3zpYYAQAAAAAACjJmUF0HY4yGDx+u2267TbVr15YkHTlyRJIUFBTkUjcoKEgHDhzItq+UlBSlpKRYz5OTk/MhYgAAAAAAgIKHBNV1eOqpp/Trr7/qf//7X6ZtDofD5bkxJlPZpSZNmqTo6Og8jxEAAKAgm7vnsN0hFGr9IkLsDgEAgBzhEr9r9PTTT+vLL7/UqlWrVKFCBas8ODhY0v/NpMqQmJiYaVbVpV544QUlJSVZj0OHDuVP4AAAAAAAAAUMCapcMsboqaee0qeffqrvvvtO4eHhLtvDw8MVHBysFStWWGWpqalas2aNWrRokW2/TqdT/v7+Lg8AAAAAAICigEv8cmnIkCFauHChvvjiC/n5+VkzpQICAuTl5SWHw6Fhw4Zp4sSJioiIUEREhCZOnChvb2/17NnT5ugBAAAAAAAKHhJUuTRr1ixJUmRkpEv53Llz1bdvX0nSiBEjdPbsWQ0ePFjHjx9X06ZNtXz5cvn5+d3gaAEAAAAAAAo+ElS5ZIy5ah2Hw6GoqChFRUXlf0AAAAAAAAA3ORJUyDPchSd/cRceAAAAAEBhxSLpAAAAAAAAsBUJKgAAAAAAANiKBBUAAAAAAABsRYIKAAAAAAAAtiJBBQAAAAAAAFuRoAIAAAAAAICtSFABAAAAAADAViSoAAAAAAAAYCsSVAAAAAAAALAVCSoAAAAAAADYigQVAAAAAAAAbOVmdwAAAOD6VP3+M7tDKNwihtgdAQAAQKHHDCoAAAAAAADYigQVAAAAAAAAbEWCCgAAAAAAALYiQQUAAAAAAABbkaACAAAAAACArbiLHwAAN7m42Bp2h1CotXzM7ggKtwML3rI7hMItKsruCAAAyBFmUAEAAAAAAMBWJKgAAAAAAABgKxJUAAAAAAAAsBUJKgAAAAAAANiKBBUAAAAAAABsxV38kGe4C08+4y48AAAAAIBCihlUAAAAAAAAsBUJKgAAAAAAANiKBBUAAAAAAABsRYIKAAAAAAAAtiJBBQAAAAAAAFtxFz8AAG5yQ4LvtzuEQi7J7gAKtXahZewOAQAAFADMoAIAAAAAAICtSFABAAAAAADAViSoAAAAAAAAYCsSVAAAAAAAALAVCSoAAAAAAADYirv4Ic+UOdLK7hAAoEgKO7fQ7hAKtf12B1DIxcXWsDuEQq3lY3ZHAABAzjCDCgAAAAAAALYiQQUAAAAAAABbkaACAAAAAACArUhQAQAAAAAAwFYkqAAAAAAAAGArElQAAAAAAACwFQkqAAAAAAAA2IoEFQAAAAAAAGxFggoAAAAAAAC2IkEFAAAAAAAAW5GgAgAAAAAAgK3c7A4AhceQ4PvtDqGQS7I7AAAAAAAA8gUzqAAAAAAAAGArElTX4Pvvv1enTp0UEhIih8Ohzz//3GW7MUZRUVEKCQmRl5eXIiMjtW3bNnuCBQAAAAAAKOBIUF2D06dPq169epo5c2aW26dMmaJp06Zp5syZio2NVXBwsNq1a6eTJ0/e4EgBAAAAAAAKPtagugYdO3ZUx44ds9xmjNH06dM1evRode3aVZI0b948BQUFaeHChRo4cOCNDBUAAAAAAKDAYwZVHouPj9eRI0fUvn17q8zpdKp169Zat25dtu1SUlKUnJzs8gAAAAAAACgKmEGVx44cOSJJCgoKcikPCgrSgQMHsm03adIkRUdH52tsAAAABc2/A8/aHUKhNsTuAAAAyCFmUOUTh8Ph8twYk6nsUi+88IKSkpKsx6FDh/I7RAAAAAAAgAKBGVR5LDg4WNLFmVTlypWzyhMTEzPNqrqU0+mU0+nM9/gAAAAAAAAKGmZQ5bHw8HAFBwdrxYoVVllqaqrWrFmjFi1a2BgZAAAAAABAwcQMqmtw6tQp/fbbb9bz+Ph4xcXFqWTJkqpYsaKGDRumiRMnKiIiQhEREZo4caK8vb3Vs2dPG6MGAAAAAAAomEhQXYMNGzaoTZs21vPhw4dLkvr06aOYmBiNGDFCZ8+e1eDBg3X8+HE1bdpUy5cvl5+fn10hAwAAAAAAFFgkqK5BZGSkjDHZbnc4HIqKilJUVNSNC6oACDu30O4QCrX9dgcAAAAAAEA+YQ0qAAAAAAAA2IoEFQAAAAAAAGxFggoAAAAAAAC2IkEFAAAAAAAAW5GgAgAAAAAAgK1IUAEAAAAAAMBWJKgAAAAAAABgKxJUAAAAAAAAsBUJKgAAAAAAANiKBBUAAAAAAABsRYIKAAAAAAAAtiJBBQAAAAAAAFuRoAIAAAAAAICtSFABAAAAAADAViSoAAAAAAAAYCsSVAAAAAAAALAVCSoAAAAAAADYigQVAAAAAAAAbEWCCgAAAAAAALYiQQUAAAAAAABbkaACAAAAAACArUhQAQAAAAAAwFYkqAAAAAAAAGArElQAAAAAAACwFQkqAAAAAAAA2IoEFQAAAAAAAGxFggoAAAAAAAC2IkEFAAAAAAAAW5GgAgAAAAAAgK1IUAEAAAAAAMBWJKgAAAAAAABgKxJUAAAAAAAAsBUJKgAAAAAAANiKBBUAAAAAAABsRYIKAAAAAAAAtiJBBQAAAAAAAFuRoAIAAAAAAICtSFABAAAAAADAViSoAAAAAAAAYCsSVAAAAAAAALAVCSoAAAAAAADYigQVAAAAAAAAbOVmdwAAAAAAcDOau+ew3SEUav0iQuwOAcANxAwqAAAAAAAA2IoEFQAAAAAAAGxFggoAAAAAAAC2IkEFAAAAAAAAW5GgAgAAAAAAgK24ix8AAAAAXIPodzbZHUKh1m8yd/EDihJmUOWjN954Q+Hh4fL09FSjRo30ww8/2B0SAAAAAABAgUOCKp98+OGHGjZsmEaPHq1Nmzbp9ttvV8eOHXXw4EG7QwMAAAAAAChQSFDlk2nTpumxxx7T448/rho1amj69OkKDQ3VrFmz7A4NAAAAAACgQCFBlQ9SU1O1ceNGtW/f3qW8ffv2WrdunU1RAQAAAAAAFEwskp4Pjh49qrS0NAUFBbmUBwUF6ciRI1m2SUlJUUpKivU8KSlJkpScnJx/geax9JQzdodQqN1MY+FmxPjNX4zf/MX4zV+M3/zF+M1fjN/8xfjNXzfT+M2I1RhjcyTAzYsEVT5yOBwuz40xmcoyTJo0SdHR0ZnKQ0ND8yU23HwCptsdAXDtGL+4mTF+cTNj/OJmdjOO35MnTyogIMDuMICbEgmqfFC6dGkVL14802ypxMTETLOqMrzwwgsaPny49Tw9PV1///23SpUqlW1SC9cuOTlZoaGhOnTokPz9/e0OB8gVxi9uZoxf3MwYv7iZMX7zlzFGJ0+eVEhIiN2hADctElT5wMPDQ40aNdKKFSt0//33W+UrVqxQ586ds2zjdDrldDpdygIDA/MzTEjy9/fnP2jctBi/uJkxfnEzY/ziZsb4zT/MnAKuDwmqfDJ8+HA98sgjaty4sZo3b6633npLBw8e1KBBg+wODQAAAAAAoEAhQZVPHnroIR07dkwvvfSSEhISVLt2bX399deqVOn/sXfXUVVm++PH3wc4lKCCiYWBOmNjd441FmKPnYg4mNiB3aAiBiIGFgYW2DF2AQaKjh1ji0HnOb8//PEMTH1n7p3Lg/p5rXXXlSfOfM5aez1n78+z92fbqh2aEEIIIYQQQgghRJYiCar/oSFDhjBkyBC1wxB/wMTEhKlTp/5uWaUQnwNpv+JzJu1XfM6k/YrPmbRfIURWp9HLPphCCCGEEEIIIYQQQkUGagcghBBCCCGEEEIIIb5ukqASQgghhBBCCCGEEKqSBJUQQgghhBBCCCGEUJUkqIQQQgghhBBCCCGEqiRBJb4YOp1O7RCEEOKrJPutCCGEOjZs2MC1a9fUDkMIIf4VkqASXwSdToeBwafm/NNPP3H37l2VIxLin5EEq/hc6XQ6NBoNAL/88guJiYkqRyTEP/PbBKskXMXnQK/XEx8fj7OzM05OTty8eVPtkIQQ4r8mCSrx2dPr9Upyavz48YwcOZKffvqJmJgY6WSKz0L6BKu/vz9nzpwhOTlZ5aiE+L+lb7vTpk1jyJAhXL16lZSUFJUjE+LvSZ9gjY6OJjY2VvlbiKzOzMyMR48e8fr1awYNGkR4eLjaIQkhxH9FElTis5fWkXR3d8fX1xdPT0969OiBhYWFdDJFlpc+wTpu3DjGjBnDtWvXiIuLUzkyIf5v6dvuypUr6d69O8WKFcPIyEjlyIT4e9LasLu7O23atKFs2bJMmDCBo0ePqhyZEH9No9GQlJREnjx5OHv2LPfv32fSpEmy3E8I8VmTHqT4LO3bt48GDRqQPXt2AO7fv8+ePXvw9/enQYMGvHr1ivDwcPbs2UOFChXo0qWLyhEL8XvpZ5/Mnz8fPz8/Dh06RPny5WWALz4bJ06cYNOmTezatYuaNWuSnJzMy5cvuXv3LgULFqR48eJqhyjE76R//np4eLBs2TImTZrE8+fPOXfuHEePHuXDhw907NhR5UiF+GN6vR5jY2O2b9/O5cuXKVasGPv27SM6OpqlS5dSrlw5tUMUQoh/TGZQic9OYGAg7dq1w8/Pj5iYGACsra1JSUnh2rVrnD9/Hjc3NwYNGsTRo0fp1q0ba9euVTlqIX41duxYQkJCMDAwQKfTkZiYSGhoKG5ubtjb2/Ps2TOCgoJo2bIlEydO5MyZM2qHLITit0unU1JSyJs3L7a2toSFhTFlyhTq1q1L9+7dGTBgADdu3FApUiH+XFpy6vbt2zx48IDVq1czfPhw5s+fz8KFC6lQoQJLlizh+vXrKkcqxB/TaDT89NNP9OrVi5IlSzJnzhyCgoK4ffs2zs7O8uwVQnyWJEElPjuOjo7MmTMHNzc3Vq9eTVRUFCYmJjRq1IgtW7ZQv359rK2tmTt3LhcvXqRdu3ZERESoHbYQAFy/fp3Tp0/j4uLCtWvXMDAwIDU1lTt37nD27Fm2bNmCi4sLHh4eGBkZERQUxMaNG0lJSZGaakJ1V65c4f3798CnZX27du2iUKFC3Lhxgx49etCoUSNev37N9OnT8fHx4eHDh7x8+VLlqIX4Pb1ez+HDhylTpgwbNmzIUDetatWqDBw4kOfPn3P79m0VoxTir506dYqqVavSv39/GjZsyPfff8+lS5e4f/8+w4YNkwSrEOKzIwkq8VlJ2+ls7NixzJgxg1GjRuHr64u5uTnTp09n8+bNXLp0icWLF9OiRQsAXr9+Te7cudUMWwhFhQoVmD59Ovnz52fgwIFcuXIFc3NzVqxYwY0bN3Bzc6Nq1arMmDGDffv24ejoyNOnTzE0NJSaakI1er2eJ0+eUKVKFebPn4+zszPe3t7Y2dnx7bffcubMGZo2bYq/vz8eHh788MMPNGzYECsrKxISEtQOXwgg426pGo2GZs2aMXnyZGJiYjh37hwfPnxQzteoUYP8+fNz8uRJFSIV4q+lvbD6+PEjsbGxyozAhIQEChUqxJIlSzhx4gQuLi7yklYI8VmRIifis5K2JMrAwIBx48YBMHr0aPR6PU5OTpQpUwaA2NhYHj58iJubG7GxsYwaNUrNsIUAPnUoNRoN3333HQBLlizBycmJFStWULNmTS5dukR8fDwFCxYEIDU1lfPnz1O0aFFJTglVaTQaihQpwsGDB2nTpg2GhoYcOHCA8uXLo9PpqFatGlWrVlWK9n748IFu3bphbGxMy5Yt1Q5fCODXZX3btm3DxMSEdu3aMW3aNBITE1m4cCElS5akW7duWFlZERUVRXR0NAUKFFA5aiF+L61P4OjoiLe3N6tWrcLJyQlTU1Pg0+5+TZs25cmTJ5ibm6sZqhBC/COSoBKfhfTFTNP+Hz4tMdHpdLi5uWFgYED//v3Jnj0727dvZ/fu3SQmJnL58mWMjIxITU3F0NBQra8gBBqNRmmH3333HTqdDi8vL5ydnVm5ciWVK1cGICoqipMnT+Lj48OzZ8/Yt28f8GuCS4jMptfr0el0aLVajIyMiI+P58CBA3zzzTfky5cP+PSc1uv1zJs3j+DgYABOnz6NoaGhPH9FlvH69WsmTpyInZ0dJiYmtGjRgrlz55KcnMzQoUPZt28fFSpUUJb2jRkzRuWIhfj19z88PJyff/4ZjUZD2bJlqVOnjlI7TafT4ezsTGJiIufOnaN69eoEBQWh1WrVDl8IIf42SVCJLC99cio4OJjIyEi0Wi2tW7fG0tKSCRMmoNfrGTVqFBqNBldXV9q0aUOBAgVo0qQJhoaGpKSkyK5oQjXp23D6QXqzZs3Q6XR4e3szePBgVq9eTcWKFXn06BHr1q3D0NCQsLAwtFqttGGhirS2q9FoMDQ0pFGjRsTGxhIcHEybNm1ISkpi3Lhx5M2bV2nbP/zwA4aGhowZMwYjIyNpu0JVv03s582blx07duDs7MyyZcvQ6/W0bNmSRYsWYWZmxuzZszE0NMTBwYEBAwYAkJycLIN8oSqNRsPOnTsZPnw4NjY2WFhYEBYWxu7du3F1dcXIyIiRI0eyZMkSTE1NefToESdOnJB2K4T47Gj0UnVXZGHpO5bjxo1j3bp12NnZce3aNVq0aMHQoUNp0KABALNnz2bq1KlMmjSJiRMnKgOi9MkBITJb+va3bt06Ll68iLm5OVWrVqVbt24AHDx4kOXLl/Py5Ut8fX2pUKECjx8/pnDhwhgYGMgAX6gifds9ceIE79+/p0qVKuTPnx8TExO2bdtG165dGTVqFKNGjSJ//vx06tSJgQMH0qxZMwCZOSWyjFevXimz/eDThhUDBgwgb968uLq6Km12/PjxLF26lKVLl9KvXz+ZtSqyhJCQEJo3b87s2bNxcnLi4sWL1KpVi3HjxjF79mzi4+P5+eefCQ4OJnv27DRv3pxSpUqpHbYQQvxjMuIRWVpax9DDw4NNmzYRFBRE1apV8fX1ZdCgQcTHx6PX62nYsCETJkwgOjqaI0eOMGXKFOUzJDkl1JTW/saOHcvGjRtp1qwZcXFxjBkzhl9++QU3NzdatGiBRqNhxYoVtG3blsOHDysdS51OJ8kpken0er3SdkePHs3mzZuJiYmhZMmSdOnSBRcXFzp37gxAjx49iIiI4NWrV0RFRdGoUSPlcyQ5JbICb29vDh8+jLu7O/b29sCnDSt8fHzo2LEjc+bMAT7Nap0zZw4pKSm4urqSkJBAv379MDMzUzN8Ibh79y6NGjXCycmJx48f06lTJ5ydnZk9ezYA79+/p1KlSlSqVEndQIUQ4r8kI3eR5UVGRnLv3j2mT59O1apV2blzJ25ubkyePJlr167h7u7O8ePHAZgzZw6nT59Go9EgkwNFVrF27Vp27NhBYGAga9eupWnTprx69YrJkyczefJkAJo3b07fvn3p3LkzJUqUUO6VBKvIbOlnrp4+fZqzZ8+yc+dOrl27Ro0aNdi1axdz584lJiaGzp07s2fPHuzs7GjQoAERERHKklQhsgo7OztCQ0NZvHgxV65cUY5XqlSJWbNmERISwqxZszh79iwACxYsoFevXkyfPp2kpCS1whZfsbQ+7NWrV3n58iXv378nJiaGO3fuUK9ePVq2bImXlxcAR44cwcPDg48fP6oZshBC/CtkiZ/I8pKSkjh79iwVKlTg2bNnODo68uOPPzJs2DA2bdpEv379qFmzJosWLaJq1arKj7pMyxdZQUpKCrNmzcLMzIwxY8awb98+evbsyaRJk4iOjmbmzJnMmzeP0aNHZ7hPlkYJte3cuZP9+/eTM2dOFi1aBHzawnzSpEmcOXOGZs2aMXbsWLJly0ZSUhLGxsYAsiRVqOrPlvUfPXqUgQMHUqdOHUaNGqXMpNq6dSvbtm0jT548rFixIsO9r1+/Jm/evJkWuxDpBQcH079/fzZv3kxsbCyTJ0/mxYsXtGnTBl9fX+VlwrBhw4iMjGTFihVYWlqqHbYQQvxXJEElspQ/61gmJCRgamqKt7c3O3fuZOfOnVhZWbFmzRr279+PhYUFa9euldkmQnV/tNPex48fefPmDaampjRv3pz+/fszcuRIzp49S7NmzYiPj8fb2xtnZ2eVohYio4SEBDp06MBPP/1EnTp1OHz4cIZzkyZN4vz581SvXp25c+diYmKiYrRCfJK+D3Ho0CHevHmDiYkJ3333HVZWVhw/fpwBAwZQu3ZtOnbsSL169ejfvz/NmzdXnr86nQ74NHtVdk4VmS2tzX348IExY8bwzTffMHLkSODTcurNmzcr5QJSU1Px9PRkzZo1nDx5kjJlyqgcvRBC/PckQSWyjPQdwZUrV/Lzzz9jYWHBwIEDKVKkCDqdDnd3dw4ePMimTZsoVKgQXbt2pXXr1gwcOBCQguhCXenbX1RUFJaWlhkGN0eOHGHkyJEcPXqUfPnyceXKFTw8POjYsSOtW7eWGVNCNX/07Hz37h2jR4/m1KlTDB8+nMGDByszoxITExk6dCgajYZVq1bJIF5kKaNHjyYgIEBJnEZHR7N7925q1arFiRMnmDJlCvfv30er1WJtbc2lS5fQarWSkBKq2L9/PxUqVKBQoUIAnD17lr59+2JlZcXs2bNp0qSJcq2DgwO3b9/m5cuXlCtXjufPn7Nz505lRqAQQnzuJEElsoT0g6Px48ezZs0aKlWqxOvXr4mMjOTo0aOULl2akJAQmjZtSr58+UhKSiJbtmyEhYVJx1KoLn37mz17NqdPnyY6OpqxY8dSp04drK2tOXv2LE2bNsXT05N27drRv39/cuXKxfr169FoNLI0Sqgi/fM3PDwcjUaDRqOhbNmyfPz4kSFDhvDo0SN69uzJoEGDlGuTkpLQarVKzT95/oqswN/fn+HDh3Po0CGKFSvG+/fvmTRpEocOHeL06dOUK1eO+/fv8+zZM96+fUu7du0wNDSU56/IdDqdjnPnztG/f39OnjxJ/vz5lXNVq1YlLCyM5cuXM2jQIOW5DHDu3Dnu379P4cKFKVmyJAULFlTrKwghxL9OElQiS3n16hWzZ8+mT58+2NvbExERwdixYzl16hTnzp2jbNmyhIaGcvbsWQwMDJQ3+tKxFGpKP8BfunQpU6dOxc3NjWPHjvHw4UMGDBhA//79sbKyYty4caxYsQIbGxty5Mghb+6FqtK3u8mTJ7Njxw40Gg0vX77ExcWFKVOmEBsby5AhQ3jy5Am9evWif//+GWb7ycxVoabftr8pU6Zw8+ZNdu7cqRyLi4ujc+fOvHjxgtOnT2Nubp7hM6Tmn8hs6dvt/fv3KVGiBHfu3MHQ0FDZKKVWrVq8ePGCTZs2UatWLXnOCiG+CvKkE1nGxo0bKV68OOfPnydXrlwAlClThsWLF1O/fn3q1q1LREQEVapU4ccff2To0KEYGRmRmpoqySmhqrROY0REBLdv32br1q1MmDCBY8eO0bVrVzZu3Mjq1atJTExkzpw5nDlzhmXLlhESEqLseCbJKaGGtHY3b948Vq5ciY+PDxEREXTv3p158+YRHh5Ozpw58fb2xtbWloULF7Jv374MnyGDJqEWvV6vtD8/Pz8iIyPR6XQZdupLTU3F3NycXr168fHjR969e/e7z5HklMhMacmpy5cvY2VlxYsXL3j8+DENGjRgxYoVPHjwAEDpD/fr14+LFy8qmwDJ3AIhxJdMepUiyyhUqBANGjTg1q1bSpFSvV5PiRIlWLJkCQ0aNKBcuXI8efIkw2BeOpYiK9izZw/169dn3759aLVa5fjs2bNp3749mzdvxsvLi8jISKpUqcL333+PoaGhJFiFKtIPdFJTU7l06RJz586lXr167Ny5k02bNrFkyRIqV65MQkICVlZWLF68mG7dutGmTRuVoxci4+w/T09Pxo0bx5MnT2jevDkWFhbMmTOH+Ph4pY+QL18+tFotiYmJaoYtvnJpyalr167RuHFj+vXrR926dbG1tWXkyJHs3LkTPz8/7t+/D0BoaKhSj/X06dMy21oI8cWTBJVQRVoCKr369eszdepUypQpw3fffcerV6+U2ibFixdn/vz5jB49mgIFCqgQsRB/rV27dnTq1InXr19z+vRpoqKilHOzZs2iQ4cOLFq0iCNHjmS4TxKsIrPpdDplgPPgwQMMDQ25ePEiJUuW5MyZM/Tp04fZs2fj7OxMYmIiU6dOJTQ0lDx58jBt2jQlsSqEmtLacEhICDdu3MDPzw97e3uqVatGw4YNOXjwIO7u7rx8+ZK7d+8yb948ChcuTLFixVSOXHyt0pJTt2/fpn79+ri4uLBo0SKSk5MBcHNzY/jw4axbt461a9dmSFLFxcUxevRoSbAKIb54UoNKZLr06+5PnjxJTEwMxsbGNGrUCCMjI8LCwnB1dSUyMpKffvqJfPny/e6NkdScEmr6q5o7ffv25cyZM4wbN47OnTtjaWmpnPPx8fld/R4hMlP6Z+mYMWM4f/48R44cYdSoUYSHhxMSEoK3tzd9+/YF4O3bt3Tu3JnOnTszePBgeXsvspQdO3YwY8YMYmJi2L59O5UrVwY+7do3e/ZsDhw4QHh4OGXKlMHMzIyzZ8+i1WqlbprIdOlnTjVs2JDk5GSWLl1Kr169MDIyIjk5WZl9vWTJEhYsWECfPn3o168fxYsXB+Dhw4eSYBVCfPEkQSVU4+bmxsaNG8mePTv37t2jVatWDBs2jCZNmhASEsKoUaOIjIzk8OHDMmtKZBnpBzZbt27l5s2b5MyZk5IlS9K2bVsAevbsyaVLlxgzZgxdunTBwsIiw2dIQV6hhvTJpQsXLjBu3Djmzp1LzZo18ff3x93dnRIlShAQEICVlRXv3r2jZ8+eREdHc+LECWmzQnWvXr0iMTERY2Nj8ufPz/Pnzxk+fDj79u3Dzc2N6dOnK9cmJyeTkJDAmTNnyJUrF1WqVJHd+oQq0p69V65coV69egwaNIjo6Ghu3rzJDz/8gJOTE1qt9ndJqsWLF+Pg4MCwYcMoWrSoul9CCCEyiSSoRKZJPzjy8/Nj/PjxBAUFUbx4cZ4/f87gwYPJnj077u7u1KhRg/PnzzNgwAAqVqzI5s2bVY5eiIzGjBnD+vXrsbe35+3btzx69IgBAwYwd+5cAHr16kVISAiDBw9m4MCBmJmZqRyxEJ9s3ryZvXv3Kv9OS7jOmTOHwMBA3r17R7Fixfj48SM6nY4LFy6g1WolsSpUtWvXLjZt2oSRkRFdunShffv2ALx+/ZqhQ4fy+PFjBg0aRP/+/YE/nukqbVio5fnz55QsWRJnZ2cWLlxIVFQULi4u3L9/n+7du+Pk5PS7mVRz587F39+fn376iTx58qj8DYQQInNIgkr8z23cuJEOHTpkGKAPHz6cp0+fsnPnzgxr8h0dHalVqxZr1qxBr9cTERHBN998Ix1Kobr0CdZDhw7Ru3dvdu7cSZ06dXjz5g27du3C1dWVcePG4e7uDnyqS2Vubs7mzZtlWZTIMpydnQkICCBPnjxKAd40p0+f5vLly0RGRlK8eHH69Okjs06E6vz8/Bg7dizu7u5UrFiRunXrAvDs2TMKFizI8+fP+fHHH3nz5o2yLAqQJakiy7h79y537tyhVatWSqL07ySp3r9/j5WVlcrRCyFE5pEElfifWrRoEaGhoWzcuFF5k6nT6Rg4cCAvXrxg//796HQ6UlNT0Wq1BAQEMGjQIG7cuEHhwoWVz5G3nkItTk5OLFu2LMPOfL6+vnh5eXHlyhWlXcfFxeHt7c26devYsWMH3377LfDrW3wZKAk1/Fm7c3d3x8/Pj27dujFmzBhy5cr1p58hz1+hpr1799KrVy+8vb3p3r27crxfv35cuHCBjRs3UrlyZZ49e8awYcN4+/YtHTt2ZOjQoSpGLcRf+7+SVGkvBaTvIIT42kiFSPE/NXLkSDZs2ICBgQHnzp0jKioKAwMD2rZty8GDB9m5cycGBgbK4N/IyAg7O7sMhaVBdjoT6rhz5w4vXrz43fECBQrw8uVLrl27phwzNzenTp06PH36NMMOfgYGBhl2TRMis6Rvdx8/flSW7MGnBFXnzp05duwY3t7evH//Xrnnt+T5K9Sg1+uJj49ny5YtDBo0iC5duijnOnbsyMGDBylQoADOzs6EhYVRsGBBli5dikajISIiAnn/KrIyQ0NDdDod2bNnx9vbW6n/t3jx4gwzVqXvIIT42kiCSvzPpKamotFoMDIy4sCBA/Tq1QsvLy+ioqJo164dw4cPp3v37qxfv57nz5/z8uVL1qxZQ968ecmRI4fa4QtBqVKl2Lt3L1qtlnXr1inbO9va2mJra8u6deu4c+eOcn3BggWxtbVVtoxOI7tFicyWvv7O7Nmz6dy5M2XKlGHKlCmcOnUKgIULF9KgQQP27dvHsmXLiIyMlLYqsgyNRoNOp+PkyZMUKVJEGbCfP38evV5PSEgIEydOpHDhwvTv35+wsDAKFCjAzp07WbZsGRqNRpJUQlXpE/6pqam/O5/2AistSWVtbc2RI0eIjo7OzDCFECJLkSV+4n/it8VJU1NTcXFx4erVq7Rv3x5XV1dSU1OZN28eCxYsIF++fJiammJpacn58+dlG2ihuvTT6l+9ekWZMmUoXrw4Z8+exdjYmNWrV7No0SKqV69Oy5YtKVasGFOmTOHjx4+cP39e2q7IEiZNmsSqVauYP38+ycnJrF69muzZs+Pm5kaLFi2ATzuqBgQEMG3aNPr27atyxEL86uXLl5QqVYolS5ZkaJuxsbFky5YNgKCgIJycnJgyZQpOTk7KNdKHEJktrc0lJiai1WoxMDAgJCSEqlWr/q37oqOjiY6Olp2rhRBfNfnlFv+69J3CjRs3cvz4cQwNDVm+fDlVq1Zl+/bteHl5YWBgwIwZMzh//jze3t4sXryYixcvotVqSUlJkY6lUE36pVGJiYnky5ePI0eOEBsbS7169UhOTmbgwIFMmDCBmJgY+vbty+DBg0lKSuLMmTPKW1Eh1BQcHMz27dsJDg6mb9++fPvtt1y7do13794xd+5cjh07BsCCBQtwc3OjV69eKkcsxK/0ej1WVlZUq1aNNWvWcP/+feWcmZmZMiOlZMmSlCpVilKlSmW4X/oQIrMZGBjw4MED2rZty5s3b9i2bRvVq1fn3Llz/+d9Op0OS0tLSU4JIb56MoNK/KvSzzoZN24cAQEB9OvXjyFDhpArVy50Oh0//vgjFy5coHPnzjg7O5M9e/YMnyEFeYWa0idYvb29AXB0dMTGxoawsDC6du2KlZUVZ86cQavVEhsby5s3b9Dr9dja2mJgYCA7nglV3L59m1evXmFubk6FChV48OABO3fuZNKkSQQHB9O7d28WLFhAsWLF6NChA+XKlWP48OG0b99e+Qx5/oqsxsvLi9GjR+Pk5MSoUaOwtbVVzkVHR9OtWzd0Oh1BQUGSlBKqe/fuHXZ2dtjY2PDzzz/j6+tLnz59pNi5EEL8TZKgEv8T8+bNY+HChRw8eBB7e3vl7VDa/48cOZLz58/z3XffMWnSJMzMzNQOWYgMxowZw7p161iwYAHNmjXDxsYGgCtXrtCpUyfy5MnDyZMnMTY2znCfLCsRali/fj3u7u7ExcXx5s0b+vfvj5ubG/nz58fIyIh27drRqFEjJkyYAEDt2rV5/fo1bdu2xcPDQwZPIstJ3yZ//PFHvL29cXR0xNnZmdKlS3PlyhU8PT15/fo1V65ckdIAQnVpCf5NmzbRs2dPSpQowZEjR7C1tVVqoslzVggh/pr8iot/3cePHzl79izz58+nSpUqPH78mODgYBwcHHBzcyMyMhIPDw9KlizJq1evMDU1VTtkITLw8fFh48aNHD16lN69e2NjY0NSUhLv37/H3t6ewMBA3r17R9myZaUgulDd6tWrGTRoENOnTyc4OBhvb2/WrFnDnj17yJ49OzExMTx48ID8+fMD8PbtW4oVK8bMmTNZuHAhIDtFCXX90ZJojUajLOPz8vJi6tSp3Lx5k6ZNm2JnZ8fkyZOxtrZWklNSGkCoSa/XY2hoSGpqKgULFmTVqlWkpqbSrVs3wsPD/zA59UeF04UQ4msnM6jEf+23byz1ej21a9cmZ86cjBgxgiVLlhAVFUWhQoXYt28fPXr0YOXKlej1evR6PQYGBvJWSWQpY8aM4cWLF/j7+3P//n1OnjzJ0qVLsba2pmPHjgwZMoRLly7h4eHBpk2bZEmUUM3GjRvp1asXe/bsoU2bNsrxNm3a8PbtW44dO0Z0dDS9e/cmZ86cNGrUiN27dxMXF8eJEycyzG4VQm3Xrl2jQoUKSt8AMi47vXv3Ls+fP+fjx4+ULl2aUqVKodFoZFm1yBJOnz7N/v37cXV1xcbGhsjISCpXroyNjQ1r1qyhbNmywKfC/q1bt1Y5WiGEyJqkRyr+K+kHNjt37uSnn35Co9EwdepUXr16RefOnbG3t2f27Nls2bKFSZMm8fLlSxISEtBoNMrgSJJTQi3p39wnJSUBkJKSwu3bt3Fzc6NHjx4EBwdTt25dypQpw6pVq3j16hXVqlVj69atyhtTIdRw+/ZtAIyNjdHr9UpbtLS0JFeuXBgYGJAvXz769u1LZGQkixcvRqfTcfToUUlOiSxDr9dz4sQJ7O3tefHiRYY2aWhoqDynS5YsSYMGDWjbti2lS5dGo9Gg0+kkOSWyhDNnzrBhwwZWrFjBgwcPyJUrF1evXuXVq1cMHDiQXbt2MWnSJNq3b8+TJ0/UDlcIIbIkmUEl/mPpZz2NHTuWwMBAnJyccHJywszMDJ1Ox4sXLzIUNG3SpAllypTBy8tLrbCFUKQfnK9YsQIzMzN++OEHIiMjGTNmDA8fPqRTp040adKEcuXKERgYiIeHB0FBQeTMmVPd4IX4/0aOHMny5cvx9/enU6dO7N27F0dHR4KDg2nevLly3fv379HpdFhbW8usE5ElNWjQgNq1azNz5kyZmSo+SwsWLGDNmjV06NCB/v37U7x4cd6/f0+TJk3Q6/V8/PiRHTt2ULlyZbVDFUKILEl6puI/lpacmjNnDn5+fgQFBVGtWrUMbz5tbW2Ji4vj7NmzeHh48ObNGzw9PQFkWZ9QXVpbHTt2LOvXr2fGjBlERkZiY2ODn58fSUlJZMuWDYDExET8/PzIkycPOXLkUDNsITJIK3Lep08fLly4wLp161i5ciXNmzdXZp4YGBiQM2dO5Zkrs06Emn47cy8lJQVDQ0Pq1KnD6dOnlXYq/QSR1T158gRLS0usrKwAcHNzIzU1lfXr1wMwaNAgbG1tOXv2LA8fPiRPnjzkyZNHzZCFECJLk3n94r/y7t07jh07hqenJzVq1ODp06ccPHiQrl27MmXKFD5+/EhISAibN29Gq9USGhqKkZERKSkp0ukUWcLy5ctZt24dhw8fZuDAgUpB9LTkVEJCAmvWrMHR0ZEnT56wbds2ZVmJEFmFp6cnLi4ueHp64ujoyIABA4BPiam0RED6Z64s6xNqSmt/N2/eJDU1FSMjIzQaDSNHjiQiIoIFCxYAUrxfZG23b9+mXr16+Pn58f79e+X4uHHj+OGHH/Dw8GDNmjXcu3cPMzMzypQpI8kpIYT4P8jrU/FfsbKyIikpiT179pA3b168vb15+/Yt+fPnZ9GiRSQkJDBv3jzy58+PnZ0dBgYGsqxEZCn37t2jQ4cOVKhQgfv373P27FkWL15M8eLFadGiBb179yYkJIT8+fOzZ88eJcEqbVhkNfPnz8fAwIAlS5bQokULOnTooHZIQmSQfkbU9u3bmTBhAvnz52fevHkULlyYwoUL4+rqyqVLl4iMjFSWowqRlaS142+++YamTZvi4+ODsbExPXr0UGZSTZ48mU2bNrFixQqMjY0ZN26c9BuEEOJvkBpU4m/7s2K6/v7+eHl5cePGDYYNG0bLli2pX78+EydO5P79+2zduvX//AwhMkP6wVHao69Pnz6EhITQvXt3goODyZUrFwUKFODDhw88f/6cn376ifj4eMzNzZVtz6U2ishsv312/lU7HDlyJD4+PqxYsYKePXtmVohC/G06nY64uDhOnTrF+vXrCQ0NpUiRIgwYMABTU1MGDBjAvn37qFOnjtqhCgF8euYaGBj8YcLUxcWFAwcOMHLkSHr06EHOnDl5//49o0ePJm/evAwaNIhixYqpELUQQnx+JEEl/pb0g6O1a9dy+fJldDodNWvWpE+fPiQkJPD8+XOKFy+u3NOwYUPs7e2VmlNCqCl9G05OTiYmJgYrKytiYmLo0aMHv/zyC926daNJkyZUqlSJgIAAli5dSnBwsFIQXeqhCDWkb3eHDh1SCp//VZKqX79+PHz4kBMnTmRanEL8mfTP3zlz5nD79m0WLlyoLHc6cuQIISEhzJs3DwcHBzZs2ECLFi3YunUr2bNnVzN08ZW7e/cuJUuWVP4+ceIEu3fvJnv27Nja2irLqV1dXTlw4ABdunShQYMGnDlzhsOHD3PkyBEsLCzUCl8IIT47kqAS/8iYMWPYuHEjnTp1wtzcnHnz5jFy5EgWLlwIQGxsLGFhYcyaNYsXL14oNaeEUIter0ev1yuDo7lz53L27FmuXr1Khw4d6N27N/b29sTExCidyOTkZBwcHDA3N1dqTgmhhvQD+9DQUNq1a0fPnj2ZM2cO8NdJKpmxKrKC9O3w9u3brFq1iiVLluDm5saPP/5IoUKFlGvv3LnD4cOHCQwM5Nq1a5w9e5ZvvvlG2rJQRWBgINOnT2fq1Km0b9+eAwcO0Lp1a5o3b05UVBRXr16lefPm7Ny5E/i0rG///v28ePGCbNmyERAQILv1CSHEPyQJKvGnZsyYQYcOHShTpgwAJ0+epF+/fvj7+1O7dm127dpFt27dWLJkCU5OTgAcOHCATZs28f79e3bv3o1Wq5UlUSLLmDRpEr6+vkyfPp3ChQvTp08fypcvz/r16ylYsCDR0dFs3bqVPXv28OTJE0JDQ9FqtTI4EqpIP3NqxYoVhIaGEhQURExMDC4uLsybNw+QJJX4PIwePZrdu3fTtm1bbt68ydGjR3F2dmbSpEnkz5//d9fXrFmTkiVL4u/vr0K0QsDp06dZtGgRHz9+ZNCgQVy6dAk7OztcXFyIi4sjJCSELl26ULduXbZv3w7A/fv3SUxMxNra+g/btRBCiL8mU1vEH/ruu+94+/YtkyZNUo798ssvFCxYUElO9erVi6VLlzJo0CCioqK4efMmLVu2pFChQpQtW1YKogtV1alThwkTJtCqVSsAbt26xd69ewkICKBBgwZcunSJDx8+0KNHDwoWLKjUpLp06RLZs2cnLCxMCqILVaUlp6ZOnYqXlxcrV66kVatWBAYGsnv3bpKTk/Hw8MDQ0PBPk1SSnBJZwZEjR/D19eXgwYPUrFkT+FQkvWvXrmg0GiZMmICNjQ3waQarVqulZ8+eBAcHK38Lkdnq1auHsbExCxYsYP369fzyyy+0bt0aAHNzc+rXr8/mzZtp164dmzdv5ocffqBEiRIqRy2EEJ836bmK37l9+zaRkZGsWbMGjUbDhQsXALCwsMDKyoq1a9fSq1cvFi5cyKBBgwC4ePEiPj4+vHjxgvLly2NgYIBOp5OBvVBF7969iYuLU2r1wK+zURo0aMCOHTto0qQJS5YsoU+fPsTGxrJv3z7MzMxYunQpmzZtwsjISNn+XAi1vH79moMHDzJ//nw6d+5M+/btWbRoET169GDHjh1MmDABAENDQ3Q6ncrRCvHJb9tiUlISuXLlonjx4uj1enQ6HZ06dWLt2rV4e3vj5eXFixcvAJRk1MWLF3n69CnJycmZHr8QaWrUqMGIESMwNzfn1q1bREREZDhvb29P8eLFef78uUoRCiHEl0VGXuJ3rKysePToEZs2bWL9+vWsX7+eJ0+eUKBAAa5cucK+fftYsGCBsqwvPj4eT09P8uXLl2E6s7y5F2pISEjgyZMnODo6YmRkhK+vL1WrVsXU1JRnz54xe/ZsFixYwLx58xg8eDAA169fZ+XKlRQoUICqVasCnxJasjRVqC179uxERUXx6NEj5VjevHkZOnQohw4dYtGiReh0OubOnYuBgYEU8hdZQtrvv4uLC82bN6dAgQI8fPiQe/fukTdvXlJSUjAwMKBBgwbkzp2b+fPno9frmTNnDnq9nsjISJKSkvDz88Pc3FzlbyO+dnXq1MHU1JTk5GR8fHzInz8/nTp1AiBnzpxky5aN6OhoQDZTEUKI/5bUoBIZpNUruXDhAvXq1cPc3JyTJ09SqVIlADZs2ECfPn0YNmwYtWvXJnv27CxcuJDXr18rBdHlx1moKS4uDjc3N+7evYupqSmXLl3i4sWL2NraMnToUFatWoWrqyuLFi0CIDExkY4dO6LRaNi9e7ckVoVq/qheVGxsLC4uLkRFRbFgwYIMy0dGjx7NzZs3+fjxI71791ZeGgihlvS//8eOHcPR0ZHt27fTrFkzevbsSUhICJs3b8be3h6AV69eMX/+fMqUKcPAgQM5dOgQTZs2BT49m01MTFT7LkL81qVLl5g3bx43b96kf//+FCtWjNDQUBYvXszVq1cpXbq02iEKIcRnTxJU4g/5+fkxcOBAjIyMGDZsGPPmzVM6nX5+fqxfv54rV65QoUIF8uTJw7Zt26Qgusgynj59SsOGDXn27Blz5sxhxIgRAJw7dw4PDw9OnjzJyJEjSUxM5OzZs7x48YIrV65IQXShmvTt7tq1axgaGlKoUCFy5szJqVOnaN++PZ06dcLV1ZUyZcoQHx9Pz549adKkCUeOHEGj0bBt2zZ5/oosYdOmTVy/fp08efIwevRo4NOSvfnz53Px4kWmT59OtmzZ8PPzIykpiQMHDlC5cmW6du3KlClTVI5eiD936dIlZsyYwdGjRylZsiRt2rSha9eulC9fXu3QhBDiiyBL/ATw61tPnU6HRqOhfPny3L17l59//pn27duTnJyMp6cnAP369aN9+/ZERUVhYWGBtbU1Go1GikmLLEGv1xMeHs7Lly+pXr06R44cwdbWFkdHR2XWX2BgIBs2bKBEiRJ8++23HDhwQAqiC1WlJafGjx+Pr68v5ubmGBkZsWvXLurXr8/WrVvp27cv169fx9jYmNjYWGJiYtixYwfR0dFs2rSJxMREWQ4lVHfnzh1WrFhBWFgY48aNU47XqFEDd3d31q5dy5gxY8ifPz/58uXj8OHDaLVazM3NyZcvn4qRi6/VP5n5X716daZNm0ZCQgLW1taMGjUKa2vr/3GEQgjx9ZAZVCLDm/vIyEiMjY2xtLRUzm/fvp2ePXvi7OysJKl+S5b1CTX90ayn+Ph47t27x9ixY0lJSWHw4ME4Ojoq5+Pi4jIM5mX2n1BD+mfnyZMn6d27N2vWrCExMRE/Pz+OHDnC3r17adCgAdeuXePMmTNcvXqVQoUKMWHCBGW3s5SUFNavX4+xsbHK30h8bf7o93/37t0sWLCAJ0+ecOLECezs7DKcf/nyJdmyZVP6GuPHj2fLli2cOHGCYsWKZVrs4uuWkJCAqamp8nLqxo0b3L9/n2+//ZaCBQuSLVu2P+3fXrx4kUKFClGwYEEVIhdCiC+XJKi+cul/eGfOnMnevXv58OED+fPnZ9asWVSrVg1TU1N27NhBr169cHZ2Vmr3CJEVpE9O3bp1i3fv3lGyZEmsrKzQarWcPXuW2bNnk5KSgrOzMw4ODgAZZktJglWobfny5Wg0GmJiYnBzcwMgOjoaZ2dn9u7dS1BQEPXr189wz507d1izZg2rV6/m1KlTlCtXTo3QxVcs/fM3JiaG6OhobGxsADh+/Dju7u7o9XrWr19P8eLFledu2jM3JCSE9evXs3XrVg4fPqzUphLif83Pz49bt24xduxYcufOzfbt2xk8eDBmZmYASp+3cOHCGfoI0l8QQoj/LSm08pVL+5GdNm0aixcvZsCAAUyZMgVTU1N69OhBYGAgKSkpdOzYkY0bN+Lp6cnSpUtVjlqIT/R6fYalUe3bt6dZs2a0aNGCXr16ERsbS506dZSZJqtWrSIgIAAgw1I+6WyKzJb+3VBUVBTr16/HxcWFX375RTlvaWnJihUraNu2LQ4ODhw/fly5JykpiY0bN7Jv3z5OnDghySmR6dI/f2fOnEnbtm2xt7enR48eBAUF0bhxY8aNG4eZmRl9+/blwYMHv9tIxcbGhho1anDhwgVJTolMFRYWxuHDh/H29iY8PBwfHx/mzp3LlStXcHJy4vjx48yaNYsnT56g0WiUZ7b0F4QQ4n9LZlB9pdLXnHr9+jUtW7Zk+PDh9O7dW7mmd+/eHD16lJMnTyrT80+ePEmdOnWkTo/IUjw9PZk5cyZbtmwhX758nDp1ik2bNmFubk5QUBDm5uZcvHiRYcOGUatWrT9dqipEZktOTkar1fLgwQNGjx7NuXPnOHPmDHZ2dspzOiYmhs6dO5OamsqhQ4eUe5OSkvjw4QN58+ZV8RuIr93UqVNZtWoVCxcupHz58jg4OJA3b1527txJoUKFCAoKwsvLiydPnnDs2DEKFCiQ4X7ZmEKoZcKECRw/fpx69erx/PlzVq5cqSw7XbJkCVu2bKFixYpMnDiRIkWKyOwpIYTIBJKg+gql7wympKSQmpqKnZ0dy5cvp02bNsqafIAKFSpQr149vL29M3yGFJMWakrfhnU6HR07dsTe3p7JkycDn9rnoUOHmDJlCq1atWLatGloNBpu3bpF6dKlZTAksoQ5c+bw8OFDPDw8sLCw4PHjx/Tt25e7d+9y+vRpihYtqgyI4uPjMTExUdquDJSE2vR6PU+ePKFDhw7MnDmTFi1acO7cOb777ju8vLzo37+/cu3OnTs5ffo0ixYtklp/QnXpa06OHj2agIAADA0NCQ0NJVeuXMp1S5YsYceOHRQpUoR58+ZRqFAhtUIWQoivhozSvjLpp+T379+fli1bYmJiQr58+Vi3bh0ApqamJCUlAVCqVKk/HARJckqoJX0bPn/+PElJScTFxXHr1i3lGiMjI1q1akWlSpW4ePGicvzbb7/FwMAAnU6X6XEL8VtFixbF19cXd3d3YmJisLW1Ze3atdjZ2VG/fn0eP36sLC0xMzPL0HYlOSXUltY2ExISaNGiBbt376Z58+Z4eHjQv39/YmNjCQgI4OPHj3To0IHFixdjaGhIamqq2qGLr5her8fQ0JBnz54BsHDhQgYOHAjA/Pnzefv2rXLtsGHDaNWqFW/evJF+rxBCZBJJUH1l0gY1d+7c4d69e4wZMwaAyZMnEx4ejqurK4CyE9Tz58/JkSOHOsEK8RvpZ41MmDCBYcOG8eTJE6pUqcKTJ08IDQ3NkHyqVKkScXFxxMXFZfgcmUElMttvk6J6vZ5u3boRGBjI4sWLmTJlipKkWr9+PaVKlcLOzo6XL19mSEZJ2xVq+aMJ9yYmJkRGRjJs2DD69u3L/PnzGTx4MAD37t3D19eXq1evZrhHZlAJtaT1Ifbt20f79u3Zvn07AFOmTKFbt24cO3YMLy8vIiMjlXvGjRtHQEAA+fPnVytsIYT4qkhP9yvk6+vLjz/+iI2NDQ0bNgSgYcOGuLq6smfPHqpXr07fvn2pU6cOHz58YNq0aeoGLMT/lzZQv3//PqGhoSxYsIBSpUrh4uLCy5cvmTp1KmfOnCExMZHo6Gh27dpF0aJFyZYtm8qRi69dWmLp8uXLwK+zTxwcHNi2bRtLly5l6tSpREdHU6RIEXx8fBg8eDB58uRRM2whgE8J1rTn79u3b9Hr9aSmpmJjY4OTkxO+vr44Ojri7OyszKqaNGkSWq2WevXqqRy9EJ+kJae6dOlCly5dKF26tHJuzpw5fPfddwQFBeHt7Z1hJpWVlZUa4QohxFdJalB9BZ4/fw5AYmIixYoVY/To0WzZsoXChQtz4cIF5brY2Fhu377N0qVLMTQ0xNramrlz52JkZJRhvb4Qapo/fz4BAQFYWVmxefNmpUD0w4cPadeuHRqNho8fP5IvXz7i4+MJDQ1Fq9VKzR6husuXL1OjRg0WLFjAqFGjgF/f6G/cuJE+ffowZcoUXF1dyZkzp3KfPH9FVjFz5kwOHDhASkoKAwcOpEOHDsTFxTF58mR27txJr169MDQ0JDw8nNevXxMWFoZWq5VC6EI16X/7P3z4QOvWrWnatClTp05VrknbrAJg4sSJbNmyhUGDBjFmzBhpt0IIkckkQfWF27JlC0uXLuXBgwdYWVkxe/ZsHB0dcXd3Z/78+YwYMYJZs2b95WdIQXShptu3b/Pq1SvMzc2pVq0a4eHh1K1bl4SEBH766Sdq1aqldEDfvn3LpUuXuHHjBnnz5qVHjx4YGRlJGxZZxqJFi5gwYQJz585lxIgRyvHHjx9Ts2ZNXr16xeLFi5Xl1kKoKX1iafXq1YwbN46ZM2dy8OBBfvnlF+rWratsQrF161bWrl2Lra0tRYsWZdasWfL8FaoZPXo0rVq1olGjRsqxFy9eULNmTVauXEnLli2VmYFpM1rTEllTp06lT58+FCtWTK3whRDiqyUJqi/YqlWrGDZsGHPnziU5OZmzZ89y6NAhDhw4QJUqVVi4cCEBAQF0795d2f0sKSlJqT8lhNrWr1+Pu7s7cXFxvHnzht69e7N8+XIeP35MtWrVaNSoEUuXLqVo0aJ/+hky+0SoIf3A/rdtcNGiRYwZM4aFCxcyfPhwNBqNkphq3LgxjRo1kgG9UNVvZ5xeunSJjRs30rhxYxwcHACYN28egYGBVK9enYkTJ5I/f/7f9SHk+SvUEB8fz9ixY+nXrx+VKlVSjkdHR1O1alV69+7NhAkTgF/b6Pnz53n06BHdunVTKWohhBAA0gP+Qm3ZsgVnZ2eOHTumvD367rvvuHz5MsHBwTRs2JBBgwYp12o0GiZNmiTJKZFlrF69mqFDh+Lr68u3335LSEgIQ4YMoWTJkkyYMIGTJ09Sr149xowZw4IFC7C1tQX43VISGRyJzJT2zietDS5fvpwrV64QHR1N/fr16d69u7K8b9SoUdy7d49KlSqxZ88eEhISmDNnDiAzV4W67t69S6lSpQA4fPgwQ4cOJSYmhlatWinXjB07Fo1GQ2BgILNnz2b06NEUKVIkw+fI81eowczMjMWLF2NgYMDBgwcxMDCgWbNmGBkZUaNGDeVFbfPmzZU2umPHDsLCwmjVqhXZs2dX+RsIIcTXSxZWf4FevnzJkiVLKFOmjLLriF6vx97enmLFiim7SRUsWBAnJye6dOmCh4cH69atUzFqIX61ceNGnJyc2LFjBz179qRq1aoMHjyY1q1bs3fvXmJiYqhcuTJnzpxh//79jB07lgcPHgCyy5lQ1507d5SZJ2PHjmXy5MlYWlry5s0bfH19adOmDe/evWPUqFFs2rSJo0eP4u3tTXx8PAcOHAA+Pa8lOSXUsnz5cr755huePn0KQLNmzWjfvj3Jycns2rWLDx8+KNeOGTOGjh07EhwczI4dO1SKWIiM9Ho9BgYGJCUlERgYSIsWLThy5AhmZmZMmTKF5ORkZs2axbhx49i4cSMDBgzA19eXJUuWSHJKCCFUJj3gL1D+/PkZM2YMa9asYdSoUUyZMoWaNWuyY8cOzp07x/z585VrCxQoQL9+/ShUqBA9e/ZUMWohfnX79m0AjI2N0ev16HQ6DA0NsbCwUGZIpaSkYG9vz9mzZ7G3t8fOzo6ZM2eqHLn4ml24cIHu3bsTEhLCnTt32L59O4GBgTRo0ACA/fv3M2/ePLp378727dvp1q0b3333HYaGhlhZWaHRaGTmlFCVj48PI0eOZMeOHRQuXFg5Pm/ePFJSUjhx4gTe3t4MHTqUHDlyAJ9q/RQoUIAuXbqoFbb4yqX1CxISEjAwMCA1NRUzMzOMjY2ZNWsWWq2W1q1bs3v3blq2bMmWLVtYvHgxBw8eZN++fRQsWJDTp09ToUIFtb+KEEJ89aQG1Rcmfd2IPXv24O3tjaWlJVWrVmXevHksWrSI/v37/+mOOlIvQmQVI0eOZPny5fj7+9OpUyf27t2Lo6MjwcHBNG/eHPi1vd69e5dixYrJwF6o6tixY7Ru3ZqnT58SHh5Ohw4dCA0NVQrtJicns2PHDubOncuaNWuoWrVqhme27HQm1LRq1SpcXFzYtm0bjo6OyvHQ0FCqVKkCwIgRIzh9+jTt27fPkKRKI30IkdnSnpu3bt1i+vTp3Lt3j2+++YYffviBli1bAvDu3TsmTJjA2rVrlSRVSkoKhoaGfPz4ERMTE8zMzFT+JkIIIUCW+H1x0nYiAWjXrh1Dhgzh48ePuLu74+TkRP/+/X9X/DQ96ViKrMLDwwNnZ2f69OnDqFGj6Nu3LytXrqR58+bKMlVDQ0N0Oh0lS5ZUdosSQi1Vq1alePHi/PzzzxQuXJg8efIQFhamnNdqtbRs2ZLHjx9z/fp1gAzPYklOCbXs2LEDZ2dnTp06lSE51alTJ2bNmkVsbCwAnp6e1K9fn7179zJnzhzleBrpQ4jMlJacunbtGnXq1CFbtmzUq1ePS5cuMX78eCIiIgCwtrZmzpw59O3bFwcHB44cOYKRkREajYacOXNKckoIIbIQmW7wBUq/Xa6DgwNarRaAiIgILl26RPXq1VWOUIi/x9PTE61Wy8KFC+nfvz8DBgwAMg7k0/9bZlAJtej1enLkyIGRkRHHjh1j8uTJ5M+fn2XLllGsWDEqV64MfCp+XqJECXLlyqVyxEJ8EhcXx8WLFwF48+aNcrxjx47cunWL/fv3ky1bNmX5qYeHB3379uXNmzeYm5urFbYQGBgYcPPmTerUqYObmxtTp04FwNbWlhEjRvDs2TPKlCkDgJWVFTNnzsTAwIDmzZtz/PhxGjZsqGL0Qggh/oiM5j5zv50NlfY2KX2SqlWrVqSkpLBixQpmzpzJmDFjqFu3ropRC/H3zZ8/HwMDA5YsWUKLFi3o0KGD2iEJAcDBgwd5/Pix8ua+WLFi1KhRg5iYGDQaDVu3bqVBgwa4urrSsGFDypUrh5+fH6mpqbRu3Vrt8IUAwNzcHBcXF/R6PT179sTf35/AwEB+/vlngoKCsLW1VQr3py3hW7t2LTqdLkNfQ4jMFhUVRcuWLSlRogTOzs7K8devXwOf6lnmzZsXa2trChcuTO7cuVm0aBFGRkbky5dPrbCFEEL8BalB9YXw8PCgdevWlCpVKkNnMf2/9+7dy7Rp02jcuDELFixQM1whgN/X3Pmr+iUjR47Ex8eHFStWSEF/obq4uDiaNWtGXFwcv/zyCxqNhtq1a/PTTz+RJ08e9u/fj52dHa9evWLixIlcvXoVgCJFihAQEIBWq5V6PSJLefr0KR4eHqxatYps2bLx7NkzjI2NM7TTRo0a0bVrV5ycnACpmybU5+npydKlS+nevTuTJ09m2bJlTJ48mZo1a1KuXDm2bNlCnjx5qF69OpUrV8bJyQkTExO1wxZCCPEnJEH1BYiLi6NJkybY29uzbNmy33UW0yepTp8+TZ06daRDKVSXvl0eOnTod4XP/0i/fv14+PAhJ06cyLQ4hfgzSUlJGBsbc+vWLT58+MDFixe5evUqYWFhtGzZkoEDB2JnZ0dycjIpKSnExsaSK1cu2a1PZFmPHj1i1apVeHt7s2bNGjp16gR8SkQ5ODhw/fp17t69q5QOEEIt6ZOjS5cuZcGCBZQoUYLr16+zb98+ateujUaj4datWzx58oRp06YRHx/Prl27KFq0qLrBCyGE+FOSoPpCzJo1i6CgII4ePUq2bNn+dOnfn/0tRGZK3/5CQ0Np164dPXv2ZM6cOcBfJ6mk7Yqs4K+WNXl6erJhwwYaNWqEq6vr7wZDsiRKZGVPnjxh8eLF+Pr6Kkmq77//nvv373Pjxg20Wq0kWEWWkL4/sHLlStzc3GjdujWLFy9WlvClPW/j4+NJSkr63c6TQgghshZJUH1m/mzgHhMTQ+nSpXFycmLKlCkqRCbE35N+cL5ixQpCQ0MJCgoiJiYGFxcX5s2bB0iSSnx+0rfLRYsWsXXrVipUqMDs2bOl3on4rDx9+hRPT0/WrVtH9uzZMTExkeSUyJLSP3e9vb2ZM2cOvXv3xsnJiSJFigB/3Z8QQgiRtUgP4zNx/PhxGjdurPzAbt68GRsbG2rXro2JiQkWFhYMGTKEU6dOERkZibW1tbyhF1lSWrucOnUqXl5erFy5klatWhEYGMju3btJTk7Gw8MDQ0PDP+1USnJKqOnPEqQGBgbKuVGjRhEdHc3jx4/JkyePClEKkVH6xFL6Z+sftefChQszYsQI4uPjuX37NocPH5bklFDFH804Td9m0z93XVxcSE1NZf78+RgaGtKvXz+KFi0qySkhhPiMyAyqz8C2bdvo2rUrfn5+9OnTh/fv32Nvb68MehYsWEDZsmVJSEigXLlybNq0idatW8syEpFlvX79mjZt2jBw4EAGDBigHFu1ahWrV6+mR48ezJ49G5DZUkJ9t27dIjExkeTkZKpVq/Z/Xp++zaY9h6UdCzUFBgYSFhbG8OHDyZ07t3L83bt3WFtb/2n7fPHiBfnz55e6aUIVae3y3bt3xMXFkZiYSIkSJf7yWvg0k2r06NFMnDiRcePGSbsVQojPiPSWPwPff/89U6dOZcCAAfj6+mJlZUV4eDheXl6ULl0aZ2dnWrduzcmTJ/n+++/x9PTkw4cPkpwSWVb27NmJiori0aNHyrG8efMydOhQihQpwqJFixg3bhzw6e2o5NGFWnx9ffn+++/5/vvvcXBwoGnTpty6dYvU1NQ/vSd9m9VoNOj1eklOCdX4+fkxYMAAjI2NiY6OVo57eHjw7bff8u7duz9tnzY2NkoblkG+yExpCafr16/TpEkT6tevT7NmzXBwcODRo0fodLoM16fNpAJwcXFhyZIldOnSRdqtEEJ8ZmQGVRaX9vY9ISEBT09PJk6cyKpVqxg4cKByzdmzZwkJCWH27NkYGRkRFRXFyZMnqVy5sry1F6r7ozYYGxuLi4sLUVFRys47aUaPHs3Nmzf5+PGjUkdCCDWcOHECBwcH1qxZQ/HixYmPj8fFxYXY2Fi8vLz47rvvZPAjsrTw8HCaN2/OkiVLlB354FPf4vLly7i7u9OrVy+6du0q/QWR5Tx9+pQaNWrQu3dvGjduTGxsLBMnTiQ5ORkvLy+aNGnyu2ewtGMhhPi8yRM8C0u/RC8oKIjvvvuO6dOn4+TkxNq1a5Xr6tSpw7BhwwgJCcHDwwM7Ozvc3d0BqdUj1JW+o3jt2jVu3LjBhw8fyJYtG/369ePkyZMsWLCAiIgIAOLj43n06BFt27Ylf/78HD58+C9nqgjxv3T37l3Kly9PmzZtqFy5MnXq1OHq1asULlwYFxcXQkJCAH73Jl+IrCI+Ph5jY2OsrKwyHNdoNFSrVo3s2bNz+vRpQPoLIuu5fv06uXLlYtSoUTRt2hQHBwdu3LhBwYIFGTJkCBcuXAAyPoOlHQshxOdNXv1mUekH9rNmzcLHx4f9+/czbNgwUlJS6N+/PwB9+/ZFr9ej0+koXLgwXbp0wdLSkkmTJnHv3j3s7OzU/BriK5fWhsePH4+vry/m5uYYGRmxa9cu6tevz9atW+nbty/Xr1/H2NiY2NhYYmJi2LFjB9HR0WzatInExETMzc1V/ibia/Ty5UueP3+OiYkJAAkJCZiamnL8+HFq1arFjz/+yOXLl2VAJLIsIyMjDA0N8fHxUTahsLS05M2bN8TFxaHX61m1ahWpqal8/PiRUaNGUbVqVbXDFgKAN2/e8Pr1a3LlygX8+gw+ceIEderU4ccff+TKlSvyDBZCiC+IPNGzqLQf24cPH/LkyROWLVtG2bJlsbS0ZMyYMUydOpX+/fuzbt06NBpNhpon33zzDS9evODt27dqfgXxFUu/cvjkyZNs2bKFrVu3smLFCuzt7alXrx4nT56kadOmBAcH0717d0qWLEnr1q25fv068GlpSpkyZWQJlVDNDz/8wMePH5kxYwYApqamJCYmAp82r3j69Cnr169XM0Qh/lLlypXZtGkT9vb2REREUKRIEQoVKoSdnR3FihUjd+7c6HQ67t69S3x8PJUqVVI7ZPGV+qOZqC1atCA1NZUpU6YAGZ/Bu3fv5tWrV3h4eGRqnEIIIf63ZOSXhaXt3le4cGG6d++uHDc3N8fNzQ2NRsPAgQOJiYlh6NChyvmTJ0/y8eNHbGxs1AhbCGVp6vLly9FoNLi4uNCkSRMA6tWrh7OzM23atCEoKIj69etTsWJF5d47d+6wZs0agoODOXXqFMbGxqp8B/H1CQkJwdbWVtkh1cbGBhcXF3bt2kW+fPkYNGgQJiYm6HQ6LC0tyZ07NzExMSpHLcQfSysTULNmTe7fv8/9+/fZs2cPlpaWyjX+/v4kJyezZs0a5VhqaiqGhoZqhCy+UmmrBu7cucPGjRuZMGECpqam5MqVi5EjR7Jt2zYKFSqEk5MTJiYmpKamkiNHDkqXLs2rV6/UDl8IIcS/SGZQZWGdO3eme/fuPH36lCtXrpCQkKCcMzc3Z/To0QwbNoytW7ei1+uVpX5arZbQ0FBsbW1VjF58jdLPnIqKimL9+vW4uLjwyy+/KOctLS1ZsWIFbdu2xcHBgePHjyv3JCUlsXHjRvbt28eJEycoV65cpn8H8XUKDg6mevXquLq68u7dOwCyZctGz549qVixIqtXr1be1BsYGGBhYYGJiYkM5EWWlX4n3+LFi2NpacmZM2eU53R8fDybN2/OUOdPr9dLmxaZKm2X0/DwcOrXr8/Lly+5f/8+AFqtlo4dO1K5cmV8fX1ZunQpAIaGhhgbG2NhYaHMspY9n4QQ4ssgu/hlEX+160jHjh05duwYGzdupFmzZmi1WuVcYmIixsbGaDQa2blEZBnJyclotVoePHjA6NGjOXfuHGfOnMHOzk55qx8TE0Pnzp1JTU3l0KFDyr1JSUl8+PCBvHnzqvgNxNdm7969uLm58f79e6pVq4a/vz85c+bEwMCA27dvs3LlSrZu3UrFihUpW7YsISEhREZGcu3aNVmGKlT3d37/W7ZsqezqlzNnTkJDQ3n//j2hoaEYGRll2JhFiMz06tUr6tWrR6tWrfD09FSOJyYmYmJiwoMHD/Dw8GDPnj3Url2b2rVrExERwebNmwkJCaF06dIqRi+EEOLfJNmMLCB9x/LcuXMcOnSIq1evkpycDMCOHTuoX78+ffr04ciRI6SkpCj3mpiYoNFolDdQQqhtzpw5uLi4EBMTQ/HixfH09KRMmTI0atSIR48eKe3VwsKCnTt3cuDAAeVevV6PsbGxJKdEprO0tOTbb7/l3LlzhIWF0bt3byXxb2Fhwdy5c9m0aROGhoa8ePGCsmXLKskp2WlSqC3t9z9t9l/6ej5p7fPAgQN07NiR+/fvc/v2bapVq6Ykp1JSUiQ5JVTz5MkTChQowKJFi0hNTaV///60aNGCsmXL4uXlhaWlJfPmzWPp0qU8evSIHTt28OTJE86ePSvJKSGE+MLIDCqVpX9jOWHCBDZs2IClpSUPHz5k1KhR/PDDD5QtWxYABwcHLly4wPLly2nXrp1MwxdZ0pYtW+jevTsjR47E3d0dCwsLHj9+TJ8+fbh//z6nT5/G1tY2Q9uX2X9CbbGxsTRv3pxDhw5x48YN2rVrR/Xq1fnll19o0aIFs2fP/sP7UlJSZAaVyBL8/f2ZNGkSjx8//t259O00Pj4eU1NT5fkrNaeE2oKDgxk1ahTnz5+nU6dOGBoa0qpVK+7cucOhQ4do2bIl7u7uWFtbA5/6zklJScoOq0IIIb4cMiJUWVoHce7cuaxfv54tW7Zw69YtXF1d8fT0ZPny5dy8eRP4tGOJnZ0da9askc6kyBJ+u+uOXq+nW7duBAYGsnjxYqZMmUJMTAy2trasX7+eUqVKYWdnx8uXLzO8rZfklFBTWv2+169fc+7cOWrUqEFwcDCHDh3i4cOH9OvXT7nut+90JDklsorq1atjZWXFrl27gIw1edKW8AGYmZkpz1+pOSWyAisrK+Li4jh37hy5cuVi7dq1uLq6smzZMsaMGUNAQAC3b99WrtdoNLKBihBCfKFkVKiS9AXPnz59yuXLl1m0aBH16tVj9+7drF69mq5du7Ju3ToWL15MeHg4AGfOnGHfvn1qhS1EBmmJpcuXLwMoy/ccHBzYtm0bS5cuZerUqURHR1OkSBF8fHwYPHiwskuaEFmFpaUltWrVUt7I9+3bl/Lly2NsbMyYMWOIjIxEo9HIMiiRJfzR5HcbGxty586t9BF+21b/qO1KexZZQe3atSlXrhwdOnTgwoULGZZNDxw4EBsbG4KCgjLcI21XCCG+TJKgUsHixYtp0aIFSUlJAOTMmZM+ffrQqlUrLl++jKurK9OmTcPPzw9XV1e2b9/OggULuHfvHvApKfDbmStCqOXy5cvUqFGDRYsWAb8mqRwdHVm3bh1LlizB09OTDx8+ULx4cby8vDA0NJS6PSLLSBvo2NjYsGbNGipXrkyOHDk4efIkR48eZffu3cyfP1/lKIX4VVqbffPmjXIse/bsTJ48mR07dnDkyBG1QhPiH0nrz86ePZs6derw9u1bbt26pZxPTU0lX758lChRQq0QhRBCZCJJUGUyHx8fxo4dy+DBg5XpyZaWljRs2BBLS0v27NlDtWrVGDhwIPCpCHr58uWJi4ujePHiyufIkiiRVVSrVo0FCxYwYcIEZfedtMFTvXr1yJMnD+7u7mzYsCHDfbKsRGQF6Wei1KpVi+3bt2NjY0NgYCDZsmWjfPny/Pzzz39ag0oItXh5edGuXTvc3NyIiooiISGBunXr0qhRI86ePQsgLwJElpfWRitWrMisWbMoU6YM3bt3Z9WqVQQGBjJ16lSuXbtGgwYNVI5UCCFEZpDiGZlo1apVuLi4sGPHDhwcHDKcs7S0BD5ttZuamkpcXBxmZmZcu3aN8ePH8/333wNSTFqoK337S19Yd9SoUQCMHj0agOHDh6PRaDA1NaVPnz40btyYRo0aqRO0EPxxIei0Qv1btmzh+vXruLu7s2TJEhwcHDIsQy1ZsuSffoYQmSX9xhIAdevWJTIykh07dhAUFESLFi1wdXWlWbNmTJ8+HRcXF1lOLbK01NRUtFot9+7dw9/fn2nTprF3714mTpyIp6cner0ea2trDh48iJ2dndrhCiGEyASyi18mWbt2LYMGDSIoKIjmzZsrx9u1a0eZMmWYM2cO8GkXnkGDBlGjRg1ev34NwPXr15UCp7LmXqgh7TGR1v6WL1/OlStXiI6Opn79+nTv3p0cOXKwaNEi3NzccHZ2plKlSuzZs4eEhASOHj0KyI5nQh379u3jl19+4YcffiBHjhwZzgUGBtK7d2+mTp2qJFiFyGrSvxz4+PEjiYmJ5M2bVzk/f/58Ll26xMGDB+nbty/e3t5MnTqVyZMny0stoZq/eqma1qd9/PgxderUoV69emzZskU5//TpU8zMzDAyMiJnzpyZFLEQQgi1SYIqE7x//55mzZrx7Nkznj9/rhzv2LEjd+7cYe/evRQtWlQ5vmnTJsLDwzEwMGD69OkYGRnJm3uhqp9//pnSpUsDMHbsWHx9fenduzfXrl3j/fv3WFhYsHv3bqytrdmyZQvu7u6YmZmRK1cuDh48iFarlQSrUMXt27cpU6YMZcuWZdiwYXTp0kWZsRoeHk779u0ZPXo0gwcPVjlSIf5Y+mfnjBkzOHfuHKGhoXTo0IHatWvTs2dP5do9e/awZ88eDhw4gI2NDWFhYWqFLb5yacmp27dvc+jQIZycnDA1Nc1wzYcPH2jcuDHVqlVj5cqVaDQa5T7pMwghxNdJElSZQKfTERISQq9evcibNy+nTp2ia9eu3Lx5k6CgIGxtbf/yh1hmnQg1Xbhwge7duxMSEsKdO3fo1q0ba9euVepB7N+/n3nz5mFubs727duxsLDgzZs3GBoaYmVlhUajkTYsVPP8+XNatmxJjhw5eP78OWPHjqVDhw5YW1sTGRnJo0ePqFKlitphCvF/mjx5MitWrMDHxwcTExPmzZvHs2fPOHLkSIYalYmJiTx9+pRatWoxefJkXF1dVYxafM3u3btHjRo1eP/+PRMmTMDd3T1DX+DDhw8cP36c9u3bSzJKCCEEIEXSM4WBgQHVq1dn06ZNPHv2DFNTUyIiIjh+/PjvklM//vgj169fz3C/DOyFmmJjY3n+/LlSG+3Dhw8UKVJEOd+0aVMGDx7M8+fPuX37NgC5c+fG2tpaeRsqbVioIa1+SalSpdi+fTvNmzdn/vz5HDp0iLdv33L48GFJTonPwsOHDzly5Ajbtm3D0dERc3NzQkJCmDRpEsWLFyclJUW5VqvVYmdnR9u2bXn48KGKUYuvWUxMDPPmzaN58+YsX76cefPmMXHiRKWt6vV6cubMiaOjoySnhBBCKCRBlYmqVKlCQEAA9vb2GBkZKcVL036YW7duTUBAAGXKlFEzTCEyqFq1KsWLF+fnn3+mcOHC5MmTJ8OyEa1WS8uWLXn8+LGSXE3f2ZT6J0ItaYX6dTodZ8+exdvbm0aNGjF16lQqVarE8uXL1Q5RiL9Fo9EQGRlJ5cqV2b17N23btsXDw4O+ffuSkJDAli1blGRU2jP3xYsX3Lt3L0PySojMkpCQQOnSpXF0dGTw4MFs3rwZDw8PJk2aREpKyh8mpWRRhxBCCBk5ZgK9Xo9OpwM+DfaXL1/Ox48fqVOnjvJj3LJlS+7du8ezZ8+UmlNCqE2v15MjRw6MjIw4duwYJUqUIH/+/CxbtixDkiolJYUSJUqQK1cuFaMVIqO0gXm+fPk4deoUAD4+PkRGRvLhwwccHR2Ji4tTM0QhfietX5B+sB4XF4eBgQFeXl7069ePefPmKXXTIiIi2L17Ny9evFCuj4iI4PXr10ybNk1msIpMkdbPTZM7d2569epFx44dAejUqRMbN25k0aJFGWZSpaam8vjxYwCZSSWEEALptfyP6XQ6NBoNBgYGHD58mMTERNq0acO2bdvo1q0bDRo0IFu2bDx48IAbN26g1WqlXo9Q1cGDB5VddbJly0axYsWoUaMGMTExaDQatm7dSoMGDXB1daVhw4aUK1cOPz8/UlNTad26tdrhi6/Yhw8fSEhIIH/+/MCvy6MbN27M+fPnAahQoQIVKlSgQIECrF69GgMDAwYMGEC2bNlUi1uINL/drc/S0hJDQ0PKlClD06ZNmTp1KmPGjGHIkCHApyXYU6ZMQafTUbNmTeVzihUrxtGjR2X3M5Ep0trt9evXuXHjBj/88AOAstNkWimLLl26ANCjRw80Gg2TJ09mwoQJREVF4e3tjbm5uWrfQQghRNYgRdL/Rek7lomJiZiYmCg/yrt27aJ37974+PjQtWtXAMLCwnB0dMTU1JTw8HBJTgnVxcXF0axZM+Li4vjll1/QaDTUrl2bn376iTx58rB//37s7Ox49eoVEydO5OrVqwAUKVKEgIAAtFqt7DgpVLFlyxZ8fX25ffs21apVY/LkyUp9qaNHj9KvXz+0Wi0FChTg0KFDmJub4+joiLGxMVu2bJE39yJLmTVrFrt37yZ37tzUqVOHSZMmkZCQQJ8+fdizZw9Dhw4lKSmJGzdu8OrVK65cuYJWq83QDxEiM6S1uWvXrlG1alXGjRvHjBkz/vKegIAA+vbtS9GiRfn5558JCQnB3t4+kyIWQgiRlUmC6l+SvlPo4+ODkZERrVq1Il++fBw+fJh27dqxePFinJyclHv0ej0///wzpUqVwsDAQJJTIktISkrC2NiYW7du8eHDBy5evMjVq1cJCwujZcuWDBw4EDs7O5KTk0lJSSE2NpZcuXLJbn1CNevWrcPV1ZUpU6ZQpEgRRo8eTfPmzVm9ejUAUVFRtGvXDisrK1auXKm81QdkS3ORJaTvQ6xcuZKJEycyfvx4rly5Qnh4OJUrV2bdunUAzJgxg0uXLqHVaildujQzZszAyMhInr8i06VPTtWuXZshQ4awYMGCv7w2TZMmTbh69So//fQT5cuXz6yQhRBCZHGSoPqXjRkzhnXr1rFgwQJatGhBvnz5CAsL486dO8rMqT8is05EVvBXg3RPT082bNhAo0aNcHV1pWjRon/7XiH+V06cOEHPnj1ZuHCh8oxdsWIFjx49YsiQIeTNmxczMzPu3buHlZWVUict/TNXZp2IrOLYsWOEhoZSunRp2rVrR0xMDAEBAcyfP5/q1avj7+8PfNohzcLCQrlP+hBCLQ8fPqR06dKMGjWKOXPmkJSUxNq1a3nw4AEWFhY0a9aMGjVqAL/WqZowYQLz58/n6tWrVKhQQc3whRBCZDHyqu1ftGLFCjZu3Mjhw4epVKkS8Gk2Srly5ahcuTLw54N46ViKrOCP2mba4H3EiBHodDq2bt3Kx48fmT17Nvny5fvLe4X4X0orrjts2LAM9c+2b9/O06dP8fHxoWLFijRr1owJEyZkuDf9M1eSUyIrOHfuHP369SMmJoadO3cCYGFhQZcuXdBoNCxYsIBevXqxYcOGDMkpkD6EUIder+fgwYNYW1srs/fatm3L27dvMTU15dGjR+zfv59evXrh7OyMgYEB0dHRFChQQJJTQggh/pD0yv8LaW+C0iahhYeH06pVKypVqsT9+/fx9/enbt26tG/fXnnrKYN4kVX92c6RBgYGSlsfNWoUrVq1QqfTkSdPnswMT4jfMTQ0xNHRkU6dOikDdgcHB+7du4eXlxeHDx+mfPny7Nq1i4iICJWjFeKvFStWjAEDBmBgYMDWrVuV4xYWFnTu3JmxY8cSFBT0f9b3ESKzaDQaunbtyvjx49m9ezc5cuTA2NiY3bt3c+bMGW7cuIGtrS3r16/nzZs3AFhaWuLi4iLJKSGEEH9Ilvj9h96+fUvu3LkBOHDgAC1btmTw4MFERERQv359Tp06Ra5cuciVKxc6nY4bN24QHBxM7ty5JUklsoSbN28SHR1NdHQ0TZs2Bf56qVP6c2kzAWVplMhKkpKS2Lp1K/Xr11eWoN65c4dvvvmGPXv20KZNG3UDFOL/+7Nn55s3b/D19WXt2rU4Ojoyd+5c5Vx0dDSnTp2iRYsWMmNKZCkfPnxg9erVhISEMH78eCpVqqS08YcPH1KiRAmCg4Np2bKl2qEKIYTI4mSJ339g//79rFq1ikWLFrFs2TKWLl1KXFwcw4cPZ9KkSezfv58ePXrQpEkTKlasiL+/Pw8fPiRbtmySnBJZwrp165g7dy6pqanEx8fTrl07vL29/zLZlL6QtEajQa/XS3JKZCnGxsb06tUrw7GEhARq166Nra2tSlEJkVH65NT69eu5e/cukZGRdO/enbp16zJkyBD0ej3+/v5oNBrmzJkDfJp50qpVK0BqTomsJWfOnAwaNIh69epRtmxZ4NfZ1+/fv+fbb7+VZ7AQQoi/RRJU/4E8efJw5coVWrduzZs3b7h+/TqmpqZ88803bNy4kcTERHLkyAFAcnIyAQEB5M6dGzMzM5UjFwI2btyIi4sLfn5+fPvtt5w8eRJfX1+ioqLInj078Oe10tIfk2SryIrSt93ExEQmT55M9uzZKVeunMqRCfFJWnJq9OjR+Pv7U6VKFaKiomjcuDGTJ09mxIgRODs7o9Fo2LJlCx8/fmT58uUZPkOSUyKryZEjBzVr1sxwzMDAgMDAQCwsLKQsgBBCiL9FElT/kE6no1q1arRp0wYfHx8aNmyYYaBuYmKCqakpUVFRBAUFsWnTJp4+fUpoaKgy60QG9kItYWFhuLu7s3LlSrp06QJ8SqIGBQVx9uxZYmJi6NChg8yMEp8tjUZDbGwsJ06cwMfHh4cPHxIWFqa8zZe2LdSU1gc4fPgwmzZt4uDBg1SqVAmNRsOSJUuYNm0alpaWDB8+nD59+hAVFcXTp0+l7yA+OxcuXGDXrl2sWLGCM2fOSIJKCCHE3yI99b/pt6W6atasyaZNm3jy5AlTpkzh0qVLwK+zSuLj4zl69ChWVlaEhYWh1WpJSUmRDqZQVaFChRgyZAj169dXjk2ePJmrV68ybtw4Ro4cSY0aNYiNjQV+3+6F+BzExsYSEBCAmZkZV65cUZ6/kpwSaomKigJ+7SNER0djbW2Nra2tskHFsGHDcHNzY/LkyTx9+hQbGxvGjh2rLPWT57H4XLx7947Fixdz+PBhTp8+LQXRhRBC/G1SJP1vSP/W/fnz59jY2JCamoqRkRHnz5+nV69eVKhQgfHjx1O1alXgU52q77//XnnrKfUihFp+++Y9ISEBU1NTACZOnEhQUBCbN28mX758pKSkULlyZfr27cusWbPUClmI/9r79+/JmTOnPH+F6gICAti/fz8jRoygUqVKyrG+ffvy8OFD8uXLpzyXX716hb29PWvWrMlQUFpmUInPzatXr9Dr9eTPn1/tUIQQQnxG5HXy35CWnJo+fTqtWrWievXqzJo1i5cvX1KrVi38/f25ceMGM2fOZM2aNbRp04bu3buj0+mUt54yOBJqef/+Pe/fvycxMREArVarnGvTpg2HDx+mbNmy5M6dmxw5cmBnZyftVXz2rKyslJ0mpT0LNej1eh4/fky3bt3w9/dn9erVhIeHA+Do6EjlypXp3Lkz79+/V14aJCQkkC1btt/VrJTklPjc5MuXT5JTQggh/jFJUP2F9JPL/P398fLywtXVlTJlynD06FF+/PFHnj17Rs2aNfH39+fDhw/4+PgQHx/P69evM+x6JoQaAgICcHR0pH79+lSrVo3Xr19jaGiotO2aNWuSL18+5fr4+HgMDQ0pUaKEWiEL8a+SZX1CLRqNBltbWwYPHkzx4sXZunUrc+bMISIiAq1Wy+TJk0lJSaFx48YcOXKEoKAghg4dipWVFfXq1VM7fCGEEEKITCdL/P6Go0ePcvToUSpVqkTXrl0BWLNmDevXrydPnjwsXbqUggUL8vr1a1JSUsifPz8GBgakpKRgZCR16IU61q5dy48//siMGTOwsrJi1apV5M2bl927dyszS9IG73q9nujoaH744QciIyM5c+aMzDoRQoj/QlofYN++fRw6dIhmzZoxaNAg6tSpw/z58ylRogRnz55l3rx5nD59mkKFClGgQAGCgoLQarWyNFUIIYQQXx1JUP0fzpw5w5AhQ3j58iW+vr60bdtWOefn58f69evJmzcvnp6eFCpUSDknu0UJNR04cIDBgwezcOFCOnXqBMCcOXOIiopi9OjRmJiYYGFhAUBiYiIHDhxgyZIlREVFceHCBRkcCSHEfyg+Pj7DEr0PHz5QpUoVxo0bR5MmTahVqxb169dnzpw52NnZAXD37l1y5MhB7ty55QWXEEIIIb5akkH5jd/m66pXr06XLl0wNTVl7dq1REdHK+f69etHnz59uHHjBitWrMhwnySnhJpevXpFmzZtaNWqlXLs+PHjbNq0iVq1avHNN9+wZcsWAGJiYkhOTqZOnTpcvHhR2fFMklNCCPHPbN68md69e7N06VKSk5MByJkzJwsXLmTjxo3Y2NiwZ88eTp48yaRJk7hx4wYAJUuWJG/evBgYGKDT6SQ5JYQQQoivksygSue3s55iYmKwsLAgJSWFxYsXs3XrVmrXrs2sWbOwtLRUrgsODqZFixYyoBdZytOnTylcuDAAAwcO5PDhw6xatYpixYqxatUq/Pz8CA8Pp3DhwiQnJyvF02XmlBBC/DN6vZ4nT55QrFgxAIoWLUrOnDnp3bs3DRo0oFChQrRt25YpU6bQokULzp8/T4cOHShfvjyrVq2iaNGi6n4BIYQQQogsQKb5/H/pk1OLFy+mc+fO1KtXD3d3d169esXIkSPp0KEDly9fZuLEicTExCj3tmrVCkNDQ1JTU9UKXwhFWs45LTn17t07ypQpw5kzZ2jRogWlS5dm4sSJAFy6dAnIuLOfJKeEEOKfSSuIvmLFCgoVKkSvXr2oXbs2d+7coWnTpmzduhWdTsf48eN59+4dtWrVYtu2bWi1WooUKaJ2+EIIIYQQWYLMoPqNCRMmsH79en788UdsbW3p3r07Xbt2xc/PD0NDQxYsWEBwcDAlSpRg1apVv9sKWoisJG0XybQEbNrfYWFhDB48GB8fHypVqqR2mEII8VlL/5LL09OTZcuW0bt3b7p3786TJ09YtWoVN27c4P3791y9epVcuXJlmLEtdSuFEEIIIUCKHKRz5coVAgMD2bZtG3Xq1CE0NBRDQ0OaNWuGqakpAG5ubkRFRfHu3TtMTExUjliIP5aWiNJoNMrf8Oktf2JiIu7u7uTJk4cKFSqoGaYQQnwR0mpHGRgYMGLECDQaDQsXLiQ+Pp7JkydTr149nj9/Tnx8PHny5PldvUtJTgkhhBBCfMUJqpEjR9KpUydq1qypDOITEhLInj07derUYceOHfTt2xcvLy/69OlDVFQUly5d4rvvvmPmzJkYGhpmmJkihBpev35N3rx5MxxLS05t2bKFS5cu4enpiaGhIYmJiRw5cgRvb2+ePXtGaGhohkGVEEKI/1z65+nw4cMxMDBg7ty5aDQaBg8erCzlk2euEEIIIcQf+yp7SCkpKWzYsIEhQ4YQFhaW4U3my5cv8fT0ZMCAAcyfP5/BgwcDEBYWxqJFi4iIiMDIyAiNRoNer5dOplDNhg0b6NSpE9euXctQ/0yj0RAYGMigQYOwtbVVjj99+pQLFy5gYWFBWFiYsluftGEhhPjP6XQ65d9pSSoAV1dXxo0bh7+/P6tXr+bhw4fKNUIIIYQQ4ve+uhpUaW8uExMTqVKlCoaGhvj6+mJvb09ycjJ9+vRh165djBw5krlz5wKQmJhIp06dMDY2Ztu2bdK5FKpLS7AuXLiQzp07Y21trZyLiIigVatWjB07VkmwwqeZVe/evcPa2hqNRkNKSopsZS6EEP/QrVu3SExMJDk5mWrVqv3hNelnSS1btozhw4ezfPlyBg0alJmhCiGEEEJ8Vr7aBBV8Wh5VqVIlypcvz6xZs6hatSoHDx5k7ty5fPjwgSFDhpCYmMi+fft48eKFMutEpucLNT1//pw2bdrQv39/hgwZwps3b3jw4AGxsbF888035M2bl+vXr1O5cuU//Yy0ZYBCCCH+Pl9fX2bNmkViYiIajYYyZcqwdOlSSpUq9bsdUNP3FXbs2EH79u1ll1QhhBBCiL/w1SWo0owePZp3794RFhZGREQE5cqVY+3atVSsWJGTJ0+ybds2duzYQfny5SlSpAg+Pj4YGRnJrBOhugcPHuDg4MD58+f55ZdfcHBwIFu2bFy7do0aNWrQp08fBgwYoHaYQgjxRTlx4gQODg6sWbOG4sWLEx8fj4uLC7GxsXh5efHdd9/9rn/w2xdaqampkqQSQgghhPgTX2WCasWKFUyYMIHDhw+TI0cO4uPj6dy5MyYmJvj7+1OxYkUAIiMjyZUrl3KfJKdEVvDw4UOaNGmCr68vs2fPpmLFiowcOZLnz5/j7+/PmTNnmDVrFi1btlQ7VCGE+GL4+PiwYcMGjh07lmEX38aNG/P48WM2bdpEzZo1ZZa1EEIIIcR/6KvsQf388880aNCAatWqUapUKSpWrMiFCxeIi4vD2dmZS5cukZqamiE5pdfrJTklVJeamkq2bNnInz8/wcHBmJmZMXDgQAoWLEi1atUYMWIE2bJlIyQkRO1QhRDii5D2Hu/ly5c8f/5cSU4lJCQAcPz4cfLmzcuPP/4ISBF0IYQQQoj/1Bffi0q/u06aDx8+8Pr1a+XvhIQErKysGD9+PBcuXKBXr17cvXs3wz1Sr0eoJTU1VRkIGRoakjdvXnr37o2npyfBwcEZ2nKxYsUoUaIE9+/fVytcIYT4YqSv1/fDDz/w8eNHZsyYAYCpqSmJiYkAbNu2jadPn7J+/XrVYhVCCCGE+Nx98QmqtDeZp06d4tGjRwAMHDiQGzdusHDhQuBTJxPA0tISJycnKleuTMmSJVWJV4j0du/eTe/evalbt66yjA/AycmJBQsWALB69Wpu374NQGxsLE+fPsXOzk61mIUQ4kuwY8cOfH19lRlUBQoUwMXFhV27duHj4wOAiYkJOp0OS0tLcufOTUxMjJohCyGEEEJ81r6KNWvnzp2jU6dO9O/fHxcXF2rVqsXIkSNZvnw5CQkJDBs2jA8fPrBu3ToaNmzImDFjAClmKtS1bt06Ro4cSd++fSlSpAjLly/nw4cP+Pn5ATBq1CgMDAyYMmUK9+7dI0+ePHz8+JEPHz4wbtw4laMXQojP16pVq3B2dubo0aPKDCpzc3O6d+/O06dPWb16NTExMYwcORIDAwMsLCwwMTGRPoMQQgghxH/hqymSPmPGDAICAmjfvj0jRowAft0u2szMDK1WS65cubh8+TJarVblaMXX7syZM/Tu3Rt3d3d69uwJwOnTp2nbti0nT56kfPnyyqDp2LFjhISEcPfuXYoVK8bYsWMxMjKSBKsQQvwHVq9ejYuLC5s2baJTp05K0fO0/4+IiGD16tVs3bqVChUqULZsWUJCQoiMjOTatWtSr1IIIYQQ4j/0xSWo0teLSExMzLDTzqxZs9iwYQOdO3dmxIgRWFtb8+LFC86ePYuZmRktWrTA0NBQdusTqkpNTWXhwoVcunSJtWvXkj17dnQ6Hc+fP6du3brs2bOHihUr/uVOUZKcEkKIf27btm107doVHx8fBgwYwL179/D39+fOnTsYGRkxadIkSpcuzbt377hy5QqLFi0iR44c5MyZEy8vL3k5IIQQQgjxX/jisjBpyally5aRkJDAgAEDyJkzJwATJ05Er9ezdOlS4FMtqiJFitCxY0fl/tTUVElOCVUZGhrSsWNHbGxsyJ49O/CpXefLlw8zMzNiY2OBv94pSgZHQgjxz/3888+Ym5tjamrKyZMn6du3L/b29qSkpBAZGUnVqlXZuXMnzZo1o0mTJjRp0iTD/fKCSwghhBDiP/fF9qIiIiIICgoiW7ZsdOvWTUlSTZo0iZs3b7J27Vqio6OZMGECefPmVe6Tgb3ICkqUKEGJEiWUvzUaDQYGBiQkJPDu3Tvl+OzZs2nVqhUVK1ZUI0whhPiiTJ48meTkZEaNGoWhoSG9evVi8uTJZMuWDYCePXsqG61YWlr+7n5JTgkhhBBC/Oe+iJ7UiRMnaNSoEQBTp04lb968LF++HENDQxYuXIhOp+OHH37AysoKAFtbW27evMnHjx/JkyePmqEL8bfo9XpSUlIwNjYmV65cADRv3pzbt28zduxYlaMTQojPX9rSvOnTp6PVagkNDcXV1VVJTgH079+fffv2cefOHapUqaJitEIIIYQQX57PPkH19u1bunfvTokSJbC3t8fPz4+zZ88C4OXlhV6vx8PDg9TUVNq1a4etrS2PHz/Gw8ODJk2aoNFoMtStEiIr0ul0pKSkkC1bNlJTU2nfvj1Pnjzh3r17GBoa/mU9KiGEEP+39DUoJ0+ezM2bNylQoACA8oyNj4+nRIkSGWZeCyGEEEKIf8cXUST9/v37VKhQAY1Gw+nTp7G3tychIQFTU1MARo4cyeHDh0lMTCRbtmwkJiYSHh6OkZGRDOzFZyMlJYUKFSrw8OFDChcuzM2bN9FqtVLzRAgh/iV/9cIqKSmJ9u3bY25uzrZt2+TFlhBCCCHEv+yzTVCFhYVhYmJC2bJlCQ8Pp3HjxhgZGVGmTBkOHjyIVqvNsIvfrl27uH//PgkJCYwbN0522hGfnaioKEqXLk2uXLm4evUqRkZGkpwSQoh/SVpyasuWLVy6dAlPT08AEhISOHToEMuXL+fFixeEhoai1WrlBZcQQgghxL/ssxzZbtq0iZkzZ1KjRg1mz55N+fLluXfvHr/88gutW7emadOmHD16VElOAbRp0ybDQF6SU+Jzkz17ds6cOYOtra0kp4QQ4j/0Z4kljUZDYGAggwYNYsaMGcrxJ0+ecPr0aYyNjQkLC5PnrxBCCCHE/8hnN4Nq3bp1DBkyhOXLl1OtWjXKli2rnNPr9YSEhNCpUydKlChBUFAQZmZm9O/fH3t7e4YOHSr1psQXQQZHQgjxz23dupU7d+4wduzYDC+xAG7cuIGDgwOjR49m8ODBynG9Xs+bN2/IkycPGo1Gnr9CCCGEEP8jn1WCKi35NH/+fDp16pThXFRUFNmzZwcgNDSUTp06kZqaio2NDW/fvuX27dvSoRRCCCG+Unv27KF9+/YAjB8/nmnTpmXoF7x//547d+5Qo0aNP/0MecklhBBCCPG/81llbJ49e0aBAgVo1qyZcmzfvn2cOHGCwMBA6tWrR9euXWnVqhUXL15k8eLFmJmZSc0pIYQQ4iv2yy+/sH79esaNG0fp0qUZMGAAKSkpzJo1CyMjI/R6PVZWVn+ZnAIkOSWEEEII8T/0WSWo3r59S0hICImJiQC4uroSEhKCVqvF0dGRCxcusGTJEsqUKUOxYsWYNWuWcq9MyRdCCCG+TkZGRtSrV4/q1atTp04dzMzM6N69OxqNhpkzZ0r/QAghhBAiC/isemTt27fH39+fIkWKkC9fPgCmTZtGkyZNKFy4MLt27aJr1668efOGYsWKZbhXOp9CCCHE1yl//vz07duXnDlzAtC5c2f0ej09evRAr9crM6mioqJ49uwZ3377rboBCyGEEEJ8hT6rrI21tTVbtmzh8OHDxMfH07t3b8zMzJTzBQsWpEKFCpibm6sYpRBCCCHUduHCBUxNTalUqRIAOXLkyHC+S5cuAPTo0QMDAwNcXFzo2bMn1apVY/78+ZkdrhBCCCHEV++zKpL+V+Li4ujSpQt6vZ69e/f+4RbSQgghhPjynTp1ioYNG9K1a1dGjhxJ1apV//Ta7du307NnT8zMzMiVKxe3bt1Cq9VmYrRCCCGEEAIgS2ZxIiMj/89r0vJqHz9+5KeffqJTp048efKEXbt2YWBggE6n+1+HKYQQQogs6MWLF2i1Wl6+fMnSpUsJCwvLcD41NVX5d7NmzShQoADlypXj9u3baLVaUlJSMjtkIYQQQoivXpZLUK1atYpx48YRHR39l9dpNBqSk5NZvXo1kyZNwszMjNDQUKVjKTOohBBCiK9TzZo16dq1K4MHD+bmzZt4eHjw8OFDgAw7+sbHx9OjRw+Sk5M5ceIERkZGsqmKEEIIIYRKslQWx8fHB2dnZ1q2bImlpWWGc380I0qr1eLg4MC8efPYtm2bdCyFEEKIr5xeryclJYUzZ87QvHlzxo4dy/3795kyZQo5c+bEzc1NuTYhIYGOHTvy8OFD6UMIIYQQQqgsy/TC/Pz8cHFxITAwEAcHB2JjY0lNTSUuLo78+fNjYGCAXq9Ho9FkuM/Ozg47OzvgUxJLOpZCCCHE10uv11OiRAnKli3Lo0eP6Ny5M6mpqQwcOJAcOXLQokUL5VorKyt69+4NfJpZJX0IIYQQQgj1ZIkZVD/99BMDBgxg+vTpODg4cOfOHQYMGECtWrVo1qwZvXv3VpJT6etG/JYs6xNCCCG+bml9Ab1ez5UrV9Dr9cyfP58iRYqQL18+tm7dysWLF393X9qyPyGEEEIIoY4skdGpW7cupUqV4sCBAwQEBNC0aVOyZcvGwIEDcXJy4tixYzRr1gyQDqQQQggh/lzaJiq1atXi7t271KpVi+zZsxMeHs7EiRM5fvw4hw8fVjlKIYQQQgjxWxp9Wk8uk6XNiEpOTkar1ZKcnIy9vT0RERFMmDCBKVOmYGxsDMD58+f5/vvv8fLyokePHmqEK4QQQojPSHBwMG3atKFBgwZs3bqVfPnyAXD8+HEaNGggL7yEEEIIIbIY1YotJCUlYWJiokzF12q1XL16lREjRtCiRQslOQVQpEgRTExMSExMVCtcIYQQQnxGmjRpQmBgILVr1yZv3rzKi7HGjRsDGXfzE0IIIYQQ6lMlQbV792527NjBy5cvKVq0KIsWLSJHjhwYGRnh5eX1u+tTUlIoWrQohQoVUiFaIYQQQnxuTE1NcXBwUP7+7SYrkpwSQgghhMhaMr0G1dq1a+nVqxfFixenRIkS3L59mx49epCUlPS7a/V6PdHR0QwdOhRjY2O+++67zA5XCCGEEEIIIYQQQvyPZeoMqjNnzjBjxgx8fHzo2rUrAAEBAcyYMYPnz59TtGhR5drExESCgoLw8PAgPj6eixcvYmhoKFPyhRBCCCGEEEIIIb4wmTaDSqfTcePGDSpWrEizZs3Q6XQAtGzZknfv3vHo0aMM18fFxZGQkECtWrW4dOkSWq2WlJQUSU4JIYQQQgghhBBCfGEybQaVgYEBVapUoXjx4lhbWwOfaksZGBhgZGTEbzcTtLKyol27dnTv3h34VMzUyEi1mu5CCCGEEEIIIYQQ4n8kU2tQVa1alWbNmgGf6ksZGRlhYWGBhYWFskOfXq9n8ODBREdHY2FhodwrM6eEEEIIIYQQQgghvkyZmqBKv4NO+n/rdDoMDD6F0qZNGwICAjAzM8vM0IQQQgghhBBCCCGESjJ1zZxer8+QmEpOTiYpKYnU1FR0Oh3dunXj3r17vH79GiMjIymILoQQQgghhBBCCPEVyJQZVDqdTklObdmyhREjRgCg1WoxNjZGq9XStm1brl27Rnh4uBREF0IIIYQQQgghhPiK/OsJqjNnzrBs2TJWr15NeHj4p/+IgQEajYbAwEAGDRqEra2tcr1WqyVHjhyUL1+e69evK8kpKYguhBBCCCGEEEII8XXQ6H+7fd5/Yc2aNYwbN47y5ctz7do1WrZsyYoVK7C0tOTGjRu0a9cONzc3Bg8erNyj1+s5e/YstWrVwtDQUJJTQgghhBBCCCGEEF+Zfy1BdeTIEbp168aqVavo0KEDhw8fxsHBgYiICIoWLUpUVBR37tyhatWqyj2/rUklNaeEEEIIIYQQQgghvj7/WoJq0qRJREREEBgYCHyqO9W0aVO+//57UlJSqFSpEs2bNwd+n5gSQgghhBBCCCGEEF+vf20tXVJSEpGRkdy4cYNy5crh6OjItWvXyJMnD8+fP2fjxo28ffuW7t27S3JKCCGEEEIIIYQQQij+tRlUwcHBjBgxAmNjY6ysrHjw4AHHjx+ndOnSvH79GmdnZ8zNzVm7dq3UmBJCCCGEEEIIIYQQiv86U6TT6TAwMKBVq1ZYW1uj1+vZuHEj5cqVo3Tp0gDkzZsXW1tbbt68KTWmhBBCCCGEEEIIIUQGBv/JTadPn+b8+fNKcio1NRWAWrVqUbt2bXLkyJFhllRCQgI3btygTJkysrxPCCGEEEIIIYQQQmTwj2dQbd26lR9++IGKFSvi6+tL5cqVMTQ0zFD4vHTp0vTr1w9ra2ty5szJ8ePHefnyJfv37wekSLoQQgghhBBCCCGE+NU/qkF148YN+vTpw/fff8+uXbvQaDT4+flRpUoVNBqNMqMKYOHChXh7e2NjY4OdnR1+fn4YGRmRmpoqy/yEEEIIIYQQQgghhOIfJaguXLjA1q1bGTlyJIUKFaJ8+fIYGRmxZs2aP0xSPX/+nJw5c2JmZoZGoyElJUUKpAshhBBCCCGEEEKIDP5Rgio+Pp6XL19SrFgx4FNtqSpVqihJqqpVqwIQHR2NpaVlhntlWZ8QQgghhBBCCCGE+CP/KEGVXlJSEsbGxiQlJWFvb4+RkRFr167FxsaGMWPG0Lx5c3r06PFvxyuEEEIIIYQQQgghvjD/cYIKUJbsJSUlKUv8UlJSSElJISIiQpbzCSGEEEIIIYQQQoj/k8F/c3Na0XNjY2P279/PjRs3sLKy4ubNm8o5IYQQQgghhBBCCCH+yn81gyrNmzdvaNWqFbGxsVy7dg0jIyMpiC6EEEIIIYQQQggh/pb/agZVmvfv3/Ptt99y9epVSU4JIYQQQgghhBBCiH/kX5lBlX6HPklOCSGEEEIIIYQQQoh/4l9JUAkhhBBCCCGEEEII8Z/6V5b4CSGEEEIIIYQQQgjxn5IElRBCCCGEEEIIIYRQlSSohBBCCCGEEEIIIYSqJEElhBBCCCGEEEIIIVQlCSohhBBCCCGEEEIIoSpJUAkhhBBCCCGEEEIIVUmCSgghhBBCCCGEEEKoShJUQgghvnoajeZv/e+nn35SO9QM1q1bh0aj4dGjR5n63927dy8ajYZcuXKRmJiYqf/t34qNjWXevHlUrFiR7NmzY2lpSYkSJejcuTMnT55UNTY17N+/H3d3d7XDEEIIIYT4x4zUDkAIIYRQ2/nz5zP8PWPGDE6cOMHx48czHC9TpkxmhpVlrVmzBoB3796xe/duunTpokocqampNGvWjPDwcNzc3KhevToAd+/eZd++fZw+fZoGDRqoEpta9u/fj7e3tySphBBCCPHZkQSVEEKIr17NmjUz/J0nTx4MDAx+d/y34uLiMDc3/1+Glqn+zvd5+fIl+/fvp3Hjxpw7d441a9aolqA6deoU586dw8/Pj759+yrHmzdvztChQ9HpdKrEJYQQQggh/jlZ4ieEEEL8DQ0bNqRcuXKcOnWK2rVrY25uTr9+/QAICAigWbNm2NjYYGZmxv9r7+5jqqr/OIC/r8gV7oNxL4peRyaTfGpQWZGAxijHY6xJrBJu3gvOiGRgscKKxAcKBE2SUGsjpHhQXKNCQadAulkMjcam5soJJCU+gBhRGFe+vz/YPT9P96IXsfjV7/3a7h/nc76fcz7njD/YZ9/v98ydOxerV69GX1+flJ+fnw+FQoEzZ87YXDs9PR1KpRKXL1+WYocOHcITTzyBiRMnQqVSITAwEHV1dQ7V6kju2rVroVAo0NzcjJiYGOh0OsycOfOW1y4pKYHFYsHLL7+M6Oho1NXVob293WZcT08Pli9fDr1eD41Gg8jISJw9exYKhcJmds8PP/yA2NhYeHh4YMKECZg7dy4KCwtvWUtXVxcAwGAw2D0/bpz835zOzk4kJibC09MTSqUSXl5eWLduHSwWi2xcR0cHYmJioNVq4ebmhri4OBw7dgwKhQI7d+6UxpnNZmg0Gpw+fRqhoaFQq9UwGAzIyckBADQ2NmLhwoVQq9WYNWsWSkpKbGp0pKa2tjYoFAps2rQJ7777Lry8vKDRaODv74/GxkZZPdb3duPS1L97CSgRERHR7WCDioiIyEHnz5+H0WhEbGwsampq8NJLLwEYarBERESgqKgI+/fvx6pVq1BZWYmoqCgp12g0QqlUyhocwNAytdLSUkRFRWHSpEkAgNLSUoSEhGDixIkoKSlBZWUl9Ho9QkNDb9mkGmludHQ0vL29sWfPHuzYseOW7+Cjjz6CwWBAeHg4EhISMDg4aPNMg4ODiIqKQnl5OdLT01FVVYVHH30UYWFhNtc7deoUHnnkEZw4cQKbN2/G3r17ERkZiZSUFKxbt+6mtTz88MNwdnZGamoqysrKcP78+WHHdnZ2ws/PDwcOHMCaNWtQW1uL5cuXIzs7GytWrJDG9fX1ITg4GA0NDdi4cSMqKysxZcqUYWeJDQwMIDo6GpGRkfj8888RHh6O119/HW+88QZMJhMSEhJQVVWF2bNnw2w245tvvhlxTVaFhYU4ePAg8vPzUVZWhr6+PkRERODq1asAgLfeegsxMTEAhpatWn/DNfCIiIiI/qcIIiIikjGZTEKtVstiQUFBAoCoq6u7ae7g4KAYGBgQhw8fFgBES0uLdC46Olp4enqK69evS7GamhoBQFRXVwshhOjr6xN6vV5ERUXJrnv9+nVx//33Cz8/PylWXFwsAIjW1tYR52ZmZgoAYs2aNQ68kSFHjhwRAMTq1aulZ/Xy8hL33HOPGBwclMbt27dPABDbt2+X5WdnZwsAIjMzU4qFhoYKT09PcfXqVdnY5ORk4eLiIrq7u29aU1FRkdBoNAKAACAMBoNYtmyZOHLkiGxcYmKi0Gg0or29XRbftGmTACBOnjwphBCisLBQABC1tbU2+QBEcXGxFDOZTAKA+PTTT6XYwMCAmDx5sgAgmpubpXhXV5dwcnISr7zyyohram1tFQCEj4+PsFgs0rimpiYBQFRUVEixlStXCv57R0RERP9EnEFFRETkIJ1Oh8cff9wmfvbsWcTGxmLq1KlwcnKCs7OztDn3d999J42Lj49HR0cHDh06JMWKi4sxdepUhIeHAwC++uordHd3w2QywWKxSL/BwUGEhYXh2LFjsqWDN7qd3Kefftrh57dujm5d2qhQKGA2m9He3i6bnWX9et4zzzwjy1+6dKnsuL+/H3V1dViyZAlUKpWs5oiICPT398uWsNmTkJCAjo4OlJeXIyUlBXfffTdKS0sRFBSEvLw8adzevXsRHByMadOmye5jfe/Wmg8fPgytVmsz2+vPtVspFApERERIx+PHj4e3tzcMBgMefPBBKa7X6+Hh4SFbDuloTVaRkZFwcnKSjn19fQHA7hJLIiIion8abpJORETkIHtLpX799VcsWrQILi4uyMrKwqxZs6BSqXDu3DlER0fj999/l8aGh4fDYDCguLgYISEhuHLlCr744gukpqZKjYcLFy4AgLRUy57u7m6o1Wqb+O3kOrr8q7e3F3v27IGfnx8mT56Mnp4eAMCSJUuwdu1aFBUVYfHixQCG9oYaP3489Hq97BpTpkyRHXd1dcFisaCgoAAFBQV273vjvlzDueuuu7B06VKpiXTy5EksXrwYb775JlasWAE3NzdcuHAB1dXVcHZ2vul9urq6bOq0V7uVSqWCi4uLLKZUKm2e3Rrv7++Xjh2tycrd3V12PGHCBACQ/Y0RERER/VOxQUVEROQghUJhE6uvr8fPP/+ML7/8Upo1BUBq4NzIyckJzz//PLZu3Yqenh6Ul5fj2rVrsi/QWfehKigoGPYrgsM1S24n194z2VNRUYHffvsNTU1N0Ol0Nuerqqpw5coV6HQ6uLu7w2KxoLu7W9ao6ezslOXodDrpnaxcudLufb28vByq70b33XcfniHAzbkAAASYSURBVHvuOeTn5+P777+Hn58fJk2aBF9fX7z99tt2c6ZNmwZgqAnU1NRkc/7Ptd8JjtZERERE9P+ADSoiIqJRsDZ4rLNZrD744AO74+Pj45Gbm4uKigrs3LkT/v7+mDNnjnQ+MDAQbm5uOHXqFJKTk0dUy2hyb6WoqAharRafffaZzdfxjh8/jldffRVlZWVITk5GUFAQcnNzsXv3biQlJUnjdu3aJctTqVQIDg7Gt99+C19fXyiVyhHV1NXVBa1Wazfv9OnTAP7b5HnyySdRU1ODmTNn2m2wWQUFBaGyshK1tbXSUjt7td8JjtY0EjfOqnJ1db0j1yQiIiL6O7BBRURENAoBAQHQ6XR48cUXkZmZCWdnZ5SVlaGlpcXu+Dlz5sDf3x/Z2dk4d+4cPvzwQ9l5jUaDgoICmEwmdHd3IyYmBh4eHrh06RJaWlpw6dIlbN++3e61R5N7MydOnEBTUxOSkpLs7sEVGBiIzZs3o6ioCMnJyQgLC0NgYCDS0tLwyy+/4KGHHsLXX3+Njz/+GABkDa733nsPCxcuxKJFi5CUlIQZM2agt7cXZ86cQXV1Nerr64etq6GhAampqYiLi0NAQADc3d1x8eJFVFRUYP/+/Vi2bBk8PT0BAOvXr8fBgwcREBCAlJQUzJ49G/39/Whra0NNTQ127NgBT09PmEwmbNmyBUajEVlZWfD29kZtbS0OHDhgU/toOVrTSPj4+AAANm7ciPDwcDg5Od1W84+IiIjo78YGFRER0Si4u7tj3759SEtLg9FohFqtxlNPPYXdu3dj/vz5dnPi4+PxwgsvwNXVFc8++6zNeaPRiOnTpyM3NxeJiYno7e2Fh4cHHnjgAZjN5pvWM5rc4Vg3R09MTLR73tnZGWazGTk5OWhubsb8+fNRXV2NtLQ05OTk4I8//kBgYCBKS0uxYMECuLm5Sbnz5s1Dc3MzNmzYgIyMDFy8eBFubm649957ZZuP27NgwQIkJCSgoaEBn3zyCS5fvgxXV1fMmzcPBQUFstlbBoMBx48fx4YNG5CXl4eOjg5otVp4eXkhLCxMmsGkVqtRX1+PVatW4bXXXoNCoUBISAi2bduGiIgIWe2j5WhNIxEbG4ujR49i27ZtWL9+PYQQaG1txYwZM+5Y3URERER/BYUQQox1EURERPTvV15ejri4OBw9ehQBAQFjXc6IvPPOO8jIyMCPP/444llNRERERHRrnEFFREREd1xFRQV++ukn+Pj4YNy4cWhsbEReXh4ee+yx//nm1Pvvvw9gaDnmwMAA6uvrsXXrVhiNRjaniIiIiP4ibFARERHRHafVarFr1y5kZWWhr68PBoMBZrMZWVlZY13aLalUKmzZsgVtbW24du0apk+fjvT0dGRkZIx1aURERET/WlziR0REREREREREY+rOfYqGiIiIiIiIiIjoNrBBRUREREREREREY4oNKiIiIiIiIiIiGlNsUBERERERERER0Zhig4qIiIiIiIiIiMYUG1RERERERERERDSm2KAiIiIiIiIiIqIxxQYVERERERERERGNKTaoiIiIiIiIiIhoTP0HSDHwwMb7VDcAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "\n", + "\n", + "data = {\n", + " 'Airplane': [9, 29, 13, 10, 1],\n", + " 'Bus': [2, 3, 1, 0, 0],\n", + " 'Ferry': [0, 1, 0, 0, 0],\n", + " 'Flight': [2, 6, 2, 3, 0],\n", + " 'Private Car': [0, 1, 1, 1, 0],\n", + " 'Rental Car': [2, 9, 0, 2, 0],\n", + " 'Subway': [0, 1, 0, 0, 0],\n", + " 'Train': [4, 18, 11, 4, 1]\n", + "}\n", + "\n", + "index = [\n", + " \"18-25 Students-Early Professionals\",\n", + " \"26-33 Young Professionals\",\n", + " \"34-40 Young Parents\",\n", + " \"41-50 Money & Energy Group\",\n", + " \"51-60 Rich but Tired\"\n", + "]\n", + "\n", + "transport_df = pd.DataFrame(data, index=index)\n", + "\n", + "plt.figure(figsize=(12, 7))\n", + "transport_df.plot(kind='bar', stacked=True, colormap='tab20', figsize=(12,7))\n", + "\n", + "plt.title(\"Count of Transportation Types per Traveler Age Segment\", fontsize=16)\n", + "plt.xlabel(\"Traveler Age Segment\", fontsize=12)\n", + "plt.ylabel(\"Count of Trips\", fontsize=12)\n", + "plt.xticks(rotation=45, ha='right')\n", + "plt.legend(title='Transportation Type', bbox_to_anchor=(1.05, 1), loc='upper left')\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7871c8d8-ac2f-4e78-a962-6d16619926c4", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7b8fbdc7-4263-4035-a696-571560ed07c0", + "metadata": {}, + "outputs": [], + "source": [ + "--------------------------------------------" + ] + }, + { + "cell_type": "code", + "execution_count": 72, "id": "8d38e217-f527-4baa-937a-8178bcb82af0", "metadata": {}, "outputs": [], @@ -645,7 +1158,7 @@ }, { "cell_type": "code", - "execution_count": 50, + "execution_count": 73, "id": "e6d750c1-c3aa-41a0-921f-1d12ffd98e1c", "metadata": {}, "outputs": [ @@ -740,7 +1253,7 @@ "5 Villa 5 7.600000 6.0 11.0" ] }, - "execution_count": 50, + "execution_count": 73, "metadata": {}, "output_type": "execute_result" } @@ -752,7 +1265,7 @@ }, { "cell_type": "code", - "execution_count": 51, + "execution_count": 74, "id": "1b1949ae-73f9-4831-9542-4d70ef502ce2", "metadata": {}, "outputs": [], @@ -771,7 +1284,7 @@ }, { "cell_type": "code", - "execution_count": 52, + "execution_count": 75, "id": "f311b445-b9f8-4300-9c5b-68e7015df4cf", "metadata": {}, "outputs": [ @@ -809,7 +1322,7 @@ }, { "cell_type": "code", - "execution_count": 53, + "execution_count": 76, "id": "5df391d9-71b0-497e-b7ef-9d45e39b4fed", "metadata": {}, "outputs": [ @@ -826,7 +1339,7 @@ "Name: count, dtype: int64" ] }, - "execution_count": 53, + "execution_count": 76, "metadata": {}, "output_type": "execute_result" } @@ -856,7 +1369,7 @@ }, { "cell_type": "code", - "execution_count": 62, + "execution_count": 77, "id": "9d2eb19f-40c9-4311-81a3-887e6ef36966", "metadata": {}, "outputs": [ @@ -899,7 +1412,7 @@ }, { "cell_type": "code", - "execution_count": 65, + "execution_count": 78, "id": "63e2d310-c28b-4c1f-ac56-c5a979f10f2f", "metadata": {}, "outputs": [ @@ -924,7 +1437,7 @@ { "cell_type": "code", "execution_count": null, - "id": "cc51f48d-1d10-4602-a4c1-2b91784c10b4", + "id": "083ce1eb-bbe8-47da-ad57-337e7c300473", "metadata": {}, "outputs": [], "source": []