From a3378310db136f823474f1ab247e6dd701be2e15 Mon Sep 17 00:00:00 2001 From: Tiago Date: Sun, 8 Dec 2024 18:29:25 +0000 Subject: [PATCH] update --- Presentation_Tab_work.twb | 4734 +++++++++++++++++++++++++++++++++++++ Work_READ_ME_file.pdf | Bin 0 -> 56846 bytes Work_SQL.sql | 36 + work_mycode.ipynb | 3306 ++++++++++++++++++++++++++ 4 files changed, 8076 insertions(+) create mode 100644 Presentation_Tab_work.twb create mode 100644 Work_READ_ME_file.pdf create mode 100644 Work_SQL.sql create mode 100644 work_mycode.ipynb diff --git a/Presentation_Tab_work.twb b/Presentation_Tab_work.twb new file mode 100644 index 0000000..03ab0f1 --- /dev/null +++ b/Presentation_Tab_work.twb @@ -0,0 +1,4734 @@ + + + + + + + + + + + + + + + + + <_.fcp.VConnDownstreamExtractsWithWarnings.true...VConnDownstreamExtractsWithWarnings /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0 + [Sheet1] + + Count + true + + 0 + "A1:AH10001:no:A1:AH10001:0" + true + 6 + + + + hotel + 130 + [hotel] + [Sheet1] + hotel + 0 + string + Count + true + + + "WSTR" + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + is_canceled + 20 + [is_canceled] + [Sheet1] + is_canceled + 1 + integer + Sum + true + + "I8" + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + lead_time + 20 + [lead_time] + [Sheet1] + lead_time + 2 + integer + Sum + true + + "I8" + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + arrival_date_year + 20 + [arrival_date_year] + [Sheet1] + arrival_date_year + 3 + integer + Sum + true + + "I8" + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + arrival_date_month + 130 + [arrival_date_month] + [Sheet1] + arrival_date_month + 4 + string + Count + true + + + "WSTR" + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + arrival_date_week_number + 20 + [arrival_date_week_number] + [Sheet1] + arrival_date_week_number + 5 + integer + Sum + true + + "I8" + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + arrival_date_day_of_month + 20 + [arrival_date_day_of_month] + [Sheet1] + arrival_date_day_of_month + 6 + integer + Sum + true + + "I8" + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + stays_in_weekend_nights + 20 + [stays_in_weekend_nights] + [Sheet1] + stays_in_weekend_nights + 7 + integer + Sum + true + + "I8" + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + stays_in_week_nights + 20 + [stays_in_week_nights] + [Sheet1] + stays_in_week_nights + 8 + integer + Sum + true + + "I8" + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + adults + 20 + [adults] + [Sheet1] + adults + 9 + integer + Sum + true + + "I8" + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + children + 20 + [children] + [Sheet1] + children + 10 + integer + Sum + true + + "I8" + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + babies + 20 + [babies] + [Sheet1] + babies + 11 + integer + Sum + true + + "I8" + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + meal + 130 + [meal] + [Sheet1] + meal + 12 + string + Count + true + + + "WSTR" + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + country + 130 + [country] + [Sheet1] + country + 13 + string + Count + true + + + "WSTR" + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + market_segment + 130 + [market_segment] + [Sheet1] + market_segment + 14 + string + Count + true + + + "WSTR" + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + distribution_channel + 130 + [distribution_channel] + [Sheet1] + distribution_channel + 15 + string + Count + true + + + "WSTR" + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + is_repeated_guest + 20 + [is_repeated_guest] + [Sheet1] + is_repeated_guest + 16 + integer + Sum + true + + "I8" + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + previous_cancellations + 20 + [previous_cancellations] + [Sheet1] + previous_cancellations + 17 + integer + Sum + true + + "I8" + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + previous_bookings_not_canceled + 20 + [previous_bookings_not_canceled] + [Sheet1] + previous_bookings_not_canceled + 18 + integer + Sum + true + + "I8" + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + reserved_room_type + 130 + [reserved_room_type] + [Sheet1] + reserved_room_type + 19 + string + Count + true + + + "WSTR" + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + assigned_room_type + 130 + [assigned_room_type] + [Sheet1] + assigned_room_type + 20 + string + Count + true + + + "WSTR" + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + booking_changes + 20 + [booking_changes] + [Sheet1] + booking_changes + 21 + integer + Sum + true + + "I8" + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + deposit_type + 130 + [deposit_type] + [Sheet1] + deposit_type + 22 + string + Count + true + + + "WSTR" + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + agent + 20 + [agent] + [Sheet1] + agent + 23 + integer + Sum + true + + "I8" + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + company + 20 + [company] + [Sheet1] + company + 24 + integer + Sum + true + + "I8" + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + days_in_waiting_list + 20 + [days_in_waiting_list] + [Sheet1] + days_in_waiting_list + 25 + integer + Sum + true + + "I8" + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + customer_type + 130 + [customer_type] + [Sheet1] + customer_type + 26 + string + Count + true + + + "WSTR" + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + adr + 5 + [adr] + [Sheet1] + adr + 27 + real + Sum + 15 + true + + "R8" + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + required_car_parking_spaces + 20 + [required_car_parking_spaces] + [Sheet1] + required_car_parking_spaces + 28 + integer + Sum + true + + "I8" + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + total_of_special_requests + 20 + [total_of_special_requests] + [Sheet1] + total_of_special_requests + 29 + integer + Sum + true + + "I8" + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + reservation_status + 130 + [reservation_status] + [Sheet1] + reservation_status + 30 + string + Count + true + + + "WSTR" + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + reservation_status_date + 130 + [reservation_status_date] + [Sheet1] + reservation_status_date + 31 + string + Count + true + + + "WSTR" + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + rn_sum + 20 + [rn_sum] + [Sheet1] + rn_sum + 32 + integer + Sum + true + + "I8" + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + revenue_total + 5 + [revenue_total] + [Sheet1] + revenue_total + 33 + real + Sum + 15 + true + + "R8" + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + hotel + 129 + [hotel] + [Extract] + hotel + 0 + Sheet1 + string + Count + 2 + true + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + is_canceled + 20 + [is_canceled] + [Extract] + is_canceled + 1 + Sheet1 + integer + Sum + 2 + true + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + lead_time + 20 + [lead_time] + [Extract] + lead_time + 2 + Sheet1 + integer + Sum + 1335 + true + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + arrival_date_year + 20 + [arrival_date_year] + [Extract] + arrival_date_year + 3 + Sheet1 + integer + Sum + 3 + true + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + arrival_date_month + 129 + [arrival_date_month] + [Extract] + arrival_date_month + 4 + Sheet1 + string + Count + 12 + true + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + arrival_date_week_number + 20 + [arrival_date_week_number] + [Extract] + arrival_date_week_number + 5 + Sheet1 + integer + Sum + 53 + true + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + arrival_date_day_of_month + 20 + [arrival_date_day_of_month] + [Extract] + arrival_date_day_of_month + 6 + Sheet1 + integer + Sum + 31 + true + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + stays_in_weekend_nights + 20 + [stays_in_weekend_nights] + [Extract] + stays_in_weekend_nights + 7 + Sheet1 + integer + Sum + 13 + true + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + stays_in_week_nights + 20 + [stays_in_week_nights] + [Extract] + stays_in_week_nights + 8 + Sheet1 + integer + Sum + 49 + true + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + adults + 20 + [adults] + [Extract] + adults + 9 + Sheet1 + integer + Sum + 16 + true + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + children + 20 + [children] + [Extract] + children + 10 + Sheet1 + integer + Sum + 3 + true + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + babies + 20 + [babies] + [Extract] + babies + 11 + Sheet1 + integer + Sum + 2 + true + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + meal + 129 + [meal] + [Extract] + meal + 12 + Sheet1 + string + Count + 5 + true + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + country + 129 + [country] + [Extract] + country + 13 + Sheet1 + string + Count + 226 + true + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + market_segment + 129 + [market_segment] + [Extract] + market_segment + 14 + Sheet1 + string + Count + 7 + true + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + distribution_channel + 129 + [distribution_channel] + [Extract] + distribution_channel + 15 + Sheet1 + string + Count + 3 + true + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + is_repeated_guest + 20 + [is_repeated_guest] + [Extract] + is_repeated_guest + 16 + Sheet1 + integer + Sum + 2 + true + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + previous_cancellations + 20 + [previous_cancellations] + [Extract] + previous_cancellations + 17 + Sheet1 + integer + Sum + 6 + true + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + previous_bookings_not_canceled + 20 + [previous_bookings_not_canceled] + [Extract] + previous_bookings_not_canceled + 18 + Sheet1 + integer + Sum + 27 + true + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + reserved_room_type + 129 + [reserved_room_type] + [Extract] + reserved_room_type + 19 + Sheet1 + string + Count + 8 + true + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + assigned_room_type + 129 + [assigned_room_type] + [Extract] + assigned_room_type + 20 + Sheet1 + string + Count + 10 + true + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + booking_changes + 20 + [booking_changes] + [Extract] + booking_changes + 21 + Sheet1 + integer + Sum + 11 + true + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + deposit_type + 129 + [deposit_type] + [Extract] + deposit_type + 22 + Sheet1 + string + Count + 2 + true + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + agent + 20 + [agent] + [Extract] + agent + 23 + Sheet1 + integer + Sum + 557 + true + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + company + 20 + [company] + [Extract] + company + 24 + Sheet1 + integer + Sum + 398 + true + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + days_in_waiting_list + 20 + [days_in_waiting_list] + [Extract] + days_in_waiting_list + 25 + Sheet1 + integer + Sum + 270 + true + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + customer_type + 129 + [customer_type] + [Extract] + customer_type + 26 + Sheet1 + string + Count + 4 + true + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + adr + 5 + [adr] + [Extract] + adr + 27 + Sheet1 + real + Sum + 4289 + true + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + required_car_parking_spaces + 20 + [required_car_parking_spaces] + [Extract] + required_car_parking_spaces + 28 + Sheet1 + integer + Sum + 2 + true + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + total_of_special_requests + 20 + [total_of_special_requests] + [Extract] + total_of_special_requests + 29 + Sheet1 + integer + Sum + 11 + true + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + reservation_status + 129 + [reservation_status] + [Extract] + reservation_status + 30 + Sheet1 + string + Count + 3 + true + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + reservation_status_date + 129 + [reservation_status_date] + [Extract] + reservation_status_date + 31 + Sheet1 + string + Count + 3366 + true + + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + rn_sum + 20 + [rn_sum] + [Extract] + rn_sum + 32 + Sheet1 + integer + Sum + 31 + true + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + revenue_total + 5 + [revenue_total] + [Extract] + revenue_total + 33 + Sheet1 + real + Sum + 6935 + true + [Sheet1_215B7E52DFDF419FA1049AFA3E28955D] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + <formatted-text> + <run bold='true' fontsize='10'>Average Daily Rate €</run> + <run bold='true' fontsize='9'>Æ </run> + <run fontsize='9'>by Room Type</run> + </formatted-text> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [federated.05shziq025f7hr107fl0s1ic9f05].[avg:adr:qk] + ([federated.05shziq025f7hr107fl0s1ic9f05].[none:hotel:nk] / [federated.05shziq025f7hr107fl0s1ic9f05].[none:reserved_room_type:nk]) +
+ +
+ + + + <formatted-text> + <run bold='true' fontsize='10'>Average Daily Rate € </run> + <run fontsize='9'>by all Reservatoion Status</run> + <run fontsize='12'>Æ </run> + <run fontsize='8'>(mean price)</run> + </formatted-text> + + + + + + + + + + + + + + + + + + + + + + + + [federated.05shziq025f7hr107fl0s1ic9f05].[none:reservation_status:nk] + + + + + + + + + + + + + + + + + + + [federated.05shziq025f7hr107fl0s1ic9f05].[avg:adr:qk] + [federated.05shziq025f7hr107fl0s1ic9f05].[none:hotel:nk] +
+ +
+ + + + <formatted-text> + <run bold='true' fontsize='10'>Reservation Status</run> + <run fontsize='10'>Æ </run> + <run fontsize='9'>- All Room Nights</run> + <run bold='true' fontsize='10'>Æ </run> + <run bold='true' fontsize='8'>( Jul to Dec 2015, 2016, Jan to Jun 2017)</run> + </formatted-text> + + + + + + + + + + + + + + + + + + + + + + + + + + + "Check-Out" + "Canceled" + "No-Show" + + + + [federated.05shziq025f7hr107fl0s1ic9f05].[none:reservation_status:nk] + + + + + + + + + + + + + + + + + + [federated.05shziq025f7hr107fl0s1ic9f05].[pcto:sum:rn_sum:qk:7] + ([federated.05shziq025f7hr107fl0s1ic9f05].[none:hotel:nk] / [federated.05shziq025f7hr107fl0s1ic9f05].[none:reservation_status:nk]) + +
+ +
+ + + + <formatted-text> + <run bold='true' fontsize='10'>% of Total Count of Distribution Channel</run> + </formatted-text> + + + + + + + + + + + + + + + + + + + + + + + + + + + "Corporate" + "Direct" + "TA/TO" + "GDS" + + + + + "City Hotel" + "Resort Hotel" + + + + + + + + + + + [federated.05shziq025f7hr107fl0s1ic9f05].[none:distribution_channel:nk] + [federated.05shziq025f7hr107fl0s1ic9f05].[none:reservation_status:nk] + + + + + + + + + + + + + + + + + [federated.05shziq025f7hr107fl0s1ic9f05].[pcto:cnt:distribution_channel:qk:8] + ([federated.05shziq025f7hr107fl0s1ic9f05].[none:hotel:nk] / [federated.05shziq025f7hr107fl0s1ic9f05].[none:distribution_channel:nk]) + +
+ +
+ + + + <formatted-text> + <run bold='true' fontsize='10'>ADR</run> + <run fontsize='10'> € - Meal Plan</run> + </formatted-text> + + + + + + + + + + + + + + + + + + + + + [federated.05shziq025f7hr107fl0s1ic9f05].[avg:adr:qk] + [federated.05shziq025f7hr107fl0s1ic9f05].[none:hotel:nk] +
+ +
+ + + + <formatted-text> + <run bold='true' fontsize='10'>% of Revenue -</run> + <run fontsize='9'> meal plan rate</run> + </formatted-text> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [federated.05shziq025f7hr107fl0s1ic9f05].[sum:rn_sum:qk] + ([federated.05shziq025f7hr107fl0s1ic9f05].[none:hotel:nk] / [federated.05shziq025f7hr107fl0s1ic9f05].[none:meal:nk]) +
+ +
+ + + + <formatted-text> + <run bold='true' fontsize='10'>Average Daily Rate € </run> + <run fontsize='9'>by Reservation_Status</run> + <run fontsize='12'>Æ </run> + <run fontsize='8'>(mean price)</run> + </formatted-text> + + + + + + + + + + + + + + + + + + + + + [federated.05shziq025f7hr107fl0s1ic9f05].[none:reservation_status:nk] + + + + + + + + + + + + + + + + + + + [federated.05shziq025f7hr107fl0s1ic9f05].[none:adr:qk] + [federated.05shziq025f7hr107fl0s1ic9f05].[none:hotel:nk] +
+ +
+ + + + <formatted-text> + <run bold='true' fontsize='10'>"Active" reservations</run> + <run bold='true' fontsize='8'>Æ </run> + <run bold='true' fontsize='9'>- Checkout Room Nights</run> + <run bold='true' fontsize='8'>Æ </run> + <run fontsize='8'>( Jul to Dec 2015, 2016, Jan to Jun 2017)</run> + </formatted-text> + + + + + + + + + + + + + + + + + + + + + + + "Check-Out" + "Canceled" + "No-Show" + + + + [federated.05shziq025f7hr107fl0s1ic9f05].[none:reservation_status:nk] + + + + + + + + + + + + + + + + + + [federated.05shziq025f7hr107fl0s1ic9f05].[avg:rn_sum:qk] + ([federated.05shziq025f7hr107fl0s1ic9f05].[none:hotel:nk] / [federated.05shziq025f7hr107fl0s1ic9f05].[none:reservation_status:nk]) + +
+ +
+ + + + <formatted-text> + <run bold='true' fontsize='10'>% of Total Count of Distribution Channel</run> + </formatted-text> + + + + + + + + + + + + + + + + + + + + + + + + + + + "Corporate" + "Direct" + "TA/TO" + "GDS" + + + + + "City Hotel" + "Resort Hotel" + + + + + + + [federated.05shziq025f7hr107fl0s1ic9f05].[none:distribution_channel:nk] + [federated.05shziq025f7hr107fl0s1ic9f05].[none:reservation_status:nk] + + + + + + + + + + + + + + + + + [federated.05shziq025f7hr107fl0s1ic9f05].[pcto:cnt:distribution_channel:qk:8] + ([federated.05shziq025f7hr107fl0s1ic9f05].[none:hotel:nk] / [federated.05shziq025f7hr107fl0s1ic9f05].[none:distribution_channel:nk]) + +
+ +
+ + + + <formatted-text> + <run bold='true' fontsize='10'>Total Sales € </run> + <run fontsize='9'>by Room Type</run> + </formatted-text> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [federated.05shziq025f7hr107fl0s1ic9f05].[sum:revenue_total:qk] + ([federated.05shziq025f7hr107fl0s1ic9f05].[none:hotel:nk] / [federated.05shziq025f7hr107fl0s1ic9f05].[none:reserved_room_type:nk]) +
+ +
+ + + + <formatted-text> + <run bold='true' fontsize='10'>"Active" Room Nights</run> + <run fontsize='9'> by Room type</run> + </formatted-text> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + [federated.05shziq025f7hr107fl0s1ic9f05].[pcto:cnt:rn_sum:qk] + ([federated.05shziq025f7hr107fl0s1ic9f05].[none:hotel:nk] / [federated.05shziq025f7hr107fl0s1ic9f05].[none:reserved_room_type:nk]) +
+ +
+ + + + <formatted-text> + <run fontsize='10'>Total _ ADR €</run> + </formatted-text> + + + + + + + + + + + + + + + + + + + 2015 + 2017 + + + + + + + + + [federated.05shziq025f7hr107fl0s1ic9f05].[none:reservation_status:nk] + [federated.05shziq025f7hr107fl0s1ic9f05].[none:hotel:nk] + [federated.05shziq025f7hr107fl0s1ic9f05].[none:arrival_date_year:qk] + + + + + + + + + + + + + + + + [federated.05shziq025f7hr107fl0s1ic9f05].[avg:adr:qk] + ([federated.05shziq025f7hr107fl0s1ic9f05].[none:hotel:nk] * [federated.05shziq025f7hr107fl0s1ic9f05].[none:arrival_date_year:qk]) +
+ +
+ + + + <formatted-text> + <run fontsize='10'>Total Revenue €</run> + </formatted-text> + + + + + + + + + + + + + + + + + + + 2015 + 2017 + + + + + + + + + [federated.05shziq025f7hr107fl0s1ic9f05].[none:reservation_status:nk] + [federated.05shziq025f7hr107fl0s1ic9f05].[none:hotel:nk] + [federated.05shziq025f7hr107fl0s1ic9f05].[none:arrival_date_year:qk] + + + + + + + + + + + + + + + + [federated.05shziq025f7hr107fl0s1ic9f05].[sum:revenue_total:qk] + ([federated.05shziq025f7hr107fl0s1ic9f05].[none:hotel:nk] * [federated.05shziq025f7hr107fl0s1ic9f05].[none:arrival_date_year:qk]) +
+ +
+ + + + <formatted-text> + <run fontsize='10'>Total RN</run> + </formatted-text> + + + + + + + + + + + + + + + + + + + 2015 + 2017 + + + + + + + + + [federated.05shziq025f7hr107fl0s1ic9f05].[none:reservation_status:nk] + [federated.05shziq025f7hr107fl0s1ic9f05].[none:hotel:nk] + [federated.05shziq025f7hr107fl0s1ic9f05].[none:arrival_date_year:qk] + + + + + + + + + + + + + + + + [federated.05shziq025f7hr107fl0s1ic9f05].[sum:rn_sum:qk] + ([federated.05shziq025f7hr107fl0s1ic9f05].[none:hotel:nk] * [federated.05shziq025f7hr107fl0s1ic9f05].[none:arrival_date_year:qk]) +
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + bJlullGI/wWH3Rh+L9/ZxgAAAABJRU5ErkJggg== + + +
diff --git a/Work_READ_ME_file.pdf b/Work_READ_ME_file.pdf new file mode 100644 index 0000000000000000000000000000000000000000..637e512b0b9823700920d42328ff8c74f56a5c06 GIT binary patch literal 56846 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 ZX9c6|Yy&s~r0iFx+1c3vOXy!t|6eXz|DON= literal 0 HcmV?d00001 diff --git a/Work_SQL.sql b/Work_SQL.sql new file mode 100644 index 0000000..0c5bebe --- /dev/null +++ b/Work_SQL.sql @@ -0,0 +1,36 @@ +CREATE DATABASE IF NOT EXISTS CSV_CLEAN_DATA; + +USE CSV_CLEAN_DATA; + +-- 1. How many Room Nights each hotel as, in each reservation status +SELECT hotel, reservation_status, SUM(rn_sum) as Total_RN +FROM clean_hotel_data +GROUP BY hotel, reservation_status; + +-- 2 . What is the average daily rate (ADR) for each hotel, only "active" Reservations +SELECT hotel, ROUND(AVG(adr), 2) as ADR_€ +FROM clean_hotel_data +WHERE is_canceled = 0 +GROUP BY Hotel; + +-- 3. For each Hotel how many nights were sold by Distribution Channel +SELECT Distribution_channel, Hotel, ROUND(SUM(rn_sum)) as T_RN +FROM clean_hotel_data +GROUP BY Distribution_channel, Hotel; + +-- 4. For each Hotel how many Meal Plans were sold +SELECT meal, hotel, count(meal) as Qty_Meal_Plan +FROM clean_hotel_data +GROUP BY meal, hotel; + +-- 5. For each Hotel how much Revenue was generate by years +SELECT hotel, arrival_date_year, ROUND(sum(revenue_total), 0) as T_Rev_€ +FROM clean_hotel_data +WHERE is_canceled = 0 +GROUP BY Hotel, arrival_date_year; + +-- 6. For each Hotel how much Revenue was generate by Distribution Channel +SELECT hotel, distribution_channel, ROUND(sum(revenue_total), 0) as T_Rev_€ +FROM clean_hotel_data +WHERE is_canceled = 0 +GROUP BY Hotel, distribution_channel; \ No newline at end of file diff --git a/work_mycode.ipynb b/work_mycode.ipynb new file mode 100644 index 0000000..2ebff42 --- /dev/null +++ b/work_mycode.ipynb @@ -0,0 +1,3306 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 95, + "id": "fa60ea5d-4b54-4c48-bddc-91d2c516cb33", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt # viz\n", + "import seaborn as sns # better viz\n", + "import numpy as np # numerical python\n", + "\n", + "%matplotlib inline\n", + "pd.set_option('display.max_columns', None)" + ] + }, + { + "cell_type": "code", + "execution_count": 96, + "id": "24532935-73d3-4ed9-a9e8-6b18d83c8fd9", + "metadata": {}, + "outputs": [], + "source": [ + "data = pd.read_csv(\"hotel_bookings.csv\")" + ] + }, + { + "cell_type": "code", + "execution_count": 97, + "id": "030dd971-dac7-43c1-ad87-3597c112fcb0", + "metadata": {}, + "outputs": [], + "source": [ + "df = data.copy()" + ] + }, + { + "cell_type": "code", + "execution_count": 98, + "id": "001a4551-ed1b-4787-a259-bcba114c093a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "hotel 0\n", + "is_canceled 0\n", + "lead_time 0\n", + "arrival_date_year 0\n", + "arrival_date_month 0\n", + "arrival_date_week_number 0\n", + "arrival_date_day_of_month 0\n", + "stays_in_weekend_nights 0\n", + "stays_in_week_nights 0\n", + "adults 0\n", + "children 0\n", + "babies 0\n", + "meal 0\n", + "country 0\n", + "market_segment 0\n", + "distribution_channel 0\n", + "is_repeated_guest 0\n", + "previous_cancellations 0\n", + "previous_bookings_not_canceled 0\n", + "reserved_room_type 0\n", + "assigned_room_type 0\n", + "booking_changes 0\n", + "deposit_type 0\n", + "agent 0\n", + "company 0\n", + "days_in_waiting_list 0\n", + "customer_type 0\n", + "adr 0\n", + "required_car_parking_spaces 0\n", + "total_of_special_requests 0\n", + "reservation_status 0\n", + "reservation_status_date 0\n", + "dtype: int64" + ] + }, + "execution_count": 98, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.eq(\" \").sum() # empty Spaces" + ] + }, + { + "cell_type": "code", + "execution_count": 99, + "id": "2762936c-ef04-4bb9-bd92-cd610bd4dc93", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "31994" + ] + }, + "execution_count": 99, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.duplicated().sum() #duplicates - has several but we don´t have a reservation id to see the real duplicate´s" + ] + }, + { + "cell_type": "code", + "execution_count": 100, + "id": "e447ff0c-5d45-499a-8b4f-81da1f5822e7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(119390, 32)" + ] + }, + "execution_count": 100, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 101, + "id": "9af55228-5810-4809-81cf-39b2b7dfe204", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "hotel 0\n", + "is_canceled 0\n", + "lead_time 0\n", + "arrival_date_year 0\n", + "arrival_date_month 0\n", + "arrival_date_week_number 0\n", + "arrival_date_day_of_month 0\n", + "stays_in_weekend_nights 0\n", + "stays_in_week_nights 0\n", + "adults 0\n", + "children 4\n", + "babies 0\n", + "meal 0\n", + "country 488\n", + "market_segment 0\n", + "distribution_channel 0\n", + "is_repeated_guest 0\n", + "previous_cancellations 0\n", + "previous_bookings_not_canceled 0\n", + "reserved_room_type 0\n", + "assigned_room_type 0\n", + "booking_changes 0\n", + "deposit_type 0\n", + "agent 16340\n", + "company 112593\n", + "days_in_waiting_list 0\n", + "customer_type 0\n", + "adr 0\n", + "required_car_parking_spaces 0\n", + "total_of_special_requests 0\n", + "reservation_status 0\n", + "reservation_status_date 0\n", + "dtype: int64" + ] + }, + "execution_count": 101, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.isna().sum() # NaNs, we to drop columns \"Agent + Companys\" and 4 children lines" + ] + }, + { + "cell_type": "code", + "execution_count": 102, + "id": "361e1320-7f13-4ab0-ae36-8b91dfc0b218", + "metadata": {}, + "outputs": [], + "source": [ + "df = df.drop(columns=[\"country\"])" + ] + }, + { + "cell_type": "code", + "execution_count": 103, + "id": "e531a558-b8ef-4ac7-a42a-e42565536900", + "metadata": {}, + "outputs": [], + "source": [ + "df = df.drop(columns=[\"agent\"])" + ] + }, + { + "cell_type": "code", + "execution_count": 104, + "id": "e6b15dc2-3c82-4b1c-b1ec-416fbc6d42ce", + "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", + "
hotelis_canceledlead_timearrival_date_yeararrival_date_montharrival_date_week_numberarrival_date_day_of_monthstays_in_weekend_nightsstays_in_week_nightsadultschildrenbabiesmealmarket_segmentdistribution_channelis_repeated_guestprevious_cancellationsprevious_bookings_not_canceledreserved_room_typeassigned_room_typebooking_changesdeposit_typedays_in_waiting_listcustomer_typeadrrequired_car_parking_spacestotal_of_special_requestsreservation_statusreservation_status_date
0Resort Hotel03422015July2710020.00BBDirectDirect000CC3No Deposit0Transient0.000Check-Out2015-07-01
1Resort Hotel07372015July2710020.00BBDirectDirect000CC4No Deposit0Transient0.000Check-Out2015-07-01
2Resort Hotel072015July2710110.00BBDirectDirect000AC0No Deposit0Transient75.000Check-Out2015-07-02
\n", + "
" + ], + "text/plain": [ + " hotel is_canceled lead_time arrival_date_year arrival_date_month \\\n", + "0 Resort Hotel 0 342 2015 July \n", + "1 Resort Hotel 0 737 2015 July \n", + "2 Resort Hotel 0 7 2015 July \n", + "\n", + " arrival_date_week_number arrival_date_day_of_month \\\n", + "0 27 1 \n", + "1 27 1 \n", + "2 27 1 \n", + "\n", + " stays_in_weekend_nights stays_in_week_nights adults children babies \\\n", + "0 0 0 2 0.0 0 \n", + "1 0 0 2 0.0 0 \n", + "2 0 1 1 0.0 0 \n", + "\n", + " meal market_segment distribution_channel is_repeated_guest \\\n", + "0 BB Direct Direct 0 \n", + "1 BB Direct Direct 0 \n", + "2 BB Direct Direct 0 \n", + "\n", + " previous_cancellations previous_bookings_not_canceled reserved_room_type \\\n", + "0 0 0 C \n", + "1 0 0 C \n", + "2 0 0 A \n", + "\n", + " assigned_room_type booking_changes deposit_type days_in_waiting_list \\\n", + "0 C 3 No Deposit 0 \n", + "1 C 4 No Deposit 0 \n", + "2 C 0 No Deposit 0 \n", + "\n", + " customer_type adr required_car_parking_spaces total_of_special_requests \\\n", + "0 Transient 0.0 0 0 \n", + "1 Transient 0.0 0 0 \n", + "2 Transient 75.0 0 0 \n", + "\n", + " reservation_status reservation_status_date \n", + "0 Check-Out 2015-07-01 \n", + "1 Check-Out 2015-07-01 \n", + "2 Check-Out 2015-07-02 " + ] + }, + "execution_count": 104, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = df.drop(columns=[\"company\"])\n", + "df.head(3)" + ] + }, + { + "cell_type": "code", + "execution_count": 105, + "id": "23a71973-3e15-4ef2-ae48-bdfb6b925473", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "hotel 0\n", + "is_canceled 0\n", + "lead_time 0\n", + "arrival_date_year 0\n", + "arrival_date_month 0\n", + "arrival_date_week_number 0\n", + "arrival_date_day_of_month 0\n", + "stays_in_weekend_nights 0\n", + "stays_in_week_nights 0\n", + "adults 0\n", + "children 4\n", + "babies 0\n", + "meal 0\n", + "market_segment 0\n", + "distribution_channel 0\n", + "is_repeated_guest 0\n", + "previous_cancellations 0\n", + "previous_bookings_not_canceled 0\n", + "reserved_room_type 0\n", + "assigned_room_type 0\n", + "booking_changes 0\n", + "deposit_type 0\n", + "days_in_waiting_list 0\n", + "customer_type 0\n", + "adr 0\n", + "required_car_parking_spaces 0\n", + "total_of_special_requests 0\n", + "reservation_status 0\n", + "reservation_status_date 0\n", + "dtype: int64" + ] + }, + "execution_count": 105, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.isna().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 106, + "id": "2ab4e892-f89a-46d1-bf66-395e35d6f27c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.0" + ] + }, + "execution_count": 106, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df['children'].median()" + ] + }, + { + "cell_type": "code", + "execution_count": 107, + "id": "6e889d1a-b2be-4705-86ce-f31b5cae7ac4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.10388990333874994" + ] + }, + "execution_count": 107, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df['children'].mean()" + ] + }, + { + "cell_type": "code", + "execution_count": 108, + "id": "e30c1a5e-d8c4-46f0-a6e0-e3448bb6c8bb", + "metadata": {}, + "outputs": [], + "source": [ + "df[\"children\"] = df[\"children\"].fillna(df[\"children\"].median()) # refilled the 4 children Rows with the median" + ] + }, + { + "cell_type": "code", + "execution_count": 109, + "id": "0339a836-eda3-4f7b-83d2-a422833d94ce", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "hotel 0\n", + "is_canceled 0\n", + "lead_time 0\n", + "arrival_date_year 0\n", + "arrival_date_month 0\n", + "arrival_date_week_number 0\n", + "arrival_date_day_of_month 0\n", + "stays_in_weekend_nights 0\n", + "stays_in_week_nights 0\n", + "adults 0\n", + "children 0\n", + "babies 0\n", + "meal 0\n", + "market_segment 0\n", + "distribution_channel 0\n", + "is_repeated_guest 0\n", + "previous_cancellations 0\n", + "previous_bookings_not_canceled 0\n", + "reserved_room_type 0\n", + "assigned_room_type 0\n", + "booking_changes 0\n", + "deposit_type 0\n", + "days_in_waiting_list 0\n", + "customer_type 0\n", + "adr 0\n", + "required_car_parking_spaces 0\n", + "total_of_special_requests 0\n", + "reservation_status 0\n", + "reservation_status_date 0\n", + "dtype: int64" + ] + }, + "execution_count": 109, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.isna().sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 110, + "id": "ac46391f-7c55-47ae-9f88-34e29e5125c7", + "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", + "
hotelis_canceledlead_timearrival_date_yeararrival_date_montharrival_date_week_numberarrival_date_day_of_monthstays_in_weekend_nightsstays_in_week_nightsadultschildrenbabiesmealmarket_segmentdistribution_channelis_repeated_guestprevious_cancellationsprevious_bookings_not_canceledreserved_room_typeassigned_room_typebooking_changesdeposit_typedays_in_waiting_listcustomer_typeadrrequired_car_parking_spacestotal_of_special_requestsreservation_statusreservation_status_date
0Resort Hotel03422015July2710020.00BBDirectDirect000CC3No Deposit0Transient0.000Check-Out2015-07-01
1Resort Hotel07372015July2710020.00BBDirectDirect000CC4No Deposit0Transient0.000Check-Out2015-07-01
2Resort Hotel072015July2710110.00BBDirectDirect000AC0No Deposit0Transient75.000Check-Out2015-07-02
\n", + "
" + ], + "text/plain": [ + " hotel is_canceled lead_time arrival_date_year arrival_date_month \\\n", + "0 Resort Hotel 0 342 2015 July \n", + "1 Resort Hotel 0 737 2015 July \n", + "2 Resort Hotel 0 7 2015 July \n", + "\n", + " arrival_date_week_number arrival_date_day_of_month \\\n", + "0 27 1 \n", + "1 27 1 \n", + "2 27 1 \n", + "\n", + " stays_in_weekend_nights stays_in_week_nights adults children babies \\\n", + "0 0 0 2 0.0 0 \n", + "1 0 0 2 0.0 0 \n", + "2 0 1 1 0.0 0 \n", + "\n", + " meal market_segment distribution_channel is_repeated_guest \\\n", + "0 BB Direct Direct 0 \n", + "1 BB Direct Direct 0 \n", + "2 BB Direct Direct 0 \n", + "\n", + " previous_cancellations previous_bookings_not_canceled reserved_room_type \\\n", + "0 0 0 C \n", + "1 0 0 C \n", + "2 0 0 A \n", + "\n", + " assigned_room_type booking_changes deposit_type days_in_waiting_list \\\n", + "0 C 3 No Deposit 0 \n", + "1 C 4 No Deposit 0 \n", + "2 C 0 No Deposit 0 \n", + "\n", + " customer_type adr required_car_parking_spaces total_of_special_requests \\\n", + "0 Transient 0.0 0 0 \n", + "1 Transient 0.0 0 0 \n", + "2 Transient 75.0 0 0 \n", + "\n", + " reservation_status reservation_status_date \n", + "0 Check-Out 2015-07-01 \n", + "1 Check-Out 2015-07-01 \n", + "2 Check-Out 2015-07-02 " + ] + }, + "execution_count": 110, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.head(3)" + ] + }, + { + "cell_type": "code", + "execution_count": 111, + "id": "187898c1-9eb9-4e33-b2ff-6e219ae51351", + "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", + "
countmeanstdmin25%50%75%max
is_canceled119390.00.3704160.4829180.000.000.0001.01.0
lead_time119390.0104.011416106.8630970.0018.0069.000160.0737.0
arrival_date_year119390.02016.1565540.7074762015.002016.002016.0002017.02017.0
arrival_date_week_number119390.027.16517313.6051381.0016.0028.00038.053.0
arrival_date_day_of_month119390.015.7982418.7808291.008.0016.00023.031.0
stays_in_weekend_nights119390.00.9275990.9986130.000.001.0002.019.0
stays_in_week_nights119390.02.5003021.9082860.001.002.0003.050.0
adults119390.01.8564030.5792610.002.002.0002.055.0
children119390.00.1038860.3985550.000.000.0000.010.0
babies119390.00.0079490.0974360.000.000.0000.010.0
is_repeated_guest119390.00.0319120.1757670.000.000.0000.01.0
previous_cancellations119390.00.0871180.8443360.000.000.0000.026.0
previous_bookings_not_canceled119390.00.1370971.4974370.000.000.0000.072.0
booking_changes119390.00.2211240.6523060.000.000.0000.021.0
days_in_waiting_list119390.02.32114917.5947210.000.000.0000.0391.0
adr119390.0101.83112250.535790-6.3869.2994.575126.05400.0
required_car_parking_spaces119390.00.0625180.2452910.000.000.0000.08.0
total_of_special_requests119390.00.5713630.7927980.000.000.0001.05.0
\n", + "
" + ], + "text/plain": [ + " count mean std min \\\n", + "is_canceled 119390.0 0.370416 0.482918 0.00 \n", + "lead_time 119390.0 104.011416 106.863097 0.00 \n", + "arrival_date_year 119390.0 2016.156554 0.707476 2015.00 \n", + "arrival_date_week_number 119390.0 27.165173 13.605138 1.00 \n", + "arrival_date_day_of_month 119390.0 15.798241 8.780829 1.00 \n", + "stays_in_weekend_nights 119390.0 0.927599 0.998613 0.00 \n", + "stays_in_week_nights 119390.0 2.500302 1.908286 0.00 \n", + "adults 119390.0 1.856403 0.579261 0.00 \n", + "children 119390.0 0.103886 0.398555 0.00 \n", + "babies 119390.0 0.007949 0.097436 0.00 \n", + "is_repeated_guest 119390.0 0.031912 0.175767 0.00 \n", + "previous_cancellations 119390.0 0.087118 0.844336 0.00 \n", + "previous_bookings_not_canceled 119390.0 0.137097 1.497437 0.00 \n", + "booking_changes 119390.0 0.221124 0.652306 0.00 \n", + "days_in_waiting_list 119390.0 2.321149 17.594721 0.00 \n", + "adr 119390.0 101.831122 50.535790 -6.38 \n", + "required_car_parking_spaces 119390.0 0.062518 0.245291 0.00 \n", + "total_of_special_requests 119390.0 0.571363 0.792798 0.00 \n", + "\n", + " 25% 50% 75% max \n", + "is_canceled 0.00 0.000 1.0 1.0 \n", + "lead_time 18.00 69.000 160.0 737.0 \n", + "arrival_date_year 2016.00 2016.000 2017.0 2017.0 \n", + "arrival_date_week_number 16.00 28.000 38.0 53.0 \n", + "arrival_date_day_of_month 8.00 16.000 23.0 31.0 \n", + "stays_in_weekend_nights 0.00 1.000 2.0 19.0 \n", + "stays_in_week_nights 1.00 2.000 3.0 50.0 \n", + "adults 2.00 2.000 2.0 55.0 \n", + "children 0.00 0.000 0.0 10.0 \n", + "babies 0.00 0.000 0.0 10.0 \n", + "is_repeated_guest 0.00 0.000 0.0 1.0 \n", + "previous_cancellations 0.00 0.000 0.0 26.0 \n", + "previous_bookings_not_canceled 0.00 0.000 0.0 72.0 \n", + "booking_changes 0.00 0.000 0.0 21.0 \n", + "days_in_waiting_list 0.00 0.000 0.0 391.0 \n", + "adr 69.29 94.575 126.0 5400.0 \n", + "required_car_parking_spaces 0.00 0.000 0.0 8.0 \n", + "total_of_special_requests 0.00 0.000 1.0 5.0 " + ] + }, + "execution_count": 111, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.describe().T" + ] + }, + { + "cell_type": "code", + "execution_count": 112, + "id": "4b1be270-f77f-4665-975e-6c7b971612e7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(119390, 29)" + ] + }, + "execution_count": 112, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 113, + "id": "ca13a2f3-c478-47c0-95be-1037c40a816c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "hotel object\n", + "is_canceled int64\n", + "lead_time int64\n", + "arrival_date_year int64\n", + "arrival_date_month object\n", + "arrival_date_week_number int64\n", + "arrival_date_day_of_month int64\n", + "stays_in_weekend_nights int64\n", + "stays_in_week_nights int64\n", + "adults int64\n", + "children float64\n", + "babies int64\n", + "meal object\n", + "market_segment object\n", + "distribution_channel object\n", + "is_repeated_guest int64\n", + "previous_cancellations int64\n", + "previous_bookings_not_canceled int64\n", + "reserved_room_type object\n", + "assigned_room_type object\n", + "booking_changes int64\n", + "deposit_type object\n", + "days_in_waiting_list int64\n", + "customer_type object\n", + "adr float64\n", + "required_car_parking_spaces int64\n", + "total_of_special_requests int64\n", + "reservation_status object\n", + "reservation_status_date object\n", + "dtype: object" + ] + }, + "execution_count": 113, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.dtypes" + ] + }, + { + "cell_type": "code", + "execution_count": 114, + "id": "947268da-dfd3-49e3-89c9-485fc51926ed", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 0\n", + "1 0\n", + "2 1\n", + "Name: stays_in_week_nights, dtype: int64" + ] + }, + "execution_count": 114, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.stays_in_week_nights.head(3)" + ] + }, + { + "cell_type": "code", + "execution_count": 115, + "id": "fad1bc87-4c98-4af2-806b-a0df65f7ed32", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 0\n", + "1 0\n", + "2 1\n", + "3 1\n", + "4 2\n", + " ..\n", + "119385 7\n", + "119386 7\n", + "119387 7\n", + "119388 7\n", + "119389 9\n", + "Name: rn_sum, Length: 119390, dtype: int64" + ] + }, + "execution_count": 115, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df['rn_sum'] =df['stays_in_weekend_nights'] + df['stays_in_week_nights']\n", + "df.rn_sum # New KPI" + ] + }, + { + "cell_type": "code", + "execution_count": 116, + "id": "1e5799e7-5190-4270-a540-891a3c4a9b99", + "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", + "
hotelis_canceledlead_timearrival_date_yeararrival_date_montharrival_date_week_numberarrival_date_day_of_monthstays_in_weekend_nightsstays_in_week_nightsadultschildrenbabiesmealmarket_segmentdistribution_channelis_repeated_guestprevious_cancellationsprevious_bookings_not_canceledreserved_room_typeassigned_room_typebooking_changesdeposit_typedays_in_waiting_listcustomer_typeadrrequired_car_parking_spacestotal_of_special_requestsreservation_statusreservation_status_datern_sum
0Resort Hotel03422015July2710020.00BBDirectDirect000CC3No Deposit0Transient0.000Check-Out2015-07-010
1Resort Hotel07372015July2710020.00BBDirectDirect000CC4No Deposit0Transient0.000Check-Out2015-07-010
2Resort Hotel072015July2710110.00BBDirectDirect000AC0No Deposit0Transient75.000Check-Out2015-07-021
3Resort Hotel0132015July2710110.00BBCorporateCorporate000AA0No Deposit0Transient75.000Check-Out2015-07-021
4Resort Hotel0142015July2710220.00BBOnline TATA/TO000AA0No Deposit0Transient98.001Check-Out2015-07-032
\n", + "
" + ], + "text/plain": [ + " hotel is_canceled lead_time arrival_date_year arrival_date_month \\\n", + "0 Resort Hotel 0 342 2015 July \n", + "1 Resort Hotel 0 737 2015 July \n", + "2 Resort Hotel 0 7 2015 July \n", + "3 Resort Hotel 0 13 2015 July \n", + "4 Resort Hotel 0 14 2015 July \n", + "\n", + " arrival_date_week_number arrival_date_day_of_month \\\n", + "0 27 1 \n", + "1 27 1 \n", + "2 27 1 \n", + "3 27 1 \n", + "4 27 1 \n", + "\n", + " stays_in_weekend_nights stays_in_week_nights adults children babies \\\n", + "0 0 0 2 0.0 0 \n", + "1 0 0 2 0.0 0 \n", + "2 0 1 1 0.0 0 \n", + "3 0 1 1 0.0 0 \n", + "4 0 2 2 0.0 0 \n", + "\n", + " meal market_segment distribution_channel is_repeated_guest \\\n", + "0 BB Direct Direct 0 \n", + "1 BB Direct Direct 0 \n", + "2 BB Direct Direct 0 \n", + "3 BB Corporate Corporate 0 \n", + "4 BB Online TA TA/TO 0 \n", + "\n", + " previous_cancellations previous_bookings_not_canceled reserved_room_type \\\n", + "0 0 0 C \n", + "1 0 0 C \n", + "2 0 0 A \n", + "3 0 0 A \n", + "4 0 0 A \n", + "\n", + " assigned_room_type booking_changes deposit_type days_in_waiting_list \\\n", + "0 C 3 No Deposit 0 \n", + "1 C 4 No Deposit 0 \n", + "2 C 0 No Deposit 0 \n", + "3 A 0 No Deposit 0 \n", + "4 A 0 No Deposit 0 \n", + "\n", + " customer_type adr required_car_parking_spaces total_of_special_requests \\\n", + "0 Transient 0.0 0 0 \n", + "1 Transient 0.0 0 0 \n", + "2 Transient 75.0 0 0 \n", + "3 Transient 75.0 0 0 \n", + "4 Transient 98.0 0 1 \n", + "\n", + " reservation_status reservation_status_date rn_sum \n", + "0 Check-Out 2015-07-01 0 \n", + "1 Check-Out 2015-07-01 0 \n", + "2 Check-Out 2015-07-02 1 \n", + "3 Check-Out 2015-07-02 1 \n", + "4 Check-Out 2015-07-03 2 " + ] + }, + "execution_count": 116, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 117, + "id": "69ccee3b-0381-427b-840c-f63fe5566271", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0 0.00\n", + "1 0.00\n", + "2 75.00\n", + "3 75.00\n", + "4 196.00\n", + " ... \n", + "119385 672.98\n", + "119386 1578.01\n", + "119387 1103.97\n", + "119388 730.80\n", + "119389 1360.80\n", + "Name: revenue_total, Length: 119390, dtype: float64" + ] + }, + "execution_count": 117, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df['revenue_total'] =df['rn_sum'] * df['adr']\n", + "df.revenue_total # New KPI" + ] + }, + { + "cell_type": "code", + "execution_count": 118, + "id": "5873b4e3-2710-4702-b751-0529bd43b0f4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['hotel', 'is_canceled', 'lead_time', 'arrival_date_year',\n", + " 'arrival_date_month', 'arrival_date_week_number',\n", + " 'arrival_date_day_of_month', 'stays_in_weekend_nights',\n", + " 'stays_in_week_nights', 'adults', 'children', 'babies', 'meal',\n", + " 'market_segment', 'distribution_channel', 'is_repeated_guest',\n", + " 'previous_cancellations', 'previous_bookings_not_canceled',\n", + " 'reserved_room_type', 'assigned_room_type', 'booking_changes',\n", + " 'deposit_type', 'days_in_waiting_list', 'customer_type', 'adr',\n", + " 'required_car_parking_spaces', 'total_of_special_requests',\n", + " 'reservation_status', 'reservation_status_date', 'rn_sum',\n", + " 'revenue_total'],\n", + " dtype='object')" + ] + }, + "execution_count": 118, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 119, + "id": "6dfb2108-15e3-4926-9032-744ab7938a6d", + "metadata": {}, + "outputs": [], + "source": [ + "df1 = df.copy()" + ] + }, + { + "cell_type": "code", + "execution_count": 120, + "id": "35b6cbca-f8b3-4ad1-b0fe-7e5f15014c65", + "metadata": {}, + "outputs": [], + "source": [ + "num = df1.select_dtypes(include=\"number\")\n", + "cat = df1.select_dtypes(exclude=\"number\")" + ] + }, + { + "cell_type": "code", + "execution_count": 121, + "id": "90efafcf-8b99-4724-a491-8fffceee67cc", + "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", + "
hotelarrival_date_monthmealmarket_segmentdistribution_channelreserved_room_typeassigned_room_typedeposit_typecustomer_typereservation_statusreservation_status_date
0Resort HotelJulyBBDirectDirectCCNo DepositTransientCheck-Out2015-07-01
1Resort HotelJulyBBDirectDirectCCNo DepositTransientCheck-Out2015-07-01
2Resort HotelJulyBBDirectDirectACNo DepositTransientCheck-Out2015-07-02
3Resort HotelJulyBBCorporateCorporateAANo DepositTransientCheck-Out2015-07-02
4Resort HotelJulyBBOnline TATA/TOAANo DepositTransientCheck-Out2015-07-03
....................................
119385City HotelAugustBBOffline TA/TOTA/TOAANo DepositTransientCheck-Out2017-09-06
119386City HotelAugustBBOnline TATA/TOEENo DepositTransientCheck-Out2017-09-07
119387City HotelAugustBBOnline TATA/TODDNo DepositTransientCheck-Out2017-09-07
119388City HotelAugustBBOnline TATA/TOAANo DepositTransientCheck-Out2017-09-07
119389City HotelAugustHBOnline TATA/TOAANo DepositTransientCheck-Out2017-09-07
\n", + "

119390 rows × 11 columns

\n", + "
" + ], + "text/plain": [ + " hotel arrival_date_month meal market_segment \\\n", + "0 Resort Hotel July BB Direct \n", + "1 Resort Hotel July BB Direct \n", + "2 Resort Hotel July BB Direct \n", + "3 Resort Hotel July BB Corporate \n", + "4 Resort Hotel July BB Online TA \n", + "... ... ... ... ... \n", + "119385 City Hotel August BB Offline TA/TO \n", + "119386 City Hotel August BB Online TA \n", + "119387 City Hotel August BB Online TA \n", + "119388 City Hotel August BB Online TA \n", + "119389 City Hotel August HB Online TA \n", + "\n", + " distribution_channel reserved_room_type assigned_room_type \\\n", + "0 Direct C C \n", + "1 Direct C C \n", + "2 Direct A C \n", + "3 Corporate A A \n", + "4 TA/TO A A \n", + "... ... ... ... \n", + "119385 TA/TO A A \n", + "119386 TA/TO E E \n", + "119387 TA/TO D D \n", + "119388 TA/TO A A \n", + "119389 TA/TO A A \n", + "\n", + " deposit_type customer_type reservation_status reservation_status_date \n", + "0 No Deposit Transient Check-Out 2015-07-01 \n", + "1 No Deposit Transient Check-Out 2015-07-01 \n", + "2 No Deposit Transient Check-Out 2015-07-02 \n", + "3 No Deposit Transient Check-Out 2015-07-02 \n", + "4 No Deposit Transient Check-Out 2015-07-03 \n", + "... ... ... ... ... \n", + "119385 No Deposit Transient Check-Out 2017-09-06 \n", + "119386 No Deposit Transient Check-Out 2017-09-07 \n", + "119387 No Deposit Transient Check-Out 2017-09-07 \n", + "119388 No Deposit Transient Check-Out 2017-09-07 \n", + "119389 No Deposit Transient Check-Out 2017-09-07 \n", + "\n", + "[119390 rows x 11 columns]" + ] + }, + "execution_count": 121, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cat" + ] + }, + { + "cell_type": "code", + "execution_count": 122, + "id": "a21d6989-cba3-41df-9446-3c820ff98ef4", + "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", + "
hotelarrival_date_monthmealmarket_segmentdistribution_channelreserved_room_typeassigned_room_typedeposit_typecustomer_typereservation_statusreservation_status_date
0Resort HotelJulyBBDirectDirectCCNo DepositTransientCheck-Out2015-07-01
1Resort HotelJulyBBDirectDirectCCNo DepositTransientCheck-Out2015-07-01
\n", + "
" + ], + "text/plain": [ + " hotel arrival_date_month meal market_segment distribution_channel \\\n", + "0 Resort Hotel July BB Direct Direct \n", + "1 Resort Hotel July BB Direct Direct \n", + "\n", + " reserved_room_type assigned_room_type deposit_type customer_type \\\n", + "0 C C No Deposit Transient \n", + "1 C C No Deposit Transient \n", + "\n", + " reservation_status reservation_status_date \n", + "0 Check-Out 2015-07-01 \n", + "1 Check-Out 2015-07-01 " + ] + }, + "execution_count": 122, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "cat.head(2)" + ] + }, + { + "cell_type": "code", + "execution_count": 123, + "id": "17107090-bc8d-495f-a89a-4764bc53635b", + "metadata": {}, + "outputs": [], + "source": [ + "frequency_table_dist = cat.market_segment.value_counts() # Hotel distribuition\n", + "proportion_table_dist = cat.market_segment.value_counts(normalize=True).round(2)" + ] + }, + { + "cell_type": "code", + "execution_count": 124, + "id": "813ed6d4-5c35-4497-8646-e19e3a090b23", + "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", + "
absolute_frequencyrelative_frequency
market_segment
Online TA564770047.0%
Offline TA/TO242190020.0%
Groups198110017.0%
Direct126060011.0%
Corporate5295004.0%
Complementary743001.0%
Aviation237000.0%
Undefined2000.0%
\n", + "
" + ], + "text/plain": [ + " absolute_frequency relative_frequency\n", + "market_segment \n", + "Online TA 5647700 47.0%\n", + "Offline TA/TO 2421900 20.0%\n", + "Groups 1981100 17.0%\n", + "Direct 1260600 11.0%\n", + "Corporate 529500 4.0%\n", + "Complementary 74300 1.0%\n", + "Aviation 23700 0.0%\n", + "Undefined 200 0.0%" + ] + }, + "execution_count": 124, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_dist = (pd.concat([frequency_table_dist, proportion_table_dist], axis=1)*100)\n", + "df_dist.columns = ['absolute_frequency', 'relative_frequency']\n", + "df_dist['relative_frequency'] = df_dist['relative_frequency'].astype(str) + '%'\n", + "df_dist" + ] + }, + { + "cell_type": "code", + "execution_count": 125, + "id": "929b6247-65d4-476c-ac05-b895b950d9a9", + "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", + "
col_0count
reservation_status
Canceled43017
Check-Out75166
No-Show1207
\n", + "
" + ], + "text/plain": [ + "col_0 count\n", + "reservation_status \n", + "Canceled 43017\n", + "Check-Out 75166\n", + "No-Show 1207" + ] + }, + "execution_count": 125, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.crosstab(index=cat.reservation_status,\n", + " columns='count')" + ] + }, + { + "cell_type": "code", + "execution_count": 126, + "id": "540d388a-d997-4a4c-a47e-6aabea0d5f2c", + "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", + "
hotelCity HotelResort Hotel
reservation_status
Canceled3218610831
Check-Out4622828938
No-Show916291
\n", + "
" + ], + "text/plain": [ + "hotel City Hotel Resort Hotel\n", + "reservation_status \n", + "Canceled 32186 10831\n", + "Check-Out 46228 28938\n", + "No-Show 916 291" + ] + }, + "execution_count": 126, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "crosstab_result_resv = pd.crosstab(index=cat.reservation_status, columns=cat.hotel)\n", + "crosstab_result_resv " + ] + }, + { + "cell_type": "code", + "execution_count": 127, + "id": "f1c3a651-d76f-4465-9324-b3bcc7447056", + "metadata": {}, + "outputs": [], + "source": [ + "frequency_table_resv = cat.reservation_status.value_counts() # counting the different Reservation Status\n", + "proportion_table_resv = cat.reservation_status.value_counts(normalize=True).round(2) # converting the countings in the proportional part" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5eba114c-7920-4f6f-8899-d9e0ea7acd2d", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 128, + "id": "3fda43a7-a4c4-4a8f-94c6-4f487aa420b4", + "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", + "
absolute_frequencyrelative_frequency
reservation_status
Check-Out751660063.0%
Canceled430170036.0%
No-Show1207001.0%
\n", + "
" + ], + "text/plain": [ + " absolute_frequency relative_frequency\n", + "reservation_status \n", + "Check-Out 7516600 63.0%\n", + "Canceled 4301700 36.0%\n", + "No-Show 120700 1.0%" + ] + }, + "execution_count": 128, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_resv = pd.concat([frequency_table_resv, proportion_table_resv], axis=1)*100 # convert to percentage\n", + "df_resv.columns = ['absolute_frequency', 'relative_frequency']\n", + "df_resv['relative_frequency'] = df_resv['relative_frequency'].apply(lambda x: f\"{x}%\") #appling % \n", + "df_resv" + ] + }, + { + "cell_type": "code", + "execution_count": 129, + "id": "35569567-e452-4c3e-9892-29b77c1a5bfd", + "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", + "
hotelis_canceledlead_timearrival_date_yeararrival_date_montharrival_date_week_numberarrival_date_day_of_monthstays_in_weekend_nightsstays_in_week_nightsadultschildrenbabiesmealmarket_segmentdistribution_channelis_repeated_guestprevious_cancellationsprevious_bookings_not_canceledreserved_room_typeassigned_room_typebooking_changesdeposit_typedays_in_waiting_listcustomer_typeadrrequired_car_parking_spacestotal_of_special_requestsreservation_statusreservation_status_datern_sumrevenue_total
0Resort Hotel03422015July2710020.00BBDirectDirect000CC3No Deposit0Transient0.000Check-Out2015-07-0100.0
1Resort Hotel07372015July2710020.00BBDirectDirect000CC4No Deposit0Transient0.000Check-Out2015-07-0100.0
\n", + "
" + ], + "text/plain": [ + " hotel is_canceled lead_time arrival_date_year arrival_date_month \\\n", + "0 Resort Hotel 0 342 2015 July \n", + "1 Resort Hotel 0 737 2015 July \n", + "\n", + " arrival_date_week_number arrival_date_day_of_month \\\n", + "0 27 1 \n", + "1 27 1 \n", + "\n", + " stays_in_weekend_nights stays_in_week_nights adults children babies \\\n", + "0 0 0 2 0.0 0 \n", + "1 0 0 2 0.0 0 \n", + "\n", + " meal market_segment distribution_channel is_repeated_guest \\\n", + "0 BB Direct Direct 0 \n", + "1 BB Direct Direct 0 \n", + "\n", + " previous_cancellations previous_bookings_not_canceled reserved_room_type \\\n", + "0 0 0 C \n", + "1 0 0 C \n", + "\n", + " assigned_room_type booking_changes deposit_type days_in_waiting_list \\\n", + "0 C 3 No Deposit 0 \n", + "1 C 4 No Deposit 0 \n", + "\n", + " customer_type adr required_car_parking_spaces total_of_special_requests \\\n", + "0 Transient 0.0 0 0 \n", + "1 Transient 0.0 0 0 \n", + "\n", + " reservation_status reservation_status_date rn_sum revenue_total \n", + "0 Check-Out 2015-07-01 0 0.0 \n", + "1 Check-Out 2015-07-01 0 0.0 " + ] + }, + "execution_count": 129, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.head(2)" + ] + }, + { + "cell_type": "code", + "execution_count": 130, + "id": "67a85b82-0a2e-4f5c-99b0-dfb730f75d86", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['hotel', 'is_canceled', 'lead_time', 'arrival_date_year',\n", + " 'arrival_date_month', 'arrival_date_week_number',\n", + " 'arrival_date_day_of_month', 'stays_in_weekend_nights',\n", + " 'stays_in_week_nights', 'adults', 'children', 'babies', 'meal',\n", + " 'market_segment', 'distribution_channel', 'is_repeated_guest',\n", + " 'previous_cancellations', 'previous_bookings_not_canceled',\n", + " 'reserved_room_type', 'assigned_room_type', 'booking_changes',\n", + " 'deposit_type', 'days_in_waiting_list', 'customer_type', 'adr',\n", + " 'required_car_parking_spaces', 'total_of_special_requests',\n", + " 'reservation_status', 'reservation_status_date', 'rn_sum',\n", + " 'revenue_total'],\n", + " dtype='object')" + ] + }, + "execution_count": 130, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 131, + "id": "0a1cf4fc-382d-4429-be95-2472a5aa8b08", + "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", + "
medianmean
hotelreservation_status
City HotelCanceled100.0105.0
Check-Out100.0106.0
No-Show92.0102.0
Resort HotelCanceled84.0106.0
Check-Out72.091.0
No-Show63.080.0
\n", + "
" + ], + "text/plain": [ + " median mean\n", + "hotel reservation_status \n", + "City Hotel Canceled 100.0 105.0\n", + " Check-Out 100.0 106.0\n", + " No-Show 92.0 102.0\n", + "Resort Hotel Canceled 84.0 106.0\n", + " Check-Out 72.0 91.0\n", + " No-Show 63.0 80.0" + ] + }, + "execution_count": 131, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_resv_adr = df.groupby([\"hotel\", \"reservation_status\"])[\"adr\"].agg([\"median\", \"mean\"]) # AvDailyRate - count, mean, median\n", + "round(df_resv_adr)" + ] + }, + { + "cell_type": "code", + "execution_count": 132, + "id": "f429f7fb-4b87-4540-a900-2297f010fb4b", + "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", + "
medianmean
hotelreservation_status
City HotelCanceled100.0€105.0€
Check-Out100.0€106.0€
No-Show92.0€102.0€
Resort HotelCanceled84.0€106.0€
Check-Out72.0€91.0€
No-Show63.0€80.0€
\n", + "
" + ], + "text/plain": [ + " median mean\n", + "hotel reservation_status \n", + "City Hotel Canceled 100.0€ 105.0€\n", + " Check-Out 100.0€ 106.0€\n", + " No-Show 92.0€ 102.0€\n", + "Resort Hotel Canceled 84.0€ 106.0€\n", + " Check-Out 72.0€ 91.0€\n", + " No-Show 63.0€ 80.0€" + ] + }, + "execution_count": 132, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_resv_adr_r = df_resv_adr.round()\n", + "df_resv_adr_r['median'] = df_resv_adr_r['median'].apply(lambda x: f'{x:.1f}€')\n", + "df_resv_adr_r['mean'] = df_resv_adr_r['mean'].apply(lambda x: f'{x:.1f}€')\n", + "\n", + "df_resv_adr_r" + ] + }, + { + "cell_type": "code", + "execution_count": 133, + "id": "11190dd5-3a69-4fea-bfda-cb7d26cec7a3", + "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", + "
countmedianmean
hotelreservation_status
City HotelCanceled321863.03.0
Check-Out462283.03.0
No-Show9163.04.0
Resort HotelCanceled108314.05.0
Check-Out289383.04.0
No-Show2912.03.0
\n", + "
" + ], + "text/plain": [ + " count median mean\n", + "hotel reservation_status \n", + "City Hotel Canceled 32186 3.0 3.0\n", + " Check-Out 46228 3.0 3.0\n", + " No-Show 916 3.0 4.0\n", + "Resort Hotel Canceled 10831 4.0 5.0\n", + " Check-Out 28938 3.0 4.0\n", + " No-Show 291 2.0 3.0" + ] + }, + "execution_count": 133, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_resv_rn = df.groupby([\"hotel\", \"reservation_status\"])[\"rn_sum\"].agg([\"count\", \"median\", \"mean\"]) # RoomNights - count, mean(avStayby Reservation, median\n", + "round(df_resv_rn)" + ] + }, + { + "cell_type": "code", + "execution_count": 134, + "id": "8d86d2a3-47f7-4036-a2be-bf7178c2d8b7", + "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", + "
rn_sum
countmedianmeanstd
hoteldistribution_channel
City HotelCorporate34082.02.01.8
Direct67802.02.82.3
GDS1931.02.01.9
TA/TO689453.03.11.8
Undefined42.03.02.7
Resort HotelCorporate32692.02.82.7
Direct78653.03.63.1
TA/TO289254.04.73.4
Undefined15.05.0NaN
\n", + "
" + ], + "text/plain": [ + " rn_sum \n", + " count median mean std\n", + "hotel distribution_channel \n", + "City Hotel Corporate 3408 2.0 2.0 1.8\n", + " Direct 6780 2.0 2.8 2.3\n", + " GDS 193 1.0 2.0 1.9\n", + " TA/TO 68945 3.0 3.1 1.8\n", + " Undefined 4 2.0 3.0 2.7\n", + "Resort Hotel Corporate 3269 2.0 2.8 2.7\n", + " Direct 7865 3.0 3.6 3.1\n", + " TA/TO 28925 4.0 4.7 3.4\n", + " Undefined 1 5.0 5.0 NaN" + ] + }, + "execution_count": 134, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_resv_dist = df.groupby([\"hotel\", \"distribution_channel\"])[\"rn_sum\",].agg([\"count\", \"median\", \"mean\", \"std\"]) # RoomNights - count, mean, median\n", + "df_resv_dist_r = df_resv_dist.round(1)\n", + "df_resv_dist_r" + ] + }, + { + "cell_type": "code", + "execution_count": 135, + "id": "ba879938-6330-4a0a-a5f7-f5e91af5439c", + "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", + "
countmedianmeanstd
hotelmeal
City HotelBB623053.03.01.8
FB443.02.70.6
HB64172.02.81.5
SC105643.02.92.2
Resort HotelBB300053.04.03.2
FB7543.04.12.4
HB80465.05.63.8
SC865.06.87.5
Undefined11693.04.32.9
\n", + "
" + ], + "text/plain": [ + " count median mean std\n", + "hotel meal \n", + "City Hotel BB 62305 3.0 3.0 1.8\n", + " FB 44 3.0 2.7 0.6\n", + " HB 6417 2.0 2.8 1.5\n", + " SC 10564 3.0 2.9 2.2\n", + "Resort Hotel BB 30005 3.0 4.0 3.2\n", + " FB 754 3.0 4.1 2.4\n", + " HB 8046 5.0 5.6 3.8\n", + " SC 86 5.0 6.8 7.5\n", + " Undefined 1169 3.0 4.3 2.9" + ] + }, + "execution_count": 135, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_resv_meal = df.groupby([\"hotel\", \"meal\"])[\"rn_sum\"].agg([\"count\", \"median\", \"mean\", \"std\"]) # RoomNights - count, mean, median\n", + "df_resv_meal_r = df_resv_meal.round(1)\n", + "df_resv_meal_r" + ] + }, + { + "cell_type": "code", + "execution_count": 136, + "id": "385d9ad3-a323-4cf0-a894-9aff01cd7f5b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['hotel', 'is_canceled', 'lead_time', 'arrival_date_year',\n", + " 'arrival_date_month', 'arrival_date_week_number',\n", + " 'arrival_date_day_of_month', 'stays_in_weekend_nights',\n", + " 'stays_in_week_nights', 'adults', 'children', 'babies', 'meal',\n", + " 'market_segment', 'distribution_channel', 'is_repeated_guest',\n", + " 'previous_cancellations', 'previous_bookings_not_canceled',\n", + " 'reserved_room_type', 'assigned_room_type', 'booking_changes',\n", + " 'deposit_type', 'days_in_waiting_list', 'customer_type', 'adr',\n", + " 'required_car_parking_spaces', 'total_of_special_requests',\n", + " 'reservation_status', 'reservation_status_date', 'rn_sum',\n", + " 'revenue_total'],\n", + " dtype='object')" + ] + }, + "execution_count": 136, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 189, + "id": "f7780a5b-6d73-41a4-a8e8-34dd06ac5ab0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Chi-Square Statistic: (2225, 0)\n", + "P-value: 0.0\n" + ] + } + ], + "source": [ + "from scipy.stats import chi2_contingency\n", + "contingency_table = pd.crosstab(df['hotel'], df['is_canceled']) # perform a Chi square, howhever i dont know so much about it\n", + "\n", + "chi2, p, dof, expected = chi2_contingency(contingency_table)\n", + "print(f\"Chi-Square Statistic: {round(chi2),0}\")\n", + "print(f\"P-value: {p}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 138, + "id": "c0e721c3-fdca-464e-b47f-99400874830d", + "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", + "
countmedianmeanstd
hotelmeal
City HotelBB623053.03.01.8
FB443.02.70.6
HB64172.02.81.5
SC105643.02.92.2
Resort HotelBB300053.04.03.2
FB7543.04.12.4
HB80465.05.63.8
SC865.06.87.5
Undefined11693.04.32.9
\n", + "
" + ], + "text/plain": [ + " count median mean std\n", + "hotel meal \n", + "City Hotel BB 62305 3.0 3.0 1.8\n", + " FB 44 3.0 2.7 0.6\n", + " HB 6417 2.0 2.8 1.5\n", + " SC 10564 3.0 2.9 2.2\n", + "Resort Hotel BB 30005 3.0 4.0 3.2\n", + " FB 754 3.0 4.1 2.4\n", + " HB 8046 5.0 5.6 3.8\n", + " SC 86 5.0 6.8 7.5\n", + " Undefined 1169 3.0 4.3 2.9" + ] + }, + "execution_count": 138, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_resv_meal_r" + ] + }, + { + "cell_type": "code", + "execution_count": 139, + "id": "a3402a5b-0e40-4804-b5d1-b33dba2ee0f5", + "metadata": {}, + "outputs": [], + "source": [ + "df.to_excel(\"clean_data.xlsx\", index=False)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "78e06147-fcb3-4637-a6aa-8fb15c26f4c6", + "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.12.4" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}