diff --git a/.ipynb_checkpoints/[lab-sql-9-python_connection]leonardo-checkpoint.ipynb b/.ipynb_checkpoints/[lab-sql-9-python_connection]leonardo-checkpoint.ipynb
new file mode 100644
index 0000000..363fcab
--- /dev/null
+++ b/.ipynb_checkpoints/[lab-sql-9-python_connection]leonardo-checkpoint.ipynb
@@ -0,0 +1,6 @@
+{
+ "cells": [],
+ "metadata": {},
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/Lab SQL | 9.sql b/Lab SQL | 9.sql
new file mode 100644
index 0000000..ac670a0
--- /dev/null
+++ b/Lab SQL | 9.sql
@@ -0,0 +1,53 @@
+-- Create a table `rentals_may` to store the data from rental table with information for the month of May.
+-- Insert values in the table `rentals_may` using the table rental, filtering values only for the month of May.
+
+-- Create a table `rentals_may` to store the data from rental table with information for the month of May.
+CREATE TABLE rentals_may AS
+SELECT
+ rental_id,
+ rental_date,
+ inventory_id,
+ customer_id,
+ staff_id
+FROM
+ sakila.rental
+WHERE
+ MONTH(rental_date) = 5;
+
+-- Create a table `rentals_june` to store the data from rental table with information for the month of June.
+CREATE TABLE rentals_june AS
+SELECT
+ rental_id,
+ rental_date,
+ inventory_id,
+ customer_id,
+ staff_id
+FROM
+ sakila.rental
+WHERE
+ MONTH(rental_date) = 6;
+
+
+select * from rentals_may;
+select * from rentals_june;
+
+-- Check the number of rentals for each customer for May.
+-- Check the number of rentals for each customer for June.
+
+select
+ customer_id,
+ count(rental_id) as count_rentals
+from rentals_may
+group by customer_id;
+
+select
+ customer_id,
+ count(rental_id) as count_june_rentals
+from rentals_june
+group by customer_id;
+
+
+
+
+
+
diff --git a/[lab-sql-9-python_connection]leonardo.ipynb b/[lab-sql-9-python_connection]leonardo.ipynb
new file mode 100644
index 0000000..35448a2
--- /dev/null
+++ b/[lab-sql-9-python_connection]leonardo.ipynb
@@ -0,0 +1,978 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "id": "784328a2",
+ "metadata": {},
+ "source": [
+ "# Lab | SQL Queries 9\n",
+ "\n",
+ "In this lab, you will be using the [Sakila](https://dev.mysql.com/doc/sakila/en/) database of movie rentals. You have been using this database for a couple labs already, but if you need to get the data again, refer to the official [installation link](https://dev.mysql.com/doc/sakila/en/sakila-installation.html).\n",
+ "\n",
+ "The database is structured as follows:\n",
+ "\n",
+ "\n",
+ "### Instructions\n",
+ "\n",
+ "In this lab we will find the customers who were active in consecutive months of May and June. Follow the steps to complete the analysis.\n",
+ "\n",
+ "- Create a table `rentals_may` to store the data from rental table with information for the month of May.\n",
+ "- Insert values in the table `rentals_may` using the table rental, filtering values only for the month of May.\n",
+ "- Create a table `rentals_june` to store the data from rental table with information for the month of June.\n",
+ "- Insert values in the table `rentals_june` using the table rental, filtering values only for the month of June.\n",
+ "- Check the number of rentals for each customer for May.\n",
+ "- Check the number of rentals for each customer for June.\n",
+ "- Create a Python connection with SQL database and retrieve the results of the last two queries (also mentioned below) as dataframes:\n",
+ "\n",
+ " - Check the number of rentals for each customer for May\n",
+ " - Check the number of rentals for each customer for June\n",
+ "\n",
+ " **Hint**: You can store the results from the two queries in two separate dataframes.\n",
+ "\n",
+ "- Write a function that checks if customer borrowed more or less films in the month of June as compared to May.\n",
+ "\n",
+ " **Hint**: For this part, you can create a join between the two dataframes created before, using the merge function available for pandas dataframes. Here is a link to the documentation for the [merge function](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.merge.html).\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 87,
+ "id": "a0053186",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import pandas as pd\n",
+ "import numpy as np\n",
+ "import pymysql\n",
+ "from sqlalchemy import create_engine"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 88,
+ "id": "adc8a371",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#Create a Python connection with SQL database\n",
+ "\n",
+ "#import getpass\n",
+ "#password = getpass.getpass()\n",
+ "\n",
+ "\n",
+ "connection_string = 'mysql+pymysql://root:' + password + '@localhost/bank'\n",
+ "engine = create_engine(connection_string)\n",
+ "may_rent = pd.read_sql_query('select customer_id, count(rental_id) as count_rentals from sakila.rentals_may group by customer_id', engine)\n",
+ "june_rent = pd.read_sql_query('select customer_id, count(rental_id) as count_rentals from sakila.rentals_june group by customer_id', engine)\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 89,
+ "id": "6c391170",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " customer_id | \n",
+ " count_rentals | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 130 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 459 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 408 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 333 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 222 | \n",
+ " 5 | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 515 | \n",
+ " 191 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 516 | \n",
+ " 351 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 517 | \n",
+ " 10 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 518 | \n",
+ " 136 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 519 | \n",
+ " 61 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
520 rows × 2 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " customer_id count_rentals\n",
+ "0 130 2\n",
+ "1 459 1\n",
+ "2 408 3\n",
+ "3 333 1\n",
+ "4 222 5\n",
+ ".. ... ...\n",
+ "515 191 2\n",
+ "516 351 1\n",
+ "517 10 1\n",
+ "518 136 1\n",
+ "519 61 1\n",
+ "\n",
+ "[520 rows x 2 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " customer_id | \n",
+ " count_rentals | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 416 | \n",
+ " 5 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 516 | \n",
+ " 6 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 239 | \n",
+ " 5 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " 285 | \n",
+ " 3 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " 310 | \n",
+ " 6 | \n",
+ "
\n",
+ " \n",
+ " | ... | \n",
+ " ... | \n",
+ " ... | \n",
+ "
\n",
+ " \n",
+ " | 585 | \n",
+ " 412 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 586 | \n",
+ " 335 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 587 | \n",
+ " 226 | \n",
+ " 2 | \n",
+ "
\n",
+ " \n",
+ " | 588 | \n",
+ " 22 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ " | 589 | \n",
+ " 126 | \n",
+ " 1 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
590 rows × 2 columns
\n",
+ "
"
+ ],
+ "text/plain": [
+ " customer_id count_rentals\n",
+ "0 416 5\n",
+ "1 516 6\n",
+ "2 239 5\n",
+ "3 285 3\n",
+ "4 310 6\n",
+ ".. ... ...\n",
+ "585 412 1\n",
+ "586 335 1\n",
+ "587 226 2\n",
+ "588 22 1\n",
+ "589 126 1\n",
+ "\n",
+ "[590 rows x 2 columns]"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# Display the two dfs\n",
+ "\n",
+ "display(may_rent)\n",
+ "display(june_rent)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 90,
+ "id": "ea598069",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Customer 1: More rentals in June\n",
+ "Customer 2: Equal rentals in May and June\n",
+ "Customer 3: More rentals in June\n",
+ "Customer 5: More rentals in June\n",
+ "Customer 6: More rentals in June\n",
+ "Customer 7: Equal rentals in May and June\n",
+ "Customer 8: More rentals in June\n",
+ "Customer 9: More rentals in May\n",
+ "Customer 10: More rentals in June\n",
+ "Customer 11: More rentals in June\n",
+ "Customer 12: More rentals in June\n",
+ "Customer 14: More rentals in May\n",
+ "Customer 16: Equal rentals in May and June\n",
+ "Customer 17: Equal rentals in May and June\n",
+ "Customer 18: More rentals in June\n",
+ "Customer 19: More rentals in May\n",
+ "Customer 20: More rentals in June\n",
+ "Customer 21: More rentals in June\n",
+ "Customer 22: More rentals in May\n",
+ "Customer 23: More rentals in June\n",
+ "Customer 24: More rentals in June\n",
+ "Customer 25: More rentals in June\n",
+ "Customer 26: More rentals in June\n",
+ "Customer 27: More rentals in June\n",
+ "Customer 28: More rentals in June\n",
+ "Customer 29: More rentals in June\n",
+ "Customer 32: More rentals in June\n",
+ "Customer 33: More rentals in June\n",
+ "Customer 35: More rentals in June\n",
+ "Customer 36: More rentals in May\n",
+ "Customer 37: More rentals in June\n",
+ "Customer 40: More rentals in June\n",
+ "Customer 42: More rentals in June\n",
+ "Customer 43: More rentals in May\n",
+ "Customer 44: More rentals in May\n",
+ "Customer 45: More rentals in June\n",
+ "Customer 46: More rentals in June\n",
+ "Customer 47: Equal rentals in May and June\n",
+ "Customer 48: More rentals in May\n",
+ "Customer 49: More rentals in June\n",
+ "Customer 50: More rentals in May\n",
+ "Customer 51: More rentals in May\n",
+ "Customer 52: More rentals in June\n",
+ "Customer 53: More rentals in May\n",
+ "Customer 54: More rentals in June\n",
+ "Customer 55: More rentals in June\n",
+ "Customer 56: Equal rentals in May and June\n",
+ "Customer 57: More rentals in June\n",
+ "Customer 58: Equal rentals in May and June\n",
+ "Customer 59: Equal rentals in May and June\n",
+ "Customer 60: More rentals in May\n",
+ "Customer 62: More rentals in June\n",
+ "Customer 64: More rentals in May\n",
+ "Customer 65: Equal rentals in May and June\n",
+ "Customer 66: More rentals in June\n",
+ "Customer 67: More rentals in June\n",
+ "Customer 69: Equal rentals in May and June\n",
+ "Customer 70: Equal rentals in May and June\n",
+ "Customer 71: More rentals in June\n",
+ "Customer 72: More rentals in May\n",
+ "Customer 73: Equal rentals in May and June\n",
+ "Customer 74: More rentals in June\n",
+ "Customer 75: More rentals in June\n",
+ "Customer 76: More rentals in June\n",
+ "Customer 77: Equal rentals in May and June\n",
+ "Customer 79: More rentals in May\n",
+ "Customer 81: More rentals in June\n",
+ "Customer 82: More rentals in June\n",
+ "Customer 83: More rentals in June\n",
+ "Customer 84: More rentals in June\n",
+ "Customer 85: More rentals in June\n",
+ "Customer 86: More rentals in June\n",
+ "Customer 87: More rentals in June\n",
+ "Customer 88: More rentals in June\n",
+ "Customer 89: More rentals in June\n",
+ "Customer 91: More rentals in June\n",
+ "Customer 92: More rentals in June\n",
+ "Customer 93: More rentals in May\n",
+ "Customer 94: More rentals in June\n",
+ "Customer 95: More rentals in June\n",
+ "Customer 98: More rentals in June\n",
+ "Customer 99: More rentals in June\n",
+ "Customer 100: More rentals in June\n",
+ "Customer 102: More rentals in May\n",
+ "Customer 103: More rentals in June\n",
+ "Customer 104: More rentals in June\n",
+ "Customer 105: More rentals in May\n",
+ "Customer 106: Equal rentals in May and June\n",
+ "Customer 107: More rentals in June\n",
+ "Customer 108: More rentals in June\n",
+ "Customer 109: More rentals in May\n",
+ "Customer 110: More rentals in May\n",
+ "Customer 111: More rentals in June\n",
+ "Customer 112: More rentals in June\n",
+ "Customer 113: More rentals in June\n",
+ "Customer 114: More rentals in June\n",
+ "Customer 115: Equal rentals in May and June\n",
+ "Customer 116: More rentals in June\n",
+ "Customer 117: Equal rentals in May and June\n",
+ "Customer 118: More rentals in June\n",
+ "Customer 119: Equal rentals in May and June\n",
+ "Customer 120: More rentals in June\n",
+ "Customer 121: More rentals in June\n",
+ "Customer 122: More rentals in June\n",
+ "Customer 123: More rentals in June\n",
+ "Customer 124: More rentals in May\n",
+ "Customer 125: More rentals in June\n",
+ "Customer 126: More rentals in May\n",
+ "Customer 127: More rentals in June\n",
+ "Customer 128: Equal rentals in May and June\n",
+ "Customer 130: More rentals in June\n",
+ "Customer 131: More rentals in May\n",
+ "Customer 133: More rentals in June\n",
+ "Customer 134: Equal rentals in May and June\n",
+ "Customer 135: More rentals in June\n",
+ "Customer 136: Equal rentals in May and June\n",
+ "Customer 137: More rentals in June\n",
+ "Customer 138: More rentals in June\n",
+ "Customer 141: More rentals in June\n",
+ "Customer 142: More rentals in May\n",
+ "Customer 143: More rentals in June\n",
+ "Customer 144: More rentals in June\n",
+ "Customer 145: More rentals in June\n",
+ "Customer 146: More rentals in June\n",
+ "Customer 147: More rentals in June\n",
+ "Customer 148: More rentals in June\n",
+ "Customer 149: More rentals in June\n",
+ "Customer 150: More rentals in May\n",
+ "Customer 151: More rentals in June\n",
+ "Customer 152: More rentals in May\n",
+ "Customer 154: Equal rentals in May and June\n",
+ "Customer 155: More rentals in June\n",
+ "Customer 156: More rentals in June\n",
+ "Customer 157: More rentals in May\n",
+ "Customer 158: More rentals in June\n",
+ "Customer 159: More rentals in May\n",
+ "Customer 161: More rentals in May\n",
+ "Customer 162: More rentals in June\n",
+ "Customer 164: More rentals in June\n",
+ "Customer 165: More rentals in June\n",
+ "Customer 166: More rentals in June\n",
+ "Customer 167: Equal rentals in May and June\n",
+ "Customer 168: More rentals in May\n",
+ "Customer 169: Equal rentals in May and June\n",
+ "Customer 170: More rentals in May\n",
+ "Customer 171: More rentals in June\n",
+ "Customer 172: Equal rentals in May and June\n",
+ "Customer 173: More rentals in June\n",
+ "Customer 174: More rentals in June\n",
+ "Customer 176: More rentals in June\n",
+ "Customer 179: More rentals in May\n",
+ "Customer 180: More rentals in June\n",
+ "Customer 181: More rentals in June\n",
+ "Customer 182: More rentals in June\n",
+ "Customer 183: More rentals in June\n",
+ "Customer 184: More rentals in May\n",
+ "Customer 185: Equal rentals in May and June\n",
+ "Customer 186: More rentals in June\n",
+ "Customer 187: More rentals in June\n",
+ "Customer 189: More rentals in June\n",
+ "Customer 190: More rentals in June\n",
+ "Customer 191: More rentals in June\n",
+ "Customer 192: Equal rentals in May and June\n",
+ "Customer 193: More rentals in June\n",
+ "Customer 194: More rentals in June\n",
+ "Customer 196: More rentals in June\n",
+ "Customer 197: Equal rentals in May and June\n",
+ "Customer 198: More rentals in May\n",
+ "Customer 199: More rentals in June\n",
+ "Customer 200: More rentals in June\n",
+ "Customer 201: More rentals in June\n",
+ "Customer 203: More rentals in June\n",
+ "Customer 204: More rentals in June\n",
+ "Customer 207: More rentals in May\n",
+ "Customer 208: More rentals in June\n",
+ "Customer 209: More rentals in June\n",
+ "Customer 210: More rentals in June\n",
+ "Customer 211: More rentals in June\n",
+ "Customer 213: More rentals in June\n",
+ "Customer 214: More rentals in May\n",
+ "Customer 215: More rentals in June\n",
+ "Customer 216: More rentals in June\n",
+ "Customer 217: More rentals in June\n",
+ "Customer 219: More rentals in June\n",
+ "Customer 220: More rentals in May\n",
+ "Customer 221: More rentals in June\n",
+ "Customer 222: More rentals in May\n",
+ "Customer 223: More rentals in June\n",
+ "Customer 225: More rentals in May\n",
+ "Customer 227: More rentals in June\n",
+ "Customer 228: More rentals in June\n",
+ "Customer 230: More rentals in June\n",
+ "Customer 231: More rentals in May\n",
+ "Customer 232: Equal rentals in May and June\n",
+ "Customer 234: More rentals in June\n",
+ "Customer 235: Equal rentals in May and June\n",
+ "Customer 236: More rentals in June\n",
+ "Customer 237: More rentals in June\n",
+ "Customer 238: More rentals in June\n",
+ "Customer 239: More rentals in May\n",
+ "Customer 240: Equal rentals in May and June\n",
+ "Customer 241: More rentals in June\n",
+ "Customer 242: More rentals in June\n",
+ "Customer 243: More rentals in June\n",
+ "Customer 244: More rentals in June\n",
+ "Customer 245: More rentals in May\n",
+ "Customer 246: Equal rentals in May and June\n",
+ "Customer 247: More rentals in May\n",
+ "Customer 248: Equal rentals in May and June\n",
+ "Customer 249: More rentals in June\n",
+ "Customer 250: More rentals in May\n",
+ "Customer 251: More rentals in May\n",
+ "Customer 252: More rentals in June\n",
+ "Customer 253: More rentals in June\n",
+ "Customer 254: More rentals in June\n",
+ "Customer 256: More rentals in June\n",
+ "Customer 257: More rentals in May\n",
+ "Customer 259: More rentals in June\n",
+ "Customer 260: More rentals in June\n",
+ "Customer 261: More rentals in June\n",
+ "Customer 262: More rentals in June\n",
+ "Customer 263: Equal rentals in May and June\n",
+ "Customer 265: More rentals in June\n",
+ "Customer 266: More rentals in June\n",
+ "Customer 267: More rentals in June\n",
+ "Customer 269: More rentals in May\n",
+ "Customer 270: More rentals in June\n",
+ "Customer 271: Equal rentals in May and June\n",
+ "Customer 272: More rentals in May\n",
+ "Customer 273: More rentals in June\n",
+ "Customer 274: More rentals in May\n",
+ "Customer 275: More rentals in June\n",
+ "Customer 276: More rentals in June\n",
+ "Customer 277: More rentals in June\n",
+ "Customer 278: More rentals in June\n",
+ "Customer 279: More rentals in June\n",
+ "Customer 280: More rentals in June\n",
+ "Customer 281: Equal rentals in May and June\n",
+ "Customer 282: More rentals in June\n",
+ "Customer 284: Equal rentals in May and June\n",
+ "Customer 286: More rentals in June\n",
+ "Customer 287: More rentals in June\n",
+ "Customer 288: More rentals in May\n",
+ "Customer 290: More rentals in June\n",
+ "Customer 291: Equal rentals in May and June\n",
+ "Customer 292: More rentals in June\n",
+ "Customer 293: More rentals in June\n",
+ "Customer 294: More rentals in June\n",
+ "Customer 295: More rentals in June\n",
+ "Customer 296: More rentals in May\n",
+ "Customer 297: More rentals in June\n",
+ "Customer 298: More rentals in June\n",
+ "Customer 299: More rentals in June\n",
+ "Customer 300: More rentals in May\n",
+ "Customer 301: Equal rentals in May and June\n",
+ "Customer 302: More rentals in May\n",
+ "Customer 303: More rentals in June\n",
+ "Customer 304: More rentals in June\n",
+ "Customer 305: More rentals in June\n",
+ "Customer 306: Equal rentals in May and June\n",
+ "Customer 307: More rentals in June\n",
+ "Customer 308: More rentals in June\n",
+ "Customer 309: More rentals in June\n",
+ "Customer 310: More rentals in June\n",
+ "Customer 311: More rentals in May\n",
+ "Customer 312: More rentals in May\n",
+ "Customer 313: More rentals in May\n",
+ "Customer 314: Equal rentals in May and June\n",
+ "Customer 315: More rentals in May\n",
+ "Customer 316: More rentals in June\n",
+ "Customer 317: More rentals in June\n",
+ "Customer 318: More rentals in June\n",
+ "Customer 319: More rentals in June\n",
+ "Customer 321: More rentals in May\n",
+ "Customer 322: More rentals in June\n",
+ "Customer 323: Equal rentals in May and June\n",
+ "Customer 324: More rentals in June\n",
+ "Customer 325: More rentals in June\n",
+ "Customer 326: More rentals in June\n",
+ "Customer 327: More rentals in June\n",
+ "Customer 328: More rentals in June\n",
+ "Customer 330: More rentals in June\n",
+ "Customer 331: More rentals in June\n",
+ "Customer 333: More rentals in June\n",
+ "Customer 334: More rentals in June\n",
+ "Customer 337: More rentals in May\n",
+ "Customer 338: More rentals in June\n",
+ "Customer 339: More rentals in June\n",
+ "Customer 343: More rentals in June\n",
+ "Customer 344: More rentals in June\n",
+ "Customer 345: More rentals in June\n",
+ "Customer 346: More rentals in June\n",
+ "Customer 348: More rentals in June\n",
+ "Customer 349: More rentals in June\n",
+ "Customer 350: More rentals in June\n",
+ "Customer 351: More rentals in June\n",
+ "Customer 352: More rentals in June\n",
+ "Customer 353: More rentals in June\n",
+ "Customer 354: More rentals in June\n",
+ "Customer 355: More rentals in June\n",
+ "Customer 356: More rentals in June\n",
+ "Customer 357: More rentals in June\n",
+ "Customer 358: More rentals in June\n",
+ "Customer 359: More rentals in June\n",
+ "Customer 360: More rentals in June\n",
+ "Customer 361: More rentals in June\n",
+ "Customer 362: More rentals in June\n",
+ "Customer 363: More rentals in June\n",
+ "Customer 364: More rentals in June\n",
+ "Customer 365: More rentals in June\n",
+ "Customer 366: More rentals in June\n",
+ "Customer 367: More rentals in May\n",
+ "Customer 368: More rentals in June\n",
+ "Customer 369: More rentals in May\n",
+ "Customer 371: More rentals in June\n",
+ "Customer 372: More rentals in June\n",
+ "Customer 373: More rentals in June\n",
+ "Customer 374: More rentals in June\n",
+ "Customer 375: More rentals in May\n",
+ "Customer 376: More rentals in June\n",
+ "Customer 378: More rentals in June\n",
+ "Customer 379: More rentals in June\n",
+ "Customer 380: More rentals in June\n",
+ "Customer 381: More rentals in June\n",
+ "Customer 382: More rentals in June\n",
+ "Customer 383: More rentals in June\n",
+ "Customer 384: More rentals in June\n",
+ "Customer 385: More rentals in June\n",
+ "Customer 386: More rentals in June\n",
+ "Customer 387: More rentals in June\n",
+ "Customer 388: More rentals in June\n",
+ "Customer 389: More rentals in June\n",
+ "Customer 390: More rentals in June\n",
+ "Customer 391: Equal rentals in May and June\n",
+ "Customer 393: More rentals in June\n",
+ "Customer 394: More rentals in May\n",
+ "Customer 396: More rentals in June\n",
+ "Customer 397: More rentals in June\n",
+ "Customer 398: More rentals in June\n",
+ "Customer 399: More rentals in May\n",
+ "Customer 400: More rentals in May\n",
+ "Customer 402: More rentals in June\n",
+ "Customer 403: More rentals in June\n",
+ "Customer 404: More rentals in June\n",
+ "Customer 405: More rentals in June\n",
+ "Customer 406: More rentals in June\n",
+ "Customer 407: More rentals in June\n",
+ "Customer 408: Equal rentals in May and June\n",
+ "Customer 409: More rentals in June\n",
+ "Customer 411: More rentals in June\n",
+ "Customer 412: More rentals in May\n",
+ "Customer 413: Equal rentals in May and June\n",
+ "Customer 414: More rentals in June\n",
+ "Customer 415: More rentals in June\n",
+ "Customer 416: More rentals in June\n",
+ "Customer 417: More rentals in May\n",
+ "Customer 419: Equal rentals in May and June\n",
+ "Customer 420: More rentals in June\n",
+ "Customer 421: More rentals in June\n",
+ "Customer 422: More rentals in June\n",
+ "Customer 424: More rentals in June\n",
+ "Customer 425: Equal rentals in May and June\n",
+ "Customer 426: More rentals in June\n",
+ "Customer 427: More rentals in June\n",
+ "Customer 428: More rentals in June\n",
+ "Customer 429: More rentals in May\n",
+ "Customer 430: More rentals in June\n",
+ "Customer 431: More rentals in June\n",
+ "Customer 432: Equal rentals in May and June\n",
+ "Customer 434: More rentals in June\n",
+ "Customer 435: Equal rentals in May and June\n",
+ "Customer 436: More rentals in May\n",
+ "Customer 437: Equal rentals in May and June\n",
+ "Customer 438: More rentals in June\n",
+ "Customer 439: More rentals in June\n",
+ "Customer 441: More rentals in June\n",
+ "Customer 442: More rentals in June\n",
+ "Customer 443: Equal rentals in May and June\n",
+ "Customer 444: More rentals in June\n",
+ "Customer 446: More rentals in June\n",
+ "Customer 447: More rentals in June\n",
+ "Customer 448: More rentals in June\n",
+ "Customer 449: Equal rentals in May and June\n",
+ "Customer 450: More rentals in June\n",
+ "Customer 451: More rentals in June\n",
+ "Customer 452: More rentals in June\n",
+ "Customer 454: More rentals in June\n",
+ "Customer 455: More rentals in June\n",
+ "Customer 456: More rentals in June\n",
+ "Customer 457: More rentals in June\n",
+ "Customer 459: More rentals in June\n",
+ "Customer 460: More rentals in May\n",
+ "Customer 461: More rentals in June\n",
+ "Customer 462: More rentals in June\n",
+ "Customer 463: More rentals in June\n",
+ "Customer 464: Equal rentals in May and June\n",
+ "Customer 465: More rentals in June\n",
+ "Customer 466: More rentals in June\n",
+ "Customer 467: More rentals in June\n",
+ "Customer 468: More rentals in June\n",
+ "Customer 469: More rentals in May\n",
+ "Customer 470: More rentals in June\n",
+ "Customer 471: More rentals in June\n",
+ "Customer 472: More rentals in June\n",
+ "Customer 473: More rentals in June\n",
+ "Customer 474: More rentals in June\n",
+ "Customer 476: More rentals in June\n",
+ "Customer 477: More rentals in June\n",
+ "Customer 479: More rentals in June\n",
+ "Customer 480: More rentals in May\n",
+ "Customer 481: More rentals in June\n",
+ "Customer 482: More rentals in May\n",
+ "Customer 483: More rentals in June\n",
+ "Customer 484: More rentals in June\n",
+ "Customer 485: More rentals in June\n",
+ "Customer 486: More rentals in June\n",
+ "Customer 489: More rentals in June\n",
+ "Customer 490: More rentals in May\n",
+ "Customer 491: More rentals in June\n",
+ "Customer 492: More rentals in June\n",
+ "Customer 493: More rentals in June\n",
+ "Customer 494: Equal rentals in May and June\n",
+ "Customer 495: More rentals in June\n",
+ "Customer 496: More rentals in May\n",
+ "Customer 497: More rentals in June\n",
+ "Customer 498: More rentals in June\n",
+ "Customer 499: More rentals in June\n",
+ "Customer 500: More rentals in June\n",
+ "Customer 501: Equal rentals in May and June\n",
+ "Customer 502: More rentals in May\n",
+ "Customer 503: More rentals in May\n",
+ "Customer 504: More rentals in May\n",
+ "Customer 505: More rentals in June\n",
+ "Customer 506: More rentals in May\n",
+ "Customer 507: More rentals in June\n",
+ "Customer 508: More rentals in May\n",
+ "Customer 509: Equal rentals in May and June\n",
+ "Customer 510: More rentals in June\n",
+ "Customer 511: More rentals in June\n",
+ "Customer 513: More rentals in June\n",
+ "Customer 514: More rentals in June\n",
+ "Customer 515: More rentals in June\n",
+ "Customer 516: More rentals in June\n",
+ "Customer 517: More rentals in June\n",
+ "Customer 518: More rentals in June\n",
+ "Customer 519: More rentals in June\n",
+ "Customer 520: More rentals in June\n",
+ "Customer 522: More rentals in June\n",
+ "Customer 523: More rentals in June\n",
+ "Customer 524: More rentals in June\n",
+ "Customer 525: Equal rentals in May and June\n",
+ "Customer 526: More rentals in June\n",
+ "Customer 528: More rentals in May\n",
+ "Customer 529: More rentals in June\n",
+ "Customer 530: More rentals in June\n",
+ "Customer 531: More rentals in May\n",
+ "Customer 532: More rentals in June\n",
+ "Customer 533: More rentals in June\n",
+ "Customer 534: More rentals in June\n",
+ "Customer 535: More rentals in May\n",
+ "Customer 536: More rentals in June\n",
+ "Customer 537: More rentals in June\n",
+ "Customer 538: More rentals in June\n",
+ "Customer 539: More rentals in June\n",
+ "Customer 541: Equal rentals in May and June\n",
+ "Customer 542: Equal rentals in May and June\n",
+ "Customer 543: More rentals in June\n",
+ "Customer 544: More rentals in June\n",
+ "Customer 545: More rentals in May\n",
+ "Customer 546: More rentals in June\n",
+ "Customer 547: More rentals in May\n",
+ "Customer 548: Equal rentals in May and June\n",
+ "Customer 549: More rentals in May\n",
+ "Customer 550: More rentals in June\n",
+ "Customer 551: More rentals in May\n",
+ "Customer 552: More rentals in June\n",
+ "Customer 553: More rentals in June\n",
+ "Customer 554: More rentals in June\n",
+ "Customer 556: More rentals in June\n",
+ "Customer 557: More rentals in June\n",
+ "Customer 560: More rentals in June\n",
+ "Customer 561: More rentals in June\n",
+ "Customer 562: More rentals in June\n",
+ "Customer 563: Equal rentals in May and June\n",
+ "Customer 564: More rentals in May\n",
+ "Customer 565: More rentals in June\n",
+ "Customer 566: More rentals in June\n",
+ "Customer 569: More rentals in May\n",
+ "Customer 570: More rentals in June\n",
+ "Customer 571: More rentals in June\n",
+ "Customer 572: More rentals in June\n",
+ "Customer 573: More rentals in June\n",
+ "Customer 574: More rentals in June\n",
+ "Customer 575: More rentals in May\n",
+ "Customer 576: More rentals in June\n",
+ "Customer 577: More rentals in June\n",
+ "Customer 578: More rentals in June\n",
+ "Customer 580: Equal rentals in May and June\n",
+ "Customer 581: More rentals in June\n",
+ "Customer 582: More rentals in June\n",
+ "Customer 584: More rentals in May\n",
+ "Customer 586: Equal rentals in May and June\n",
+ "Customer 587: More rentals in June\n",
+ "Customer 588: More rentals in June\n",
+ "Customer 589: More rentals in June\n",
+ "Customer 590: More rentals in June\n",
+ "Customer 593: More rentals in June\n",
+ "Customer 594: More rentals in June\n",
+ "Customer 595: More rentals in June\n",
+ "Customer 596: More rentals in May\n",
+ "Customer 597: More rentals in June\n",
+ "Customer 599: More rentals in June\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Write a function that checks if customer borrowed more or less films in the month of June as compared to May.\n",
+ "\n",
+ "# Function for each customer\n",
+ "def monthly_activity(df1, df2):\n",
+ " '''\n",
+ " Function to compare rental activity between May and June for each customer\n",
+ "\n",
+ " Parameters:\n",
+ " - df1: DataFrame containing rental data for May\n",
+ " - df2: DataFrame containing rental data for June\n",
+ "\n",
+ " Steps:\n",
+ " 1. Merge the DataFrames on 'customer_id'.\n",
+ " 2. Rename columns for clarity.\n",
+ " 3. Drop rows with missing values.\n",
+ " 4. Set 'customer_id' as the index and sort the DataFrame.\n",
+ " 5. Iterate over rows and compare rental counts for May and June.\n",
+ " 6. Print the result for each customer: more rentals in May, more in June, or equal counts.\n",
+ "\n",
+ " '''\n",
+ " # Merge the DataFrames on 'customer_id'\n",
+ " merged_df = pd.merge(df1, df2, on='customer_id', how='outer')\n",
+ " \n",
+ " # Rename columns for clarity\n",
+ " merged_df = merged_df.rename(columns={\n",
+ " 'count_rentals_x': 'may_rental_count',\n",
+ " 'count_rentals_y': 'june_rental_count'\n",
+ " })\n",
+ "\n",
+ " # Drop rows with missing values\n",
+ " merged_df = merged_df.dropna()\n",
+ "\n",
+ " # Set 'customer_id' as the index and sort the DataFrame\n",
+ " merged_df = merged_df.set_index('customer_id')\n",
+ " merged_df = merged_df.sort_index()\n",
+ "\n",
+ " # Iterate over rows and compare rental counts for May and June\n",
+ " for index, row in merged_df.iterrows():\n",
+ " customer_id = index\n",
+ " may_rentals = row['may_rental_count']\n",
+ " june_rentals = row['june_rental_count']\n",
+ "\n",
+ " # Print the result for each customer\n",
+ " if may_rentals > june_rentals:\n",
+ " print(f\"Customer {customer_id}: More rentals in May\")\n",
+ " elif may_rentals < june_rentals:\n",
+ " print(f\"Customer {customer_id}: More rentals in June\")\n",
+ " else:\n",
+ " print(f\"Customer {customer_id}: Equal rentals in May and June\")\n",
+ "\n",
+ " \n",
+ "monthly_activity(may_rent, june_rent) "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 91,
+ "id": "6826d206",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Choose the number of the customer you want to know the activity: 222\n",
+ "Customer 222: More rentals in May\n"
+ ]
+ }
+ ],
+ "source": [
+ "# Function for a selected customer from the user\n",
+ "def input_monthly_activity(df1, df2):\n",
+ " '''\n",
+ " Function to input a customer number and compare rental activity between May and June for the specified customer.\n",
+ "\n",
+ " Parameters:\n",
+ " - df1: DataFrame containing rental data for May\n",
+ " - df2: DataFrame containing rental data for June\n",
+ "\n",
+ " Steps:\n",
+ " 1. Merge the DataFrames on 'customer_id'.\n",
+ " 2. Rename columns for clarity.\n",
+ " 3. Drop rows with missing values.\n",
+ " 4. Get user input for the customer number.\n",
+ " 5. Check if the input customer number is valid.\n",
+ " 6. Retrieve the row for the specified customer.\n",
+ " 7. Compare rental counts for May and June.\n",
+ " 8. Print the result for the chosen customer: more rentals in May, more in June, or equal counts.\n",
+ "\n",
+ " '''\n",
+ " # Merge the DataFrames on 'customer_id'\n",
+ " merged_df = pd.merge(df1, df2, on='customer_id', how='outer')\n",
+ " \n",
+ " # Rename columns for clarity\n",
+ " merged_df = merged_df.rename(columns={\n",
+ " 'count_rentals_x': 'may_rental_count',\n",
+ " 'count_rentals_y': 'june_rental_count'\n",
+ " })\n",
+ "\n",
+ " # Drop rows with missing values\n",
+ " merged_df = merged_df.dropna()\n",
+ "\n",
+ " # Get user input for the customer number\n",
+ " customer_n = int(input('Choose the number of the customer you want to know the activity: '))\n",
+ "\n",
+ " # Check if the input customer number is valid\n",
+ " if customer_n not in merged_df['customer_id'].values:\n",
+ " print(f\"Invalid customer number: {customer_n}\")\n",
+ " return\n",
+ "\n",
+ " # Retrieve the row for the specified customer\n",
+ " row = merged_df[merged_df['customer_id'] == customer_n].iloc[0]\n",
+ " may_rentals = row['may_rental_count']\n",
+ " june_rentals = row['june_rental_count']\n",
+ "\n",
+ " # Compare rental counts for May and June\n",
+ " if may_rentals > june_rentals:\n",
+ " print(f\"Customer {customer_n}: More rentals in May\")\n",
+ " elif may_rentals < june_rentals:\n",
+ " print(f\"Customer {customer_n}: More rentals in June\")\n",
+ " else:\n",
+ " print(f\"Customer {customer_n}: Equal rentals in May and June\")\n",
+ "\n",
+ "input_monthly_activity(may_rent, june_rent) "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "7145874d",
+ "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.11.4"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}