{ "cells": [ { "cell_type": "markdown", "id": "c000", "metadata": {}, "source": [ "# A Data Analysis with pandas\n", "## From a Messy File to a Defensible Finding\n", "\n", "**STAT 540 — Computing in Statistics**\n", "Yen-Yi Ho · Department of Statistics, University of South Carolina\n", "\n", "Companion notebook to the lecture slides *A Data Analysis with pandas*.\n", "\n", "---\n", "\n", "Lecture 1 taught the pandas **vocabulary** — Series, DataFrame, `loc`, `groupby`, `merge`.\n", "This notebook is about putting that vocabulary to work on a real question, in the order a\n", "real analysis actually happens.\n", "\n", "The data is the `tips` dataset: every check a waiter recorded over about ten weeks\n", "(Bryant & Smith, 1995). You met a *simulated* version of it in Lecture 1. This is the\n", "real thing — and it arrives in the state real data arrives in.\n", "\n", "### The brief\n", "\n", "A restaurant owner hands you one file and three questions:\n", "\n", "1. What is a **typical** tip here? Does the \"15 to 20 percent\" norm hold?\n", "2. Does the tip rate depend on the **size of the bill**?\n", "3. Do **smokers, men, women, weekends** — any of the groups servers argue about — tip\n", " differently?\n", "\n", "**Deliverable:** a short written finding for each, with the evidence behind it and an\n", "honest statement of what the data *cannot* settle.\n", "\n", "### The eight stages\n", "\n", "| | Stage | The question it answers |\n", "|---|---|---|\n", "| 1 | Load and inspect | What did I actually get? |\n", "| 2 | Clean | What is wrong with it, and what will I do about it? |\n", "| 3 | Derive | What do I need that is not in the file? |\n", "| 4 | One variable | How does the outcome behave on its own? |\n", "| 5 | Two variables | What moves with what? |\n", "| 6 | Compare groups | Is the difference real, or is it something else? |\n", "| 7 | Visualize | What is the one picture that shows it? |\n", "| 8 | Report | What can I claim, and what can I not? |\n", "\n", "Stages 1–3 take most of the time. That is normal, and it is not wasted time." ] }, { "cell_type": "markdown", "id": "c001", "metadata": {}, "source": [ "---\n", "### Setup\n", "\n", "The cell below writes the data file next to this notebook if it is not already there,\n", "so the notebook runs anywhere. **It is not part of the lesson** — collapse it and move on." ] }, { "cell_type": "code", "execution_count": 1, "id": "c002", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tips_messy.csv - 10108 bytes\n" ] } ], "source": [ "import base64, zlib, pathlib\n", "\n", "_BLOB = \"\"\"\n", "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\n", "uE1wHB9fm/IPMpvl9wsA8yXE/wF3CT/3\n", "\"\"\"\n", "_p = pathlib.Path(\"tips_messy.csv\")\n", "if not _p.exists():\n", " _p.write_bytes(zlib.decompress(base64.b64decode(\"\".join(_BLOB.split()))))\n", "print(_p, \"-\", _p.stat().st_size, \"bytes\")" ] }, { "cell_type": "code", "execution_count": 2, "id": "c003", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "pandas 2.3.3\n" ] } ], "source": [ "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "\n", "pd.set_option(\"display.max_rows\", 12)\n", "pd.set_option(\"display.precision\", 3)\n", "\n", "# A two-colour palette, checked for colour-vision deficiency separation.\n", "BLUE, ORANGE, GREY = \"#2a78d6\", \"#eb6834\", \"#52514e\"\n", "plt.rcParams.update({\n", " \"figure.figsize\": (7, 3.2), \"font.size\": 10, \"figure.dpi\": 110,\n", " \"axes.spines.top\": False, \"axes.spines.right\": False,\n", " \"axes.grid\": True, \"grid.alpha\": 0.25, \"axes.axisbelow\": True,\n", "})\n", "print(\"pandas\", pd.__version__)" ] }, { "cell_type": "markdown", "id": "c004", "metadata": {}, "source": [ "### Two ground rules\n", "\n", "**1. Never modify the raw file.** Read it, copy it, transform the copy. The raw file is\n", "your evidence; if you overwrite it you cannot reproduce or check anything.\n", "\n", "**2. Every cleaning decision is a research decision.** Dropping a row, recoding a label,\n", "filling a missing value — each one changes your answer. Write each down as you make it,\n", "because you will have to defend it." ] }, { "cell_type": "markdown", "id": "c005", "metadata": {}, "source": [ "---\n", "# Stage 1 — Load and Inspect\n", "\n", "## 1.1 Read the file" ] }, { "cell_type": "code", "execution_count": 3, "id": "c006", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(247, 9)" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "raw = pd.read_csv(\"tips_messy.csv\")\n", "raw.shape" ] }, { "cell_type": "markdown", "id": "c007", "metadata": {}, "source": [ "247 rows and 9 columns. The owner said \"about 240 checks\", so the row count is plausible —\n", "but we were promised 8 columns, not 9.\n", "\n", "**Always check `shape` first.** If it surprises you, stop and find out why before doing\n", "anything else." ] }, { "cell_type": "code", "execution_count": 4, "id": "c008", "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", "
check_idtotal_billtipsexsmokerdaytimesizeserver_note
0C0004$23.683.31MaleNoSunDinner2.0NaN
1C0083$10.071.83FemaleNoThurlunch1.0NaN
2C0241$27.182.00FemaleYesSatdinner2.0NaN
3C0081$19.443.00MaleYesTHURLunch2.0NaN
4C0235$15.533.00MaleYSatDinner2.0NaN
\n", "
" ], "text/plain": [ " check_id total_bill tip sex smoker day time size server_note\n", "0 C0004 $23.68 3.31 Male No Sun Dinner 2.0 NaN\n", "1 C0083 $10.07 1.83 Female No Thur lunch 1.0 NaN\n", "2 C0241 $27.18 2.00 Female Yes Sat dinner 2.0 NaN\n", "3 C0081 $19.44 3.00 Male Yes THUR Lunch 2.0 NaN\n", "4 C0235 $15.53 3.00 Male Y Sat Dinner 2.0 NaN" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "raw.head()" ] }, { "cell_type": "markdown", "id": "c009", "metadata": {}, "source": [ "Three problems are visible in the first five rows alone: a `$` inside `total_bill`,\n", "a `server_note` column nobody mentioned, and inconsistent capitalisation in `day` and\n", "`time`.\n", "\n", "## 1.2 `info()` — the most informative single call" ] }, { "cell_type": "code", "execution_count": 5, "id": "c010", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 247 entries, 0 to 246\n", "Data columns (total 9 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 check_id 247 non-null object \n", " 1 total_bill 247 non-null object \n", " 2 tip 244 non-null float64\n", " 3 sex 247 non-null object \n", " 4 smoker 247 non-null object \n", " 5 day 247 non-null object \n", " 6 time 247 non-null object \n", " 7 size 243 non-null float64\n", " 8 server_note 5 non-null object \n", "dtypes: float64(2), object(7)\n", "memory usage: 17.5+ KB\n" ] } ], "source": [ "raw.info()" ] }, { "cell_type": "markdown", "id": "c011", "metadata": {}, "source": [ "## 1.3 What `dtypes` is telling you" ] }, { "cell_type": "code", "execution_count": 6, "id": "c012", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "check_id object\n", "total_bill object\n", "tip float64\n", "sex object\n", "smoker object\n", "day object\n", "time object\n", "size float64\n", "server_note object\n", "dtype: object" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "raw.dtypes" ] }, { "cell_type": "markdown", "id": "c013", "metadata": {}, "source": [ "**`total_bill` is text, not a number.** pandas read it as `object`/`str` because of the\n", "dollar signs. `raw[\"total_bill\"].mean()` would fail outright — or, worse, in some\n", "versions concatenate the strings.\n", "\n", "A numeric column arriving as text is the single most common data-loading defect, and\n", "`dtypes` catches it in one line." ] }, { "cell_type": "code", "execution_count": 7, "id": "c014", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "TypeError: Could not convert string '$23.68$10.07$27.18$19.44 $15.53 $15.77$7.25 \n" ] } ], "source": [ "# proof, if you want to see it fail\n", "try:\n", " raw[\"total_bill\"].mean()\n", "except TypeError as e:\n", " print(\"TypeError:\", str(e)[:70])" ] }, { "cell_type": "markdown", "id": "c015", "metadata": {}, "source": [ "## 1.4 `describe()` on what little is numeric" ] }, { "cell_type": "code", "execution_count": 8, "id": "c016", "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", "
tipsize
count244.000243.000
mean1.7712.576
std11.3500.956
min-99.0001.000
25%2.0002.000
50%2.9602.000
75%3.6033.000
max10.0006.000
\n", "
" ], "text/plain": [ " tip size\n", "count 244.000 243.000\n", "mean 1.771 2.576\n", "std 11.350 0.956\n", "min -99.000 1.000\n", "25% 2.000 2.000\n", "50% 2.960 2.000\n", "75% 3.603 3.000\n", "max 10.000 6.000" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "raw.describe()" ] }, { "cell_type": "markdown", "id": "c017", "metadata": {}, "source": [ "Only two columns are numeric — and `tip` has a **minimum of −99**, which is impossible\n", "for a tip.\n", "\n", "That is a **sentinel value**: a code someone chose to mean \"missing\". −99, −999, 9999,\n", "`\"N/A\"`, `\".\"`, −1 — every institution has its own, and none of them are missing to\n", "pandas until you say so. `describe()` finds them, because an impossible minimum or\n", "maximum sticks out immediately.\n", "\n", "## 1.5 Inspect every categorical column" ] }, { "cell_type": "code", "execution_count": 9, "id": "c018", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "sex: ['F', 'Female', 'M', 'MALE', 'Male', 'female', 'male']\n", "\n", "smoker: ['N', 'No', 'Y', 'Yes', 'no', 'yes']\n", "\n", "day: [' Fri', ' Sat', ' Sun', ' Thur', 'FRI', 'Fri', 'Fri ', 'SAT', 'SUN', 'Sat', 'Sat ', 'Sun', 'Sun ', 'THUR', 'Thur', 'Thur ', 'fri', 'sat', 'sun', 'thur']\n", "\n", "time: ['DINNER', 'Dinner', 'Lunch', 'dinner', 'lunch']\n", "\n" ] } ], "source": [ "for c in [\"sex\", \"smoker\", \"day\", \"time\"]:\n", " print(f\"{c}: {sorted(raw[c].dropna().unique())}\\n\")" ] }, { "cell_type": "markdown", "id": "c019", "metadata": {}, "source": [ "Seven spellings for two sexes. Twenty for four days. A `groupby(\"day\")` right now would\n", "produce twenty groups and a meaningless answer.\n", "\n", "## 1.6 Missing values and duplicates" ] }, { "cell_type": "code", "execution_count": 10, "id": "c020", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "check_id 0\n", "total_bill 0\n", "tip 3\n", "sex 0\n", "smoker 0\n", "day 0\n", "time 0\n", "size 4\n", "server_note 242\n", "dtype: int64\n", "\n", "duplicated rows: 3\n" ] } ], "source": [ "print(raw.isna().sum())\n", "print(\"\\nduplicated rows:\", raw.duplicated().sum())" ] }, { "cell_type": "code", "execution_count": 18, "id": "172fb5eb-a33f-41a5-80cb-cd275a3d9bed", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "62 comp\n", "93 comp\n", "98 comp\n", "171 comp\n", "244 comp\n", "Name: server_note, dtype: object" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "raw.loc[~raw[\"server_note\"].isna(), \"server_note\"]" ] }, { "cell_type": "markdown", "id": "c021", "metadata": {}, "source": [ "## 1.7 The five questions to ask any new dataset\n", "\n", "| | Question | One line that answers it |\n", "|---|---|---|\n", "| 1 | How big is it? | `df.shape` |\n", "| 2 | What type is each column? | `df.dtypes` / `df.info()` |\n", "| 3 | What is missing? | `df.isna().sum()` |\n", "| 4 | Are there repeated rows? | `df.duplicated().sum()` |\n", "| 5 | What values does each category take? | `df[c].value_counts()` |\n", "\n", "Run all five on **every** dataset, every time, before you analyze anything. They take\n", "thirty seconds and they will save you hours.\n", "\n", "## 1.8 The defect inventory\n", "\n", "| # | Defect | Fix |\n", "|---|---|---|\n", "| 1 | `server_note` is empty and unused | drop the column |\n", "| 2 | `total_bill` is text with `$` | strip, convert to float |\n", "| 3 | `tip` uses −99 for missing | replace with `NaN` |\n", "| 4 | `sex`, `smoker` have many spellings | harmonise |\n", "| 5 | `day`, `time` have case/space noise | strip, title-case |\n", "| 6 | 3 duplicated rows | `drop_duplicates` |\n", "| 7 | 6 missing tips, 4 missing sizes | decide, then document |\n", "\n", "**Write the inventory before you write any cleaning code.** It becomes your checklist,\n", "and later it becomes a paragraph of your report." ] }, { "cell_type": "markdown", "id": "c022", "metadata": {}, "source": [ "---\n", "# Stage 2 — Clean\n", "\n", "## 2.1 Start from a copy" ] }, { "cell_type": "code", "execution_count": 29, "id": "c023", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(247, 9)" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "d = raw.copy()\n", "d.shape" ] }, { "cell_type": "markdown", "id": "c024", "metadata": {}, "source": [ "From here on `raw` is untouched evidence and `d` is the working copy. If a cleaning step\n", "goes wrong you re-run from `raw` — you never re-download.\n", "\n", "## 2.2 Defect 1: a column nobody needs" ] }, { "cell_type": "code", "execution_count": 30, "id": "c025", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "server_note\n", "NaN 242\n", "comp 5\n", "Name: count, dtype: int64" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "raw[\"server_note\"].value_counts(dropna=False)" ] }, { "cell_type": "code", "execution_count": 31, "id": "c026", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['check_id', 'total_bill', 'tip', 'sex', 'smoker', 'day', 'time', 'size']" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "d = d.drop(columns=\"server_note\")\n", "d.columns.tolist()" ] }, { "cell_type": "markdown", "id": "c027", "metadata": {}, "source": [ "242 blanks and 5 `comp` flags — not enough to analyze. We drop it, and we *say so* in the\n", "report. Silently discarding a column is how findings become irreproducible.\n", "\n", "## 2.3 Defect 2: money stored as text" ] }, { "cell_type": "code", "execution_count": 22, "id": "c028", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['$23.68', '$10.07', '$27.18', '$19.44', ' $15.53 ']" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "raw[\"total_bill\"].head(5).tolist()" ] }, { "cell_type": "code", "execution_count": 32, "id": "4e9c13d3-5b95-4987-99b0-c315383ef010", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.int64(0)" ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "d[\"total_bill\"].isna().sum() # 0" ] }, { "cell_type": "code", "execution_count": 33, "id": "c029", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[23.68, 10.07, 27.18, 19.44, 15.53]" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "d[\"total_bill\"] = (d[\"total_bill\"]\n", " .str.strip() # kill the padding\n", " .str.replace(r\"[$,]\", \"\", regex=True) # kill $ and thousands ,\n", " .astype(float))\n", "d[\"total_bill\"].head(5).tolist()" ] }, { "cell_type": "markdown", "id": "c030", "metadata": {}, "source": [ "Chain the `.str` methods, then `astype`. Removing `,` matters the moment a bill reaches\n", "`$1,000` — and it costs nothing to handle now.\n", "\n", "### Always check what a type conversion did" ] }, { "cell_type": "code", "execution_count": 34, "id": "c031", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "new NaNs: 0\n", "range: 3.07 - 50.81\n" ] } ], "source": [ "print(\"new NaNs:\", d[\"total_bill\"].isna().sum())\n", "print(\"range:\", d[\"total_bill\"].min(), \"-\", d[\"total_bill\"].max())" ] }, { "cell_type": "markdown", "id": "c032", "metadata": {}, "source": [ "`astype(float)` **raises** if a value will not parse, so a clean run means every value\n", "converted. But `pd.to_numeric(..., errors=\"coerce\")` — which you will often want, because\n", "it survives one bad row — turns failures into `NaN` *silently*. That is why you count\n", "them afterwards either way.\n", "\n", "A range of \\$3.07 to \\$50.81 for restaurant checks is plausible. Good.\n", "\n", "## 2.4 Defect 3: the sentinel value" ] }, { "cell_type": "code", "execution_count": 35, "id": "c033", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "rows coded -99: 3\n", "tip min now: 1.0\n", "tip NaNs now: 6\n" ] } ], "source": [ "print(\"rows coded -99:\", (raw[\"tip\"] == -99).sum())\n", "d[\"tip\"] = d[\"tip\"].replace(-99, np.nan)\n", "print(\"tip min now:\", d[\"tip\"].min())\n", "print(\"tip NaNs now:\", d[\"tip\"].isna().sum())" ] }, { "cell_type": "markdown", "id": "c034", "metadata": {}, "source": [ "Six missing tips in total: three written as `-99` and three left blank. Two codings for\n", "the same thing in one column — entirely typical.\n", "\n", "## 2.5 Defect 4: one category, many spellings" ] }, { "cell_type": "code", "execution_count": 36, "id": "c035", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "['N', 'No', 'Y', 'Yes', 'no', 'yes']" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sorted(raw[\"smoker\"].unique())" ] }, { "cell_type": "markdown", "id": "c036", "metadata": {}, "source": [ "You *could* write a dictionary with every spelling in it. That works until next month's\n", "export contains `\"YES \"` and quietly produces a `NaN`.\n", "\n", "Better: **normalise first, then map.** Strip the whitespace, upper-case it, take the\n", "first letter — now there are only two possible values left to map, and the mapping is\n", "robust to spellings you have not seen." ] }, { "cell_type": "code", "execution_count": 42, "id": "c037", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "sex: ['Female', 'Male']\n", "smoker: ['No', 'Yes']\n", "day: ['Fri', 'Sat', 'Sun', 'Thur']\n", "time: ['Dinner', 'Lunch']\n" ] } ], "source": [ "d[\"sex\"] = d[\"sex\"].str.strip().str.upper().str[0].map({\"M\": \"Male\", \"F\": \"Female\"})\n", "d[\"smoker\"] = d[\"smoker\"].str.strip().str.upper().str[0].map({\"N\": \"No\", \"Y\": \"Yes\"})\n", "d[\"day\"] = d[\"day\"].str.strip().str.title()\n", "d[\"time\"] = d[\"time\"].str.strip().str.title()\n", "\n", "for c in [\"sex\", \"smoker\", \"day\", \"time\"]:\n", " print(f\"{c}: {sorted(d[c].unique())}\")" ] }, { "cell_type": "markdown", "id": "c038", "metadata": {}, "source": [ "### The one dangerous property of `map`\n", "\n", "**`map` returns `NaN` for anything not in the dictionary — silently.** A spelling you did\n", "not anticipate does not raise an error; it becomes a missing value and disappears from\n", "your `groupby`. So after every `map` on a category, count the `NaN`s." ] }, { "cell_type": "code", "execution_count": 43, "id": "c039", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "sex 0\n", "smoker 0\n", "dtype: int64" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "d[[\"sex\", \"smoker\"]].isna().sum()" ] }, { "cell_type": "markdown", "id": "c040", "metadata": {}, "source": [ "Zero. Nothing escaped the mapping.\n", "\n", "## 2.6 Defect 5: duplicate rows" ] }, { "cell_type": "code", "execution_count": 44, "id": "c041", "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", "
check_idtotal_billtipsexsmokerdaytimesize
20C001235.265.0FemaleNoSunDinner4.0
48C001235.265.0FemaleNoSunDinner4.0
28C009128.973.0MaleYesFriDinner2.0
53C009128.973.0MaleYesFriDinner2.0
172C020416.402.5FemaleYesThurLunch2.0
173C020416.402.5FemaleYesThurLunch2.0
\n", "
" ], "text/plain": [ " check_id total_bill tip sex smoker day time size\n", "20 C0012 35.26 5.0 Female No Sun Dinner 4.0\n", "48 C0012 35.26 5.0 Female No Sun Dinner 4.0\n", "28 C0091 28.97 3.0 Male Yes Fri Dinner 2.0\n", "53 C0091 28.97 3.0 Male Yes Fri Dinner 2.0\n", "172 C0204 16.40 2.5 Female Yes Thur Lunch 2.0\n", "173 C0204 16.40 2.5 Female Yes Thur Lunch 2.0" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "d[d.duplicated(keep=False)].sort_values(\"check_id\")" ] }, { "cell_type": "code", "execution_count": 45, "id": "c042", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "247 -> 244 rows\n" ] } ], "source": [ "before = len(d)\n", "d = d.drop_duplicates()\n", "print(f\"{before} -> {len(d)} rows\")" ] }, { "cell_type": "markdown", "id": "c043", "metadata": {}, "source": [ "Three exact duplicates removed.\n", "\n", "**Be careful here.** Two *different* checks could legitimately have identical bills,\n", "tips, and party sizes. What proves these are duplicates is the repeated `check_id`.\n", "Without an identifier, `drop_duplicates()` on the full row would destroy real data.\n", "\n", "## 2.7 Defect 6: missing values — count first" ] }, { "cell_type": "code", "execution_count": 46, "id": "c044", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "check_id 0\n", "total_bill 0\n", "tip 6\n", "sex 0\n", "smoker 0\n", "day 0\n", "time 0\n", "size 4\n", "dtype: int64\n", "\n", "as a percentage:\n", "tip 2.5\n", "size 1.6\n", "dtype: float64\n" ] } ], "source": [ "print(d.isna().sum())\n", "print(\"\\nas a percentage:\")\n", "print((100 * d[[\"tip\", \"size\"]].isna().mean()).round(1))" ] }, { "cell_type": "markdown", "id": "c045", "metadata": {}, "source": [ "About 2.5% of tips and 1.7% of sizes. Small — but \"small\" is not a decision.\n", "\n", "### Then decide\n", "\n", "| Option | When it is right | Here? |\n", "|---|---|---|\n", "| Drop the rows | few, and not systematic | **yes** |\n", "| Impute | many, and you must keep the sample size | no |\n", "| Keep as its own category | the missingness is itself informative | no |\n", "\n", "`tip` is our **outcome variable**. Imputing an outcome means inventing the very thing we\n", "are trying to measure, so that is out. Under 3% missing, so we drop — and we report that\n", "we dropped 10 rows.\n", "\n", "### Check who you are about to drop\n", "\n", "This is the step people skip. If every missing tip were on a Saturday, dropping them\n", "would bias the Saturday estimate." ] }, { "cell_type": "code", "execution_count": 47, "id": "c046", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "day\n", "Sat 5\n", "Sun 3\n", "Thur 1\n", "Fri 1\n", "Name: count, dtype: int64 \n", "\n", " check_id total_bill tip day size\n", "18 C0067 16.45 NaN Sat 2.0\n", "25 C0129 11.38 NaN Thur 2.0\n", "34 C0061 20.29 NaN Sat 2.0\n", "65 C0233 11.61 3.39 Sat NaN\n", "66 C0216 12.90 NaN Sat 2.0\n", "118 C0107 20.49 4.06 Sat NaN\n", "147 C0054 9.94 NaN Sun 2.0\n", "178 C0164 13.81 2.00 Sun NaN\n", "179 C0101 11.35 NaN Fri 2.0\n", "209 C0190 23.10 4.00 Sun NaN\n" ] } ], "source": [ "gone = d[d[[\"tip\", \"size\"]].isna().any(axis=\"columns\")]\n", "print(gone[\"day\"].value_counts(), \"\\n\")\n", "print(gone[[\"check_id\", \"total_bill\", \"tip\", \"day\", \"size\"]])" ] }, { "cell_type": "markdown", "id": "c047", "metadata": {}, "source": [ "Spread across all four days, with ordinary-looking bills. Dropping is defensible." ] }, { "cell_type": "code", "execution_count": 48, "id": "c048", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(234, 8)" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "d = d.dropna(subset=[\"tip\", \"size\"]).copy()\n", "d[\"size\"] = d[\"size\"].astype(int)\n", "d.shape" ] }, { "cell_type": "markdown", "id": "c049", "metadata": {}, "source": [ "234 checks from the original 247: −3 duplicates, −10 incomplete.\n", "\n", "## 2.8 Put the whole thing in a function\n", "\n", "Everything above, in one reusable place." ] }, { "cell_type": "code", "execution_count": 49, "id": "c050", "metadata": {}, "outputs": [], "source": [ "def load_tips(path=\"tips_messy.csv\"):\n", " \"\"\"Read the register export and return analysis-ready data.\"\"\"\n", " d = pd.read_csv(path).drop(columns=\"server_note\")\n", " d[\"total_bill\"] = (d[\"total_bill\"].str.strip()\n", " .str.replace(r\"[$,]\", \"\", regex=True).astype(float))\n", " d[\"tip\"] = d[\"tip\"].replace(-99, np.nan)\n", " d[\"sex\"] = d[\"sex\"].str.strip().str.upper().str[0].map({\"M\": \"Male\", \"F\": \"Female\"})\n", " d[\"smoker\"] = d[\"smoker\"].str.strip().str.upper().str[0].map({\"N\": \"No\", \"Y\": \"Yes\"})\n", " d[\"day\"] = d[\"day\"].str.strip().str.title()\n", " d[\"time\"] = d[\"time\"].str.strip().str.title()\n", " d = d.drop_duplicates().dropna(subset=[\"tip\", \"size\"]).copy()\n", " d[\"size\"] = d[\"size\"].astype(int)\n", " return d.reset_index(drop=True)" ] }, { "cell_type": "markdown", "id": "c051", "metadata": {}, "source": [ "**Why a function?** It runs the same way every time, it is one line to re-run when next\n", "month's export arrives, and it is the honest answer to \"what did you do to the data?\"\n", "\n", "## 2.9 Validate — state your expectations as code" ] }, { "cell_type": "code", "execution_count": 50, "id": "c052", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "all checks passed on 234 rows\n" ] } ], "source": [ "tips = load_tips()\n", "\n", "assert tips[\"total_bill\"].between(1, 500).all(), \"implausible bill\"\n", "assert tips[\"tip\"].ge(0).all(), \"negative tip\"\n", "assert tips[\"tip\"].le(tips[\"total_bill\"]).all(), \"tip exceeds bill\"\n", "assert set(tips[\"sex\"]) == {\"Male\", \"Female\"}, \"unexpected sex\"\n", "assert set(tips[\"smoker\"]) == {\"No\", \"Yes\"}, \"unexpected smoker\"\n", "assert set(tips[\"day\"]) == {\"Thur\", \"Fri\", \"Sat\", \"Sun\"}, \"unexpected day\"\n", "assert tips[\"size\"].between(1, 20).all(), \"implausible party size\"\n", "assert not tips.isna().any().any(), \"missing values remain\"\n", "assert tips[\"check_id\"].is_unique, \"duplicate check_id\"\n", "\n", "print(f\"all checks passed on {len(tips)} rows\")" ] }, { "cell_type": "markdown", "id": "c053", "metadata": {}, "source": [ "These assertions are the cheapest insurance in data analysis. They cost one line each and\n", "they fail **loudly** next month when the register starts exporting something new.\n", "\n", "Notice that they encode *subject-matter* knowledge, not just types: a tip cannot exceed\n", "the bill, a party cannot have 400 people. Those are the errors that type checks miss." ] }, { "cell_type": "code", "execution_count": 51, "id": "c054", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "check_id object\n", "total_bill float64\n", "tip float64\n", "sex object\n", "smoker object\n", "day object\n", "time object\n", "size int64\n", "dtype: object \n", "\n" ] }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
check_idtotal_billtipsexsmokerdaytimesize
0C000423.683.31MaleNoSunDinner2
1C008310.071.83FemaleNoThurLunch1
2C024127.182.00FemaleYesSatDinner2
3C008119.443.00MaleYesThurLunch2
4C023515.533.00MaleYesSatDinner2
\n", "
" ], "text/plain": [ " check_id total_bill tip sex smoker day time size\n", "0 C0004 23.68 3.31 Male No Sun Dinner 2\n", "1 C0083 10.07 1.83 Female No Thur Lunch 1\n", "2 C0241 27.18 2.00 Female Yes Sat Dinner 2\n", "3 C0081 19.44 3.00 Male Yes Thur Lunch 2\n", "4 C0235 15.53 3.00 Male Yes Sat Dinner 2" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "print(tips.dtypes, \"\\n\")\n", "tips.head()" ] }, { "cell_type": "markdown", "id": "setops-000", "metadata": {}, "source": [ "## 2.10 Which checks did we lose?\n", "\n", "We went from 247 rows to 234. The owner will ask *which* ones — and answering that is a\n", "comparison between **two columns living in two different DataFrames**." ] }, { "cell_type": "code", "execution_count": 52, "id": "setops-001", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "10 checks dropped:\n", "['C0054', 'C0061', 'C0067', 'C0101', 'C0107', 'C0129', 'C0164', 'C0190', 'C0216', 'C0233']\n" ] } ], "source": [ "lost = pd.Index(raw[\"check_id\"]).difference(tips[\"check_id\"])\n", "print(len(lost), \"checks dropped:\")\n", "print(lost.tolist())" ] }, { "cell_type": "markdown", "id": "setops-002", "metadata": {}, "source": [ "That is R's `setdiff(raw$check_id, tips$check_id)`.\n", "\n", "### Comparing two columns from two frames\n", "\n", "Wrap a column in `pd.Index(...)` and you get the set operations. The `Index` type carries\n", "them; a plain `Series` does not.\n", "\n", "| R | pandas | Returns |\n", "|---|---|---|\n", "| `a %in% b` | `a.isin(b)` | Boolean mask, aligned to `a` |\n", "| `which(a %in% b)` | `np.flatnonzero(a.isin(b))` | positions in `a` |\n", "| `a[a %in% b]` | `a[a.isin(b)]` | the matching values |\n", "| `match(a, b)` | `pd.Index(b).get_indexer(a)` | position in `b`, `-1` if absent |\n", "| `match(b, a)` | `pd.Index(a).get_indexer(b)` | position in `a`, `-1` if absent |\n", "| `intersect(a, b)` | `pd.Index(a).intersection(b)` | in both |\n", "| `setdiff(a, b)` | `pd.Index(a).difference(b)` | in `a`, not `b` |\n", "| `setdiff(b, a)` | `pd.Index(b).difference(a)` | in `b`, not `a` |\n", "| `union(a, b)` | `pd.Index(a).union(b)` | either |" ] }, { "cell_type": "code", "execution_count": 54, "id": "setops-003", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "a %in% b [True, True, False]\n", "which(a %in% b) [0 1]\n", "a[a %in% b] ['a', 'b']\n", "match(a, b) [ 3 0 -1]\n", "match(b, a) [ 1 -1 -1 0 -1]\n", "intersect(a, b) ['a', 'b']\n", "setdiff(a, b) ['c']\n", "setdiff(b, a) ['f', 'g', 'i']\n", "union(a, b) ['a', 'b', 'c', 'f', 'g', 'i']\n" ] } ], "source": [ "a = pd.Series([\"a\", \"b\", \"c\"])\n", "b = pd.Series([\"b\", \"f\", \"g\", \"a\", \"i\"])\n", "\n", "print(\"a %in% b \", a.isin(b).tolist())\n", "print(\"which(a %in% b) \", np.flatnonzero(a.isin(b)))\n", "print(\"a[a %in% b] \", a[a.isin(b)].tolist())\n", "print(\"match(a, b) \", pd.Index(b).get_indexer(a))\n", "print(\"match(b, a) \", pd.Index(a).get_indexer(b))\n", "print(\"intersect(a, b) \", pd.Index(a).intersection(b).tolist())\n", "print(\"setdiff(a, b) \", pd.Index(a).difference(b).tolist())\n", "print(\"setdiff(b, a) \", pd.Index(b).difference(a).tolist())\n", "print(\"union(a, b) \", pd.Index(a).union(b).tolist())" ] }, { "cell_type": "markdown", "id": "setops-004", "metadata": {}, "source": [ "Read `match(a, b)` → `[3, 0, -1]` element by element: `\"a\"` sits at position 3 of `b`,\n", "`\"b\"` at position 0, and `\"c\"` is absent, so `-1`. R would say `[4, 1, NA]` — the same\n", "answer, 1-based, with `NA` instead of `-1`.\n", "\n", "> **In Python `-1` is a legal position** meaning \"last element\". Filter on `>= 0` before\n", "> using `get_indexer` output to index anything, or you will silently pick up the wrong row." ] }, { "cell_type": "code", "execution_count": 56, "id": "setops-005", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "all positions : [ 3 0 -1]\n", "safe to use : [3 0]\n", "the values : ['a', 'b']\n" ] } ], "source": [ "pos = pd.Index(b).get_indexer(a)\n", "ok = pos >= 0\n", "\n", "print(\"all positions :\", pos)\n", "print(\"safe to use :\", pos[ok])\n", "print(\"the values :\", b.iloc[pos[ok]].tolist()) # .iloc -- these are POSITIONS" ] }, { "cell_type": "markdown", "id": "setops-008", "metadata": {}, "source": [ "Comparison between two Series aligns on the **index**, so it requires identical labels —\n", "and columns from two different frames rarely have them.\n", "\n", "`isin`, `get_indexer`, and the `Index` set operations all sidestep this: they compare\n", "**values as a set**, ignoring both the index and the length. That is precisely why they\n", "are the right tools for cross-DataFrame work." ] }, { "cell_type": "code", "execution_count": 61, "id": "setops-009", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "rows dropped : 13\n", "ids dropped : 10\n" ] } ], "source": [ "print(\"rows dropped :\", len(raw) - len(tips))\n", "print(\"ids dropped :\", len(lost))" ] }, { "cell_type": "markdown", "id": "setops-010", "metadata": {}, "source": [ "Thirteen **rows** disappeared but only ten **check numbers**. The other three were the\n", "duplicate rows — and a duplicate shares its `check_id` with a row that survived, so that\n", "id never left the set.\n", "\n", "**Set operations work on values, not on rows.** When the two counts disagree, the\n", "disagreement is itself informative: here it confirms exactly the decomposition we expect,\n", "13 = 10 incomplete + 3 duplicated.\n", "\n", "### And which rows were they?\n", "\n", "`difference` finds *which* ids; `isin` pulls *those rows* back. The two operations pair up." ] }, { "cell_type": "code", "execution_count": 59, "id": "setops-011", "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", "
check_idtotal_billtipsizeday
18C0067$16.45-99.002.0Sat
25C0129$11.38NaN2.0Thur
34C0061$20.29NaN2.0Sat
65C0233$11.613.39NaNSat
66C0216$12.90-99.002.0Sat
118C0107$20.494.06NaNSat
147C0054$9.94-99.002.0Sun
178C0164$13.812.00NaNSun
179C0101$11.35NaN2.0Fri
209C0190$23.104.00NaNSun
\n", "
" ], "text/plain": [ " check_id total_bill tip size day\n", "18 C0067 $16.45 -99.00 2.0 Sat\n", "25 C0129 $11.38 NaN 2.0 Thur\n", "34 C0061 $20.29 NaN 2.0 Sat \n", "65 C0233 $11.61 3.39 NaN Sat\n", "66 C0216 $12.90 -99.00 2.0 Sat\n", "118 C0107 $20.49 4.06 NaN Sat\n", "147 C0054 $9.94 -99.00 2.0 Sun\n", "178 C0164 $13.81 2.00 NaN Sun\n", "179 C0101 $11.35 NaN 2.0 Fri \n", "209 C0190 $23.10 4.00 NaN Sun" ] }, "execution_count": 59, "metadata": {}, "output_type": "execute_result" } ], "source": [ "raw.loc[raw[\"check_id\"].isin(lost), [\"check_id\", \"total_bill\", \"tip\", \"size\", \"day\"]]" ] }, { "cell_type": "markdown", "id": "c055", "metadata": {}, "source": [ "---\n", "# Stage 3 — Derive the Variables You Actually Analyze\n", "\n", "## 3.1 Choosing the outcome\n", "\n", "The owner asked about *tips*, but the right outcome is the **tip rate**, not the dollar\n", "tip: a \\$6 tip is generous on a \\$25 bill and stingy on an \\$80 one." ] }, { "cell_type": "code", "execution_count": 62, "id": "c056", "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", "
total_billtiptip_pct
023.683.310.140
110.071.830.182
227.182.000.074
319.443.000.154
415.533.000.193
\n", "
" ], "text/plain": [ " total_bill tip tip_pct\n", "0 23.68 3.31 0.140\n", "1 10.07 1.83 0.182\n", "2 27.18 2.00 0.074\n", "3 19.44 3.00 0.154\n", "4 15.53 3.00 0.193" ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tips[\"tip_pct\"] = tips[\"tip\"] / tips[\"total_bill\"]\n", "tips[[\"total_bill\", \"tip\", \"tip_pct\"]].head()" ] }, { "cell_type": "markdown", "id": "c057", "metadata": {}, "source": [ "**This is the most consequential decision in the whole analysis**, and it is made before\n", "any computation. Analyze `tip` and you will conclude that large parties tip well; analyze\n", "`tip_pct` and you will conclude the opposite. Both are true. They answer different\n", "questions.\n", "\n", "## 3.2 Several columns at once with `assign`" ] }, { "cell_type": "code", "execution_count": 63, "id": "c058", "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", "
total_billsizebill_ppis_weekendbill_q
023.68211.840TrueQ3
110.07110.070FalseQ1
227.18213.590TrueQ4
319.4429.720FalseQ3
415.5327.765TrueQ2
\n", "
" ], "text/plain": [ " total_bill size bill_pp is_weekend bill_q\n", "0 23.68 2 11.840 True Q3\n", "1 10.07 1 10.070 False Q1\n", "2 27.18 2 13.590 True Q4\n", "3 19.44 2 9.720 False Q3\n", "4 15.53 2 7.765 True Q2" ] }, "execution_count": 63, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tips = tips.assign(\n", " bill_pp = lambda d: d[\"total_bill\"] / d[\"size\"],\n", " is_weekend = lambda d: d[\"day\"].isin([\"Sat\", \"Sun\"]),\n", " bill_q = lambda d: pd.qcut(d[\"total_bill\"], 4, labels=[\"Q1\", \"Q2\", \"Q3\", \"Q4\"]),\n", ")\n", "tips[[\"total_bill\", \"size\", \"bill_pp\", \"is_weekend\", \"bill_q\"]].head()" ] }, { "cell_type": "markdown", "id": "c059", "metadata": {}, "source": [ "`assign` takes `lambda d: ...` so each new column can refer to the frame being built, and\n", "it returns a **new** frame rather than mutating in place — which is what lets you chain it.\n", "\n", "## 3.3 Why bin the bill?" ] }, { "cell_type": "code", "execution_count": 64, "id": "c060", "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", "
countminmax
bill_q
Q1613.0713.42
Q25613.5117.82
Q35817.8924.52
Q45924.5550.81
\n", "
" ], "text/plain": [ " count min max\n", "bill_q \n", "Q1 61 3.07 13.42\n", "Q2 56 13.51 17.82\n", "Q3 58 17.89 24.52\n", "Q4 59 24.55 50.81" ] }, "execution_count": 64, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tips.groupby(\"bill_q\", observed=True)[\"total_bill\"].agg([\"count\", \"min\", \"max\"]).round(2)" ] }, { "cell_type": "markdown", "id": "c061", "metadata": {}, "source": [ "`qcut` makes four groups of roughly equal **count**. We will use these quartiles over and\n", "over to ask the question that separates a good analysis from a bad one:\n", "\n", "> *Is this group difference still there once I compare like with like?*" ] }, { "cell_type": "code", "execution_count": 66, "id": "c062", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(234, 12)\n", "['check_id', 'total_bill', 'tip', 'sex', 'smoker', 'day', 'time', 'size', 'tip_pct', 'bill_pp', 'is_weekend', 'bill_q']\n" ] } ], "source": [ "print(tips.shape)\n", "print(tips.columns.tolist())" ] }, { "cell_type": "markdown", "id": "c063", "metadata": {}, "source": [ "---\n", "# Stage 4 — Look at One Variable\n", "\n", "## 4.1 How does the tip rate behave?" ] }, { "cell_type": "code", "execution_count": 67, "id": "c064", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "count 234.000\n", "mean 0.160\n", "std 0.061\n", "min 0.036\n", "25% 0.127\n", "50% 0.154\n", "75% 0.191\n", "max 0.710\n", "Name: tip_pct, dtype: float64" ] }, "execution_count": 67, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tips[\"tip_pct\"].describe().round(4)" ] }, { "cell_type": "markdown", "id": "c065", "metadata": {}, "source": [ "Median 15.4%, mean 16.0%. **Mean above median** means a right skew — a few very large tip\n", "rates pulling the average up. The maximum of 71% confirms it.\n", "\n", "## 4.2 A picture beats the six numbers" ] }, { "cell_type": "code", "execution_count": 68, "id": "c066", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAp0AAAFrCAYAAACT9jKnAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAQ6wAAEOsBUJTofAAASIJJREFUeJzt3Qd8U1X7wPEn3VAotIDIkr1xsVGUJbwMlSGyEZkirhcUFypLlgw3Lw5AURmyVEAQFBRRBBUHIogMsSCgQJktnff/eQ7/xKS7GXTk9/180iY3ybkn554kT866NsuyLAEAAAB8KMCXiQMAAAAEnQAAALgsaOkEAACAzxF0AgAAwOcIOgEAAOBzBJ0AAADwOYJOAAAA+BxBJwAAAHyOoBMAAAA+R9AJAAAAnyPoBODi7rvvFpvN5rJt3LhxZtsff/zhtdJ66623TJqff/45R+Ay0jLXY1xQ9+drOa236b2f8pr03t+8P+ELBJ1AFmJjY2X69OnSpEkTKV68uISFhUmVKlVkyJAhsnv37jxRfqdPnzZfHARwaekXqZbNjz/+mAtHBvmRvo+0zuj7Ki/TPH7wwQe5nQ0g2wg6gUwcOHBArr/+enn00UelZMmSMn78eHnllVekc+fOsnz5crn22mtl/vz5uV6G+uWoeSPoTD/o1LIh6ER26ftI64w3gs433nhD4uLifFL4mkdvBJ1PPfWUyWPFihW9ki8gI0EZ3gP4uYsXL8ptt90m+/btkyVLlkiPHj1c7tdAtE2bNqbFs3LlytKyZctcyytyz9mzZyUiIoJDgHQFBwebS14WFBRkLoCv0dIJZGDevHny66+/ygMPPJAm4FRlypSRhQsXSkpKiglA0xvHtn37dmndurUUKVLEdM336tVL/v777zRpJSQkyHPPPSfXXHONFCpUyAQxt9xyi2zevDnL46NjrzTotbd86L71UqlSJcdjNGju0qWLacnQ4QFRUVHSvn172bJli0+O/z///COjRo2S6tWrS2hoqGklvummm2Tx4sWZPi+zsaMa1Du/JvXNN9+YHwZly5Y1+9Fj0qpVK0frj6ant9XAgQMdZZP6B4K2Wrdo0cKUu5a/tm6/+eabafKg+9fn/vzzz9KpUyeJjIyUYsWKuVVGe/bskfvuu0/q1atn0tD9Xn311TJjxgxJTk52eax9fN2mTZvkhRdekBo1apjXq8d91qxZ6aa/YcMGadq0qUm3VKlSMmjQIDlx4kS286f1evLkyeb1armGhIRIuXLlZMCAAfLnn3+Kp9577z0zZCU8PNxcNK/p1Q/7cT927Jj0799fSpQoYV7TzTffLN9991267yVtubvqqqtMXa9Tp468/vrr2R6jqPvT95HS8rXXGa1LzizLytaxSG9Mp32b/mDRzxctX02jfv368sknn2RZdvoa7Gm+/fbbjjw672f9+vXSu3dvqVq1quMzRcts1apVadLzxZhtID38tAEysHTpUvP/3nvvzbCMrrvuOmnWrJls3brVfBHrF53dTz/9JB06dJC77rpLevbsKd9//70JZLTLbt26dY7HJSUlSceOHeWLL74wXxLDhw8340jfffddE7BqAHXrrbdmmAf9Inn++edl5MiR0rVrV+nWrZvZroGunQ4J0ABJW2X1Cy46Olrmzp1rAjLd7w033OC1eqDlcOONN8qRI0ekT58+8tBDD5lA4IcffpDVq1ebwNsb9u7da1qar7jiChkxYoQJPDWo0nLW46FBtpZFYmKiCZ6GDRtmAl9VunRpRzpjx46VCRMmmLLQ6/oFrV/8Q4cONa3cU6dOddmvlp0GqFrWU6ZMMcGQOzRw0CBSj60GLNqy/vHHH8vo0aPNsI7Zs2enec6TTz5pAhUNoPX4LliwQB5++GHz2p3Ldc2aNWYIiAabjz32mPmRsWLFCvNDI7v0mE2bNs2UoQbYGhhrsK0/xj777DNzXdN1xzPPPCMTJ040QbaWuQZwWt+1/utr19fp7MKFC+bYNWjQwDzv+PHjps7r+0sfX7RoUcdj+/btK8uWLZO2bdvKI488IjExMWYfFSpUyFbexowZY17XypUrzT70B5PSH4TuHIvM/Oc//zE/Rp944gnzntcg9vbbb5fff//d5bMktdq1a8s777xjgnAtF63bqWmQreXUr18/KV++vPkhqAGqpq/BvX4mAZedBSBdJUqUsIoWLZpl6dx///2WvpVWrVrl2Ka3bTab9dVXX7k89p577jH3/fbbb45tL7zwgtm2YsUKl8cmJCRY119/vVW5cuUs83Dw4EGTxtixY9O9//z582m2HT161LzGjh07umwfMGCAScuZpqvbdD9Z6dSpk3ns8uXL09yXnJzsuD5//nzzuE2bNmVrPy1atLAqVqzouP3iiy+ax37zzTeZ5kfT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02K6Z88es61WrVouj6ldu7YkJCTIwYMHPd4fAAAA8lj3+rJly2T69Olmvc7Us9R1bOYff/zhccCpYzh1jKfSyUWqeHHXc1Travzq1KlTmaangbFe7I4evXS6P807s+xzRssrJSXl33LL2Qmt4C7Loq5mVAeRI5Sf5yhDyi83JefBz8DsnhnJraDz/PnzUqZMmXTv0+5wT09R2bNnTzNmU2ewe4OODR0/fnya7WfOnJHw8HCv7MNfaCXX46+t21rJUmxFvJOwt2LXApqOfsDExPz7w8mfpa6DoPyog/kL7+GCV37pDZP0WtB5zTXXyPLly01LZ2pr1qyRhg0bupOsnD59Wjp06CAlSpQw6esEIucWTQ0SdbKSnb0FNCoqKtN0R40aJUOGDHFp6WzcuLEUK1bMkTayX9l1GSttddbKfvysl35puZ5bgHRS0fdCZAR1Nb06iJyh/DxHGVJ+uSk5H38GuhV06sShzp07mwlFd955p3nx27dvl0WLFsm8efPcmk0eFxdn1tzUwHLr1q0mILSzj+XUsZ26Pqed3g4JCZEqVapkmnZERIS5pKYHK78dsLxAAyBH2dlScjs7/sFmo65mVAeRY5Sf5yhDyi83BeTTz0C3JhJ16tTJjLnUsZddunQxTbwjRowwa2e+99570qZNmxyll5SUZGam6xJMOglJJxA506CyRo0aZhF5Z7o/3ZcGngAAACiA63R2797dXHQpoxMnTpgu7tSzy7NLA9bVq1ebiUM64eebb75xWTopNDRUxo0bJ3379pWqVaua8Z4acG7btk02b97s7ksAAABAflgcXmkLpF48sX79evP/4YcfTnOfLoekM+J79+5tuvOnTp1qLtrNvnLlSmnWrJlH+wYAAEAe7V5Xu3btMi2P1apVMzPA9X+/fv3M9pzSJZa0iz69iwacdoMHD5bff//dLAavZyPivOsAAAAFuKVTZ6h369ZNypcvb8Z06mkvjx8/Lh988IHUr19fVqxYYcZ9AgAAAG4HnaNHj5b27dub7m37skZKF4zXWe16P0EnAAAAPOpe13GW9957r0vAaRILCJD77ruP01ICAADA86BTF4fP6Hznur1evXruJAsAAIACyq3u9VdffVV69eolhQsXNmM6dSF3XdRdu9t12SNdJB4AAADIcdBZtGhRc+Yhu4SEBBk0aJC5BAcHS2Jiotmu13XBdl1vEwAAAMhR0KlraDoHnQAAAIDXg049IxAAAABwWReHBwAAAHx+GszFixfL0qVLJTo6Wi5evJjmfj1jEAAAAOB20Pnkk0+a8583aNDAnHc9JCSE0gQAAECG3Ao6582bJxMmTJCnnnrKnacDAADAz7g9prNJkybezQkAAAAKLLeCziFDhsjChQu9nxsAAAAUSG51r0+cOFEeeughufHGG81C8MWLF3e5X9fzHDlypLfyCAAAAH8MOjdu3Chvv/22nDt3TrZu3ZrmfoJOAAAAeNy9ft9990nDhg1l586dEh8fLykpKS6X5ORkd5IFAABAAeVWS6euzfnyyy9L3bp1vZ8jAAAAFDhutXQ2b95cfvvtN+/nBgAAAAWSWy2dkydPlgEDBphF4W+55ZY0E4lUVFSUN/IHAAAAfw06GzVqZP4PHz7cTBpKD+M6AQAA4PEZiTIKNgEAAACvBJ133323O09DHhFzIUniEi33nmxZkmIrIsfPJovYdLUCN9MBAAB+xa2gE/mbBpxtp+3zSlrrRlf1SjoAAKBgcyvorFy5cpbd6wcOHHA3TwAAAChg3Ao6O3funCbojImJkS+++EIsy5Ju3bp5K38AAADw16DzhRdeSHd7QkKCdOnSxbSEAgAAAB4tDp8RXbfz/vvvl+nTp3szWQAAAORzXg061YkTJ+TcuXPeThYAAAD+1r2+YsWKdLvWd+/eLa+88oq0bt3aG3kDAACAPwed3bt3T3d7cHCwmUT08ssve5ovAAAA+HvQefDgwTTbwsLC5IorruBMRQAAAPBO0FmxYkV3ngYAAAA/5fYZiZKTk2Xbtm1y+PBhuXjxYpr777rrLk/zBgAAAH8OOnfs2GHGbkZHR5vF4FPTheMJOgEAAOBR0HnvvfdKsWLF5O2335Y6deqY9TkBAAAArwadu3btkqVLl0qLFi3ceToAAAD8jFuLw9eoUUPOnj3r/dwAAACgQHIr6Hz++edlypQpsmfPHu/nCAAAAAWOW93ren71Y8eOSb169aRs2bJSvHjxNBOJfvrpJ2/lEf8v5kKSxCWmnbiVUykpnqcBAADg86CzQYMGLAKfCzTgbDttn8fprBtd1Sv5AQAA8GnQ+dZbb7nzNAAAAPgpt8Z0AgAAADlB0AkAAACfI+gEAACA/wSd+/btk+HDh8t1110nQUFBZmZ8eubOnWvWCQ0LC5Nrr71WVq9efdnzClxugQEif51O9PiiKyAAAJBvJhL5gp7laM2aNdKkSRNJSUkxl9QWL14sQ4cOlTFjxkjr1q1lyZIl0rVrV/nyyy+ladOmuZJv4HJISLKk/fT9Hqez4bFqEumVHAEAkE9bOm+77TaJjo6WZcuWSf369dN9zNixY6VXr14yceJEadWqlcyZM0caNWokEyZMuOz5BQAAQD4MOgMCMs/KgQMHZO/evdKjRw+X7RqEfvbZZxIfH+/jHAIAACDfB51ZsZ9ys1atWi7ba9euLQkJCXLw4MFcyhkAAADyzZjOrMTExJj/qU+5GRl5aYTaqVOnMnzu2bNnzcXu6NGj5n9ycrK55BsWp6+E53UoX9X5dGj+dcx3fn8duYXyowxzG3Ww4JVfYGBgwQo6PTFr1iwZP358mu1nzpyR8PBwyS9SbEW8k5A3Y1dvpUU6l6V89IMqJubfH2D5kX7Qnj9/XizLyvYHHSg/6mDewXu44JVfyZIlC1bQaW/R1EDxyiuvTNMCGhUVleFzR40aJUOGDHFp6WzcuLEUK1bMkW5+cPysl37V2LyTjFfTIp3LUj46djoyIv/U+Yw+cG02m+n1yCsfuPkJ5UcZ5jbqoP+WX74JOu1jOXVsZ82aNR3b9XZISIhUqVIlw+dGRESYS2p6sPLVAbOlXUYKyFkdsuWvOp9J8Jzv3r95COVHGeY26qB/ll++mUikQaUuCr906VKX7bpWZ5s2bUzgCQAAgLwpz7R0xsbGyscff2yuHzp0yEz80TU7VYsWLaRUqVIybtw46du3r1StWtWs06kB57Zt22Tz5s25nHsAAADki6Dz77//ljvvvNNlm/32pk2bpGXLltK7d28TnE6dOtVctJt95cqV0qxZs1zKNQAAAPJV0FmpUiUzEysrgwcPNhcAAADkH/lmTCcAAADyL4JOAAAAEHQCAAAg/6OlEwAAAD5H0AkAAACfI+gEAACAzxF0AgAAwOcIOgEAAOBzBJ0AAADwOYJOAAAA+BxBJwAAAHyOoBMAAAA+R9AJAAAAnyPoBAAAgM8RdAIAAMDnCDoBAADgcwSdAAAA8DmCTgAAAPgcQScAAAB8jqATAAAAPkfQCQAAAJ8j6AQAAIDPBfl+FwDyisAAkb9OJ3qcTqFgm0SG8/EBAMg+vjUAP5KQZEn76fs9TmfDY9Uk0is5AgD4C7rXAQAA4HMEnQAAAPA5gk4AAAD4HGM6AeQYE5IAADlF0Akgx5iQBADIKbrXAQAA4HMEnQAAAPA5gk4AAAD4HEEnAAAAfI6JRJdBzIUkiUu0PE4nJcXzNAAAAHIDQedloAFn22n7PE5n3eiqXskPAADA5Ub3OgAAAHyOoBMAAAA+R9AJAAAAnyPoBAAAgM8RdAIAAMDnCDoBAADgcwSdAAAA8DmCTgAAAPgcQScAAAB8Lt+dkWjPnj3ywAMPyNdffy1FixaVu+66S5599lkJCQnJ7awByOenmi0UbJPI8Hz3sZizMrIsSbEVkeNnk0VsKTlOpyCXEZAvPs+s7L2H8+J7NW/lJgsxMTHSunVrqV69uqxYsUKOHDkio0aNktjYWHnllVdyO3sA8vmpZjc8Vk0ipWCijID8Ia4Af57lq6Bzzpw5cvbsWVm5cqVERUWZbUlJSTJixAh58sknpWzZsrmdRQAAAOT3MZ1r166VW265xRFwqh49ekhKSoqsX78+V/MGAACAAhJ06njOWrVquWwrXry4lClTxtwHAACAvCnfjenUIDO1yMhIOXXqVIbP0y55vdhFR0eb/4cPH5bk5GTxtX/OJUvi2WMep3P0SGieSicv5smejmUlyV/nExzbE2zHJckWlO9fV0FL56/DoZJ4JjBHz9H3rP09HRgY6NX3mDv5yS8oI+9Jrw6C8vPn92pgYKBceeWVEhSUxfeslY8EBQVZU6ZMSbO9bt261tChQzN83tixY3UaGBfKgDpAHaAOUAeoA9QB6oAP6kB0dHTWcZzkI9qieebMmXRbQJ3HeaamM9yHDBniuH3x4kXT2lm5cuWso3K4OHr0qDRu3Fi2b99uhjUgZyg/z1GGlF9uow5SftS/tLSlMyv5KuLS8Zypx25qEKofAKnHejqLiIgwF2fVqlXzWT79gQac5cuXz+1s5FuUH2WY26iDlGFuow76X/nlq4lEHTp0kE8//VROnz7t2LZ06VIJCAiQdu3a5WreAAAAUECCzuHDh5uzEHXp0sUskTR//nwZPXq02c4anQAAAHlXQH4b0/nZZ5+ZcZgaeD7++ONmrOasWbNyO2t+Q4cpjB07Ns1wBVB+1MH8gfcwZZjbqIP+W342nU2U25kAAABAwZavWjoBAACQPxF0AgAAwOcIOgEAAOBzBJ0AAADwOYJOOOjC+23btpXw8HBzZoFHH31UEhL+PX95RmbPni233nqrlCpVSmw2myxbtswvS9Wd8tMTG+jjrrvuOrMcmC7026dPHzl06JD4I3frYL9+/aR69ermebrKxc0332yWVfM37pafsxdeeMG8j/U97Y/cLcNKlSqZckt90TPg+RNP6uCRI0dkwIAB5rukUKFCUrt2bXnvvffEn+xxo/w+//zzdOueXjI7cU5uyFdnJILv6KlEW7dubb64V6xYYd78evrQ2NhYeeWVVzJ97oIFC8z/jh07Oq77G3fL7/vvvzePHzRokDRt2lROnDghEydONKca/eWXX8yHr7/wpA7qh7I+Vp+rX/Jz58419XHTpk1y0003iT/wpPzsjh07JuPHj5crrrhC/JGnZdi9e3d5+OGHXbaFhoaKv/Ck/PQHeLNmzaRmzZry+uuvm+WAdu3aJfHx8eIvYtwsv/r168vWrVtdtp09e9acUEcveUqWZ2eHX5g8ebIVHh5unTx50rHttddeswIDA60jR45k+tzk5GTz/+DBg7r8lrV06VLL37hbfjExMVZiYqLLtujoaMtms1kzZsyw/IkndTC1pKQkq0KFCtbQoUMtf+GN8uvfv7911113WS1atLA6depk+RtPyrBixYrWfffdZ/kzT8qvX79+1g033GDeu/5qshc/A+fPn2++j7dv327lJXSvw1i7dq3ccsstEhUV5SiRHj16SEpKSpbdlHoaUn/nbvkVL17cnOzAmXaxawvnX3/9Jf7EkzqYWmBgoCnbnHYt+3P5bdmyRT744AOZOnWq+Ctv1kF/5G75aavc+++/LyNGjDDvXX+11ov1b+HChabFtFGjRpKXEC3AMY4k9dgP/dIuU6aMuQ+Xr/z27t0rf//9txnP5E88LUM9z0VSUpKcPHlSZsyYIb///rvcc8894i88Kb/k5GS5//77ZcyYMebx/srTOqjjD7U7vUiRImZ4x86dO8WfuFt+O3bsMD8Qg4ODpUWLFua/jmd87LHHJDExUfzFHi99jxw/flw2btxo5gfkNYzphGMsiVbu1HRSxqlTpyily1R+Gjg9+OCDUrZsWendu7dflbunZajjOIcOHWqu65f+kiVLzBgxf+FJ+elkwAsXLsjIkSPFn3lShrfffrs0adJErrrqKjlw4IBMmjRJmjdvLj/88INUqVJF/IG75adjiZWe1lrfw+PGjZPt27fLM888Y3rSpkyZIv4gxkvfI/rZpz8kCToBZEo/bD/77DNZt26dmb2I7OvSpYtZBUAnYy1dutR0S61cuTLvDaTPY7RVXb/cdRJgSEhIbmcn33rppZcc13XyWrt27Uyrlba6a1CPjGn3sdKu5ZkzZ5rrrVq1knPnzpny0/qps9mRPdri3qBBA6lRo4bkNXSvw/FL6syZM+n+8nIeXwLfld8bb7whEyZMkNdee03atGnjd0XtaRmWLFlSGjZsKO3btzetnhpsjh49WvyFu+WnX+jXXHONCZROnz5tLjpMQS/26/7Cm5+D2iWqLZ26QoW/cLf89HlKZ247089Bnb2+b98+8QeRXqh/+/fvN63Effv2lbyI7nUY+os89ZgRrfy6jEVeW+erIJaftsjde++9JujU5ZP8kbfroP7S14H5/sLd8tPnbN682fHF70y3aRlqIO8P+BzMnfKrU6dOpun6y1qntbzwGagTiHRIQq9evSQvoqUThrYKffrpp6Zlw067KLXyajcRfFd+urCvjt/UsUxPP/203xa1t+ugzsb2l7F0npSfLgav65k6X6699lqzbqxe1zVj/YU366CuPqF1MK/NHs6L5VexYkW5+uqrzXOdbdiwwXSrZxWUFhQdvFD/Fi1aJC1btsy7EwJze80m5A2nTp2yypQpY9bn++STT6x58+ZZxYsXT7PuXOvWra2qVau6bPv222/N2pyzZ88264I9/PDD5vbnn39u+Qt3y+/XX3+1ihUrZtWrV8/66quvrK1btzou+/bts/yJu2W4evVqq0ePHtaCBQusTZs2WcuXL7fuuOMOUxcXLVpk+QtP3sOp+es6ne6W4cKFC60+ffpY7777rrVx40brzTffNPdHRkZaBw4csPyFJ3Xwo48+MusTP/TQQ9b69eutSZMmWcHBwdaYMWMsf3HKw/fwjh07zOee1r+8iqATLgFQmzZtrEKFCllXXHGF9cgjj1jx8fEuJaRvBl0E2dmAAQNMRU990cf6E3fKz76Ab3oXLVd/404Z7t692+rcubNVtmxZKyQkxPxv3769X/3o8fQ9nJq/Bp3ulqH+SGzZsqVVsmRJKygoyPzXH0J79uyx/I0ndXDx4sVW3bp1zftY79fF0lNSUix/8qsH5aePDQ0NNScdyats+ie3W1sBAABQsDGmEwAAAD5H0AkAAACfI+gEAACAzxF0AgAAwOcIOgEAAOBzBJ0AAADwOYJOAAAA+BxBJwAAAHyOoBOAWz744AOZPXt2mu1333231KtXzy9L9fPPPxebzSbfffed5GcLFy6U6tWrS3BwsFx33XXpPuaPP/6QcePGmXOMX84yyG76mrciRYpk+jy9PWPGDJ/kE0BaBJ0AvBp0Pv300yZoQf50/vx5GTRokDRv3twEau+8806GQef48ePTBJ15xZAhQ2TTpk25nQ0AToKcbwCAp6pWrUoh+khcXJwUKlTIp+WrwWR8fLz0799fbrzxRsmvypcvby4A8g5aOgHkmHahv/3227Jr1y7TRakX3ZZe9/pbb71l7v/mm2+kdevWUrhwYalUqZLMmzcvy/2sWbNG2rZtK1dccYVERERIkyZNZN26dS6POX36tAwdOlTKlSsnYWFhUqFCBenVq1em6e7Zs8c8Rh+r+alTp47MnDlTUlJSMn1eYmKijB49Wq666ioJDQ2VMmXKyG233SZnzpxxeVxMTIz06dNHihYtKhUrVpTnnnvO5f6tW7fK7bffLmXLlpXw8HDThZ26RdHeHaxl0L17d/P677zzTsdrHjFihNm/5qNBgwayfv36LMtTX9+zzz5ryl+fV6tWLXnttddcuqSvvvpqc71NmzZm/7otNc1bq1atzPVGjRo56kBOysBeDlontAyKFStmHv/3339LdujjunXrZp6r5TB58uRMu9cB5D5aOgHkmHah//PPPyZ4e++998y2UqVKZfocDfLuueceeeyxx2Tx4sUyePBgE3S1b98+w+ccPHjQBHWPPPKIBAQEyNq1a6Vjx46yceNGadmypXnMqFGjzPapU6eaYOro0aPmdmaOHDkiNWvWlL59+5qg6Mcff5SxY8earmX9n5EpU6bInDlzZNq0aVK3bl05ceKECfa0ZdDZ8OHDTUvhypUrzTAEfc3XXHON47UeOnTItCLq4zRQ/uqrr0x5aFA4YMAAl7SGDRsm/fr1M2kFBgZKQkKCCcSPHz8ukyZNMsH2u+++K506dZIdO3Y4gsb0aMD84osvylNPPSU33HCDrF692uRBg+n777/fdElrS/Vdd90lr776qtSvXz/d1kLdrvffd999Mn/+fBO8ppZVGWjAqcdQj+eSJUvkwoULJl+dO3c292VFy6V3796yYsUK+fTTT2XMmDESFRVl9gsgj7IAwA0DBgyw6tatm+X2+fPnW/pR8/TT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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "ax.hist(tips[\"tip_pct\"], bins=30, color=BLUE, edgecolor=\"white\", linewidth=0.5)\n", "ax.axvline(tips[\"tip_pct\"].median(), color=ORANGE, lw=2)\n", "ax.text(tips[\"tip_pct\"].median() + .012, 22,\n", " f\"median {tips['tip_pct'].median():.1%}\", color=ORANGE)\n", "ax.set_xlabel(\"tip as a share of the bill\")\n", "ax.set_ylabel(\"number of checks\")\n", "ax.set_title(\"One tall cluster, and a long thin tail\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 78, "id": "a32fcfca-b487-40f9-b635-172c72efde77", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA9IAAAFVCAYAAAADudeXAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAQ6wAAEOsBUJTofAAAW2JJREFUeJzt3Qm8TeX++PHvPoMhwzlHCAkRidJgli5RUjImQxlSqKvBjyglmSqKVLdyVTeqWyKiW4q4pTQPV3XjkqskGcNxzJxh/V/f5/73tvc++wx7OGevtc7n/Xptx9p7r+FZa+31rO96Jo9lWZYAAAAAAIBCSSjc1wAAAAAAAIE0AAAAAABhokQaAAAAAIAwEEgDAAAAABAGAmkAAAAAAMJAIA0AAAAAQBgIpAEAAAAACAOBNAAAAAAAYSCQBgAAAAAgDATSAAAAAACEgUAaAAAAAIAwEEjDdiZNmiTly5cXu7jpppvk/PPPj+kyn332WWnevLnYzcaNG6Vnz56SlpYm5cqVk4svvlhWrVoVsC88Hk/I1/Tp08UJvv/+e7O9H330ke89nZ45c2axbYPu0xtuuEHq1atn1n3HHXeE/F6o/VytWrWw1vX777+b35POu3fv3oDPpk6dKmeccYbUqlVLXnrppVzzDhkyREaOHJnr/YcffliuvPLKsLYDQGzyR++1ICEhQVJSUuSCCy4w15ANGzbk+n6dOnXyvL44yfHjx+Wss86Sd999V+zi22+/NdfI8847zxyLa6+9Ns/vbt++XQYPHixVqlSRsmXLmnlee+21kMc1+HXbbbeJExw4cMBsr39eUtznX2GPiW5XqH2t51l+3nvvPWnXrp05jqVLl5a6devK6NGjJSMjI+B7y5Ytk/r160ulSpVMHpqdnR3w+csvvyyXXHKJ5OTkBLz/2WefSeXKleXgwYMR7wMUr6RiXh9Q4h09elQeeugheeaZZ2y1L9avXy+XXnqpXHXVVfLqq69KqVKlZO3atWZ7vSZMmJArU1+4cKE8+eSTcvXVV4tTffHFF1K7du1iW9+KFSvkhx9+MBny/v378/3unXfeaYJuLz0u4bj77rtNIH3kyJGA91euXCmPP/64PP/88/Lzzz/L0KFDpXXr1nLuueeaz7/++mtz0/DTTz/lWubtt98ujz32mKxevVouv/zysLYHQHQ0EPvwww/N/w8dOiQ//vij+R2/8MIL8uKLL8qAAQN83126dKl5MOp0f/3rX006unTpInahQc8nn3wiLVu2lGPHjuX5vZ07d/qurXqcKlasaPLbEydO+L6j19/OnTsHzLdmzRq59957HZ23Fvf5V9hjonr37m3yR38aHOdH82td9l133SWnn366rFu3zjwE0b+ap6p9+/aZPHv8+PFy9tlny7Bhw8zDLj3G3t/sfffdJ4sWLTLBvj+9B2vcuLHJmydPnhzhXkCxsgCbmThxolWuXDnLLgYPHmw1btw4ZsubO3eudfrpp1uZmZmWnbRt29bq06dP2PO1a9fOatSokeUU3333naWXvtWrV8dtG7Kzs33/r127tnX77beH/J5u54wZMyJezwcffGBVqlTJmjlzplnWH3/84ftszJgx1ogRI3zTDRs2tJ599lnz/5ycHKtFixbW888/n+eyhwwZYnXv3j3ibQMQu/zx2LFjVocOHaxSpUpZP//8s6137fHjxwOugQXR61GdOnWsWbNmWXbinwbNB7t06RLyewMGDLDatGljZWVlhX3vkZaWZp04ccJygvT0dJPPzJs3z/bHJL98N1yaT2q6t2/fbqaXLVsWcE902223Wddff31A3nvDDTfkubyXX37ZqlKlinXy5MmYbB+KFlW74Zqq36mpqeYzr/bt25tqPYsXLzZPgnWeDh06mNI3f/pU+IEHHjBVdPRpZM2aNU0V5mBaFVirOmuV5xYtWsi//vWviLZfq/R0795dkpJOVQjRqlBarei7774zT591HVot6JVXXpHiqtL96aefmqes4dDqavr098Ybbwx7nb/++qtJ89///ndTyq3Hr2rVqjJr1izz+YIFC8xx06f3vXr1MtXG/On0iBEjpHr16ua4NW3a1PdE2J+W/mt1aD3+upw9e/bk+k5w1W6tPqhVl3V7dP36BFpLkf1Fc8yCn0IXhczMTFOlTp9q65PzYHrea8mW12mnneYrIdG0aVW0W265Jc/lX3/99WY/BVcXB1D8ypQpI08//bScPHlS/va3v+VZtdbbVKmg/EyvbVrrRPNUbf6h1U21ymxwzRZtOqIl4Pq5Xk/+9Kc/5VqWdxt0eVrzR79XUE0cfx9//LHJL7QEMdRytamULleruffo0UP++OMPKQ6FuY5rFd033njD5FWJiYmFXrZWMdbSXE1zuLWQvMfv0UcfNaWimo9p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17/M92+++WZp1aqV7N27V6ZOnSotWrSQdevWmZsfJx83vdHT7+q8GoC9+OKL5hiuXr1aLrvsMrGDaNLntWvXLpk8ebJUrVpV7CTatPXu3VvuvvvugPdKly4tbkifPsTSgOncc8+V559/3gzxsX79ejlx4oQ4OW2XXHKJfPHFFwHvHTx4UK6++mrzcis3559uzjsV+Wdo5J/xRf6ZN/LPONLhrxDaI488YpUrV87at2+f773nnnvOSkxMtLZv357nbjt27JhVsWJF67777vO9d+LECat27drWn//8Z8enT2VnZ5u/W7Zs0eHTrEWLFll2Emna0tPTrczMzID3tm3bZnk8HmvmzJmW049bsKysLOuss86yhg0bZtlFLNI3cOBAa9CgQVa7du2sLl26WG5Im14/br/9dsvOoknfgAEDrDZt2phz0o5i+bubN2+euW5+/fXXllu5Of90c96pyD8Lh/yzeJF/5o38M36o2p2P5cuXyxVXXCGVKlXyvdenTx/JycnJtzrs559/bkoc9LtepUqVkl69esl7770nTk+fSkiw96kTadpSU1MlKSmwooZW79aS6B07dojTj1uwxMREk+Zwq03bOX2ffvqpvPXWW6Y0y25ieezsKNL06fXyjTfekBEjRphz0o5ieezmz59vSjObN28ubuXm/NPNeaci/ywc8s/iRf4ZGvlnfNn/ih7nthjBbdg06Khevbr5LL/5VPC82t7vt99+k2PHjomT0+cEsUzbpk2bZM+ePeb4uSFt2v4wKytL9u3bJzNnzpT//ve/cuutt4pdRJO+7OxsueOOO2T8+PHm+3YT7bHT9sJalbt8+fKmauiPP/4obkjf2rVrzcOc5ORkadeunfmr7U7vvfdeyczMFDddU3bv3i0ffvih6XvBzdycf7o571Tkn3kj/4wf8s/QyD/ji0C6gPYYmjkG006a9u/fn+98erNbpkyZXPPpRVg/d3L6nCBWadPjddddd0mNGjWkf//+4oa0abtoDVQqV65s2hEvXLjQtE21i2jSpx35HDlyREaNGiV2FE3aunXrZtpf/vOf/zRtRjdv3ixt27aVX375RZyePm3TroYOHSrNmjUzpXp6DLXDuAcffFDcdE3R35s+8HF7IO3m/NPNeaci/8wb+Wf8kH+GRv4ZX3Q2BuRj0qRJ8sEHH8iKFStM76xu0KNHD9MruXak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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axes = plt.subplots(1, 2, sharex=True, sharey=True, figsize=(9, 3.2))\n", "\n", "for ax, (lab, col) in zip(axes, [(\"Lunch\", BLUE), (\"Dinner\", ORANGE)]):\n", " sub = tips.loc[tips[\"time\"] == lab, \"tip_pct\"]\n", " ax.hist(sub, bins=np.arange(0, 0.75, 0.025), color=col,\n", " edgecolor=\"white\", linewidth=0.5)\n", " ax.axvline(sub.median(), color=GREY, lw=2, linestyle=\"--\")\n", " ax.set_title(f\"{lab} (n = {len(sub)}, median {sub.median():.1%})\", fontsize=10)\n", " ax.set_xlabel(\"tip as a share of the bill\")\n", "\n", "axes[0].set_ylabel(\"number of checks\")\n", "fig.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "c067", "metadata": {}, "source": [ "## 4.3 Does the 15–20% norm hold?" ] }, { "cell_type": "code", "execution_count": 69, "id": "c068", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "within 15-20%: 38.9%\n", "below 15% : 45.3%\n", "above 20% : 15.8%\n" ] } ], "source": [ "print(f\"within 15-20%: {tips['tip_pct'].between(0.15, 0.20).mean():.1%}\")\n", "print(f\"below 15% : {(tips['tip_pct'] < 0.15).mean():.1%}\")\n", "print(f\"above 20% : {(tips['tip_pct'] > 0.20).mean():.1%}\")" ] }, { "cell_type": "markdown", "id": "c069", "metadata": {}, "source": [ "> ### Finding 1\n", "> The median check tips 15.4%, right at the bottom edge of the norm — but the norm\n", "> describes a **minority**. Only 39% of parties land inside 15–20%, and **45% tip less\n", "> than 15%**. \"Most people tip 15 to 20 percent\" is false at this restaurant.\n", "\n", "## 4.4 The tails" ] }, { "cell_type": "code", "execution_count": 70, "id": "c070", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "highest tip rates:\n", " check_id total_bill tip tip_pct size\n", "211 C0173 7.25 5.15 0.710 2\n", "57 C0179 9.60 4.00 0.417 2\n", "230 C0068 3.07 1.00 0.326 1\n", "199 C0184 23.17 6.50 0.281 4\n", "\n", "lowest tip rates:\n", " check_id total_bill tip tip_pct size\n", "141 C0238 32.83 1.17 0.036 2\n", "106 C0103 44.30 2.50 0.056 3\n", "23 C0058 26.41 1.50 0.057 2\n", "210 C0001 16.99 1.01 0.059 2\n" ] } ], "source": [ "print(\"highest tip rates:\")\n", "print(tips.nlargest(4, \"tip_pct\")[[\"check_id\", \"total_bill\", \"tip\", \"tip_pct\", \"size\"]])\n", "print(\"\\nlowest tip rates:\")\n", "print(tips.nsmallest(4, \"tip_pct\")[[\"check_id\", \"total_bill\", \"tip\", \"tip_pct\", \"size\"]])" ] }, { "cell_type": "markdown", "id": "c071", "metadata": {}, "source": [ "Look at the `total_bill` column in each. The highest *rates* are all on **small** bills;\n", "the lowest *rates* are all on **large** ones. A \\$5.15 tip on a \\$7.25 bill is 71%, but\n", "in dollars it is unremarkable.\n", "\n", "Two tails, one pattern — and it is a strong hint about Stage 5.\n", "\n", "## 4.5 Do we drop the outliers?\n", "\n", "**No.** And it is worth being explicit about why.\n", "\n", "- They are **not errors.** A 71% tip is unusual, not impossible, and our validation\n", " already confirmed `tip <= total_bill`.\n", "- They are **not noise** — they are the clearest cases of the very pattern we are about\n", " to find.\n", "- Dropping points because they are inconvenient is how analyses become dishonest.\n", "\n", "**What we do instead:** report the **median** alongside the mean, since the median barely\n", "moves, and keep every row. Exercise 5 asks you to check that the conclusions survive\n", "their removal — which is the principled version of the same worry." ] }, { "cell_type": "markdown", "id": "c072", "metadata": {}, "source": [ "---\n", "# Stage 5 — Two Variables\n", "\n", "## 5.1 Does the tip follow the bill?" ] }, { "cell_type": "code", "execution_count": 71, "id": "c073", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "ax.scatter(tips[\"total_bill\"], tips[\"tip\"], s=22, color=BLUE,\n", " alpha=0.65, edgecolor=\"white\", linewidth=0.4)\n", "ax.set_xlabel(\"total bill ($)\"); ax.set_ylabel(\"tip ($)\")\n", "ax.set_title(\"Upward — and fanning out to the right\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 84, "id": "31a16e41-5720-4f6b-a2ee-179fde2a8b30", "metadata": {}, "outputs": [ { "data": { "image/png": "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+PDh6nrsq2uWQpljhtulkOYPF44D/tjnPeuJJ57wfJdjivcajr8bb7xRLeN4YB9xjGjHx/PIccUfLDfccIM67+wL9uN3332n9icekQjiEoRu8uWXX7o4hC6//PKAn991113q86KionbLZs2a5WppafEsr6mpcQ0fPtyVmprqqq2tDbpvboOvjz76qMN2LVy40LNsxowZrgkTJgTd7vTp010jR450VVZW+ixftmyZy2AwuP7whz942st9XHvtta7u8MYbb6j1X3vtNc8y7veSSy5R+3n66ad92j5+/Hif9QOd9xEjRriOOuqogPvjcq5z3333+Sx/5ZVX1PKnnnoqaJvZj/wu+zAQ/Eyn07m+++47n+U/+9nP1Gdbt271LHv00UfVsrfeesvnu1arVR0vz0UwtH5OSkpyFRcXe5Y7HA7XWWedpT7jdzobjxwj/t8LNH76Cu2c87xyDHpz4403tmsnx0RHt/VA46OzMdMRgc6j9/LDDz9c9aM3zz77rPrsmmuu8VnOMWGxWFxjxoxR/aahHfP333/f7vrk8lNPPdXldDo9y99+++2QxzHXa2xsbLd88eLFahsPPvhg2Pvl0ksvVcteeukln+++8MILavlVV13V5XtVoL7uqG86GtfPPPOMWvaf//zH57vffPONWn7HHXf06TXb0NAQcDsXX3yxuk/u37/fsywzM9N18sknd7r/5uZmV15enmvOnDk+zx/ve/Lzzz8f9DiE7iPudaFP+NWvfuWT0EFrAy0jtFYuXrw4pG3QWnDyySeH9F26eWlt4K/0jtiwYYOyUNAdTBcc3enai+4XWgY++eQT9V3+aqZbaNmyZeoXd1ehVYdWTc11xV/kfNHlQ0uktpyWULaJltGewv3RsuXNCSec4MlIDgfz589XSWTB9kFrBi25tLx6n+fa2lqcccYZ6lyE2iZawWiR9j7O3/3ud+r/b775JuIBnsM5c+b4LNOsk9F2jLy2/WMNtTZq7l/vMBN6KehNoPXSfyzx5W9xpya96aabfFzLRx11lPobypjhelqMKa9zWuE59uit4H2I13Q4+4X7oBWQFl8eqzcMdaHrnNZjt9YO7V4VLuit4bnwr2CglRJjyEFfXrN0k2vQI1ZVVaX2yfs+refeoRk8bxs3blRWy46g14gWdoYm8FnjfRwcWzwX2j1eiAziXhf6BMbddLSMsUah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DjJixIgO+5D9qyF9GN3cf//9runTp7tSU1NVUXFO1HDHHXe4amtrfb737rvvqmuQ1yKvyWeffbbP2iwEh/dR/+LwRK7H6OXGG290jRkzxpWYmOiyWCzqevvb3/7mcjqdMd+HOv7T18JXEARBEARBiG8kplMQBEEQBEGIOCI6BUEQBEEQhIgjolMQBEEQBEGIOCI6BUEQBEEQhIgjolMQBEEQBEGIOCI6BUEQBEEQhIgjolMQBEEQBEGIOCI6BUEQBEEQhIgjolMQBEEQBEGIOCI6BUHoV7zzzjt44oknurVucXGxmvN437593Vo/Pz8fv/jFLzr9DufOPu2004JuS6fT4a9//WuH67GdKSkpIbXrN7/5Dc4///yAn3E7X331VcDPTjjhBNx7770h7UMQBEFEpyAI/Yqeis67776726IznCxZsgSXXHJJj7fDY3n88cdx6623dnnd3//+90r4VldX97gdgiDEPyI6BUEQYpB58+Zh0KBBPd7OU089hTFjxmDWrFk+yx966CGMHDkS99xzj7JojhgxAjfddJPPd4455hhkZmbihRde6HE7BEGIf0R0CoLQb7jiiiuUQNq4caNyT/PFZRpvvfUWpk+fjoSEBAwePBi33HILWlpa1Gd0MVNkkUMOOcSzPmlsbFRu83HjxiEpKUm50a+99lrU1tZ2u60vvvgiRo8ejcTEROU637p1a6fu9Z7s57zzzvNZ9uabb+LXv/41zjnnHHV+/vKXv+DOO+9EU1NTu/XplhfRKQhCKBhD+pYgCEIccMcdd6C8vBxbtmzBSy+9pJbl5OSov++9954SXwsWLMADDzygvkP38e7du/HGG29g5syZyg19/fXXY+HChRg/frxnuxRjDodDxTdyeyUlJer/Z511Fr788ssut3P16tXYsWOHage5/fbbcdJJJynhabFYwnY+CgsLVcjAYYcd5rP8f//7H4YNG6asnYzppBCn8L3qqqvabePQQw/Fgw8+qM6rdi4FQRACIaJTEIR+Ay2HFEa7du1S7mlvKK647OWXX1bvTz75ZGW1/NnPfob169djypQpmDhxovps8uTJmD17tmddbvOf//yn573dbleu6cMPPxzbtm3D2LFju9TO0tJSJfzo9iYzZsxQVtTnn39etSdcrFixQv2dOnWqz3K67SkiN2/eHHQb06ZNU3+XL1+OU089NWxtEwQh/hD3uiAI/Z6GhgasXbu2nZv5wgsvVH+//fbboOfo3//+txKHzBg3mUxKcBKKzq5CUasJTlJQUKDE3bJly8LaV/v374der0d2drbPclpzuT+KUSZdPfnkk3j33XfhdDrbbWPAgAGebQmCIHSGiE5BEPo9NTU1cLlcGDhwoM+5SE9PV+7sqqqqTs/R22+/jcsuuwxz5szBa6+9hqVLl6plRIsJ7Qq5ubntlrFt4RZ2bBsFshabqpGWlqay4z/77DMlpGnxZOwmLcEU6N5o7v7m5uawtk0QhPhD3OuCIPR7MjIylPAqKyvzORdMBGptbUVWVlan5+j1119XcY/MBNege7y7+LdDc7lzH+GEx8Xjo/hk8pQ3PB9HHXWUikllPCez1Jnh/swzz+CXv/ylj2An/tZSQRAEf8TSKQhCv8JsNrezPtIlTkHHhCFvaLUkmquc6xL/9Wnl0z7T0BKVusOGDRtUko8G/79u3TrMnTsX4YRxoqSoqMhnOa2+/tDVTgtoZWWlz3ImInlvSxAEoSPE0ikIQr9iwoQJeO655/DKK6+ouEnGJLLEEROJmG3+4x//WL2YKc7s9XPPPVclEREmBBkMBrW+0WhULyYUsY4l4yBZ03L+/Pn48MMP8fnnn3e7jXSln3766fjjH//oybofMmSIT3mncMBwAB7DqlWr1HnRuPnmm5UQZzIVLZnbt2/HokWL1P9PPPFEn22sXLnSI9oFQRA6QyydgiD0K1j2h/GJN9xwg6q3SbFJzjjjDOUmZ6b6mWeeqcoV/fSnP8V//vMfz7oUqCybRNf5EUccodYnzCj/1a9+hX/84x+qtiVLJmlZ8N2B5Zl++9vfqtell16qROgnn3wS1nJJJDk5Gaeccgo++ugjn+UU35s2bVLlox577DHceOONKsaT54LH7Q3XPfvss5UYFwRB6AydK5AfRRAEQegXvP/++7j44otVzChLRPlDUc6YTr784fSXeXl5WLx4MY488shearEgCLGKWDoFQRD6MaeddpoKG2CCUFehZZeF5UVwCoIQCiI6BUEQ+jHMUmcdzkBWTkILJ2NeO8p+//vf/x7hFgqCEC+Ie10QBEEQBEGIOGLpFARBEARBEER0CoIgCIIgCLGPWDoFQRAEQRCEiCOiUxAEQRAEQYg4IjoFQRAEQRCEiCOiUxAEQRAEQYg4IjoFQRAEQRCEiCOiUxAEQRAEQYg4IjoFQRAEQRAERJr/B5gnvI4PuqlcAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "ax.scatter(tips[\"total_bill\"], tips[\"tip\"], s=22, color=BLUE,\n", " alpha=0.65, edgecolor=\"white\", linewidth=0.4)\n", "\n", "# --- the regression line\n", "b1, b0 = np.polyfit(tips[\"total_bill\"], tips[\"tip\"], 1)\n", "r = tips[\"total_bill\"].corr(tips[\"tip\"])\n", "xs = np.linspace(tips[\"total_bill\"].min(), tips[\"total_bill\"].max(), 100)\n", "ax.plot(xs, b0 + b1*xs, color=ORANGE, lw=2.2,\n", " label=f\"tip = {b0:.2f} + {b1:.3f} × bill ($r^2$ = {r**2:.2f})\")\n", "\n", "ax.legend(frameon=False, loc=\"upper left\")\n", "ax.set_xlabel(\"total bill ($)\"); ax.set_ylabel(\"tip ($)\")\n", "ax.set_title(\"Tip rises with the bill — but from a positive base\")\n", "ax.axhline(b0, color=GREY, lw=1, linestyle=\":\")\n", "ax.annotate(f\"intercept ${b0:.2f}\", xy=(tips[\"total_bill\"].min(), b0),\n", " xytext=(26, 0.9), color=GREY, fontsize=9,\n", " arrowprops=dict(arrowstyle=\"->\", color=GREY, lw=1))\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "c074", "metadata": {}, "source": [ "## 5.2 Putting a number on it" ] }, { "cell_type": "code", "execution_count": 72, "id": "c075", "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", "
total_billtipsizetip_pct
total_bill1.0000.6740.594-0.340
tip0.6741.0000.4880.341
size0.5940.4881.000-0.141
tip_pct-0.3400.341-0.1411.000
\n", "
" ], "text/plain": [ " total_bill tip size tip_pct\n", "total_bill 1.000 0.674 0.594 -0.340\n", "tip 0.674 1.000 0.488 0.341\n", "size 0.594 0.488 1.000 -0.141\n", "tip_pct -0.340 0.341 -0.141 1.000" ] }, "execution_count": 72, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tips[[\"total_bill\", \"tip\", \"size\", \"tip_pct\"]].corr().round(3)" ] }, { "cell_type": "markdown", "id": "c076", "metadata": {}, "source": [ "`tip` and `total_bill` correlate at **0.68** — strong, and exactly what you would expect.\n", "\n", "Now look at the last column. **`tip_pct` correlates with `total_bill` at −0.34.** Bigger\n", "bills get bigger tips *and* smaller tip rates, at the same time. That is not a\n", "contradiction, and the next cell explains why.\n", "\n", "## 5.3 A line through the cloud" ] }, { "cell_type": "code", "execution_count": 73, "id": "c077", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tip = 0.92 + 0.105 x bill\n" ] } ], "source": [ "b1, b0 = np.polyfit(tips[\"total_bill\"], tips[\"tip\"], 1)\n", "print(f\"tip = {b0:.2f} + {b1:.3f} x bill\")" ] }, { "cell_type": "markdown", "id": "c078", "metadata": {}, "source": [ "Read it out loud: **a tip starts at about 92 cents and adds about 10.5 cents per dollar\n", "of bill.**\n", "\n", "That positive intercept is the whole story. If tipping were a pure percentage, the line\n", "would pass through the origin.\n", "\n", "## 5.4 The mechanism\n", "\n", "If $\\text{tip} = 0.92 + 0.105 \\times \\text{bill}$, then dividing through by the bill:\n", "\n", "$$\\text{tip\\%} = \\frac{0.92}{\\text{bill}} + 0.105$$\n", "\n", "The fixed 92 cents is a **shrinking share** of a growing bill." ] }, { "cell_type": "code", "execution_count": 74, "id": "c079", "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", "
billfixed partrate partpredicted tip %
0100.0920.1050.197
1200.0460.1050.151
2300.0310.1050.135
3400.0230.1050.128
4500.0180.1050.123
\n", "
" ], "text/plain": [ " bill fixed part rate part predicted tip %\n", "0 10 0.092 0.105 0.197\n", "1 20 0.046 0.105 0.151\n", "2 30 0.031 0.105 0.135\n", "3 40 0.023 0.105 0.128\n", "4 50 0.018 0.105 0.123" ] }, "execution_count": 74, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bills = np.array([10, 20, 30, 40, 50])\n", "pd.DataFrame({\n", " \"bill\": bills,\n", " \"fixed part\": (b0 / bills).round(3),\n", " \"rate part\": b1.round(3),\n", " \"predicted tip %\": (b0 / bills + b1).round(3),\n", "})" ] }, { "cell_type": "markdown", "id": "c080", "metadata": {}, "source": [ "**The falling tip rate is not a change in generosity — it is arithmetic.** That is a\n", "genuinely useful thing to be able to tell the owner, because it means the servers arguing\n", "about \"cheap big tables\" are arguing about a property of division.\n", "\n", "## 5.5 Seeing it directly" ] }, { "cell_type": "code", "execution_count": 79, "id": "c081", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAqIAAAFrCAYAAAAKDusSAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAQ6wAAEOsBUJTofAAAcUlJREFUeJzt3QeYVNXZB/B32s5sL7CwLL03C0JE7EpTDCoaRWPsUaMkGMVojC1iTaJiLDHExEgwlogBSyKKENCPKBJ7A2nSO9vL9Pme/xnucGd2dndmd2Zn7uz/9zzDsnen3LlnZu4773nPOaZAIBAQIiIiIqIOZu7oByQiIiIiAgaiRERERJQSDESJiIiIKCUYiBIRERFRSjAQJSIiIqKUYCBKRERERCnBQJSIiIiIUoKBKBERERGlBANRIiIiIkoJBqJERERElBIMRIkywN133y0mk0k2b94snd3y5ctl3Lhxkp+fr47JvHnz4r4P3O7yyy8P29avXz855ZRTJNPgeeL5dqR4jiVe09g/vMY7axsRZTJrqneAiJqKJzB49tlnDXMIEUyMGjVKpk2blpT7r6yslHPPPVd69eoljzzyiOTk5Mhxxx0nnR2C8aqqKrnhhhtSvStERGEYiBKloeeeey7s9zVr1sgDDzwgJ554olxzzTVhf0OgdfHFF8utt94qdrtd0tns2bPlsssuS1og+r///U8FXM8884wKSOlQIIrMohED0b59+0pjY6NYrTxdEWUivrOJ0hACS70VK1aoQHTAgAFN/qbpyBN1TU2NFBQUSLrZvXu3+llSUpLqXaEE9g44HI60O56BQEDq6+slLy8v1btCZGisESXK0BpRbds333wjs2bNkp49e6oT+pFHHikvvfRSzPet1eIhGEb9HQJQ3AfU1tbKnXfeqWoyS0tLJSsrS9Xp/exnP5OKiorQfeC2WrnB3/72N/V/7aL36aefynnnnSfdunVT94XAG5nehoaGmPYT2VY49dRTw+4/1v2M16pVq+TMM8+U8vJylY3u0aOHeuxXX3211dvu3LlTfvGLX8jo0aNV4IzbDxkyRG6//XaVAYwMep544gk56qijpLCwUAU/AwcOlIsuukh27drV6nF59913ZcuWLWHHHW0S+eVi5syZ6jlgX7Bfb7/9drN1uFOmTJHi4mJ13eHDh8tvf/tb8fl8Eo/PP/9cJk+erOp58byQxd64cWNMNaLthWP66KOPyuDBg9VzwPF88MEHZdmyZU1qi/F/bFu6dKm6DtoJt3n44YfV3/1+vzz++OPqfZGdna3eI+PHj5d33nkn7DHRm4EvjMjaa/bu3Stms1nd/7Zt20LbEeTidXrllVcm5PVGlK6YESXKcJdeeqk66SIYdblc6qT6wx/+UOrq6uSqq66K6T4++ugjeeWVV9RJEcEPAjvYsWOHPP300yqAuOCCC1Sgu3r1avnTn/4kK1euVF3lNptNBSooN7jkkkuilhfAW2+9pbrse/furQKi7t27q0Blzpw58t///lcFPy1lfXH///d//6f257bbblOPqYl1P+Oxbt06mTBhggqaZ8yYoYKD/fv3y8cffywffPBBq+UHX3zxhTqmuB6OK9oIwSECHQTkb775Zui6yIbfcccdcsYZZ6g2Q4CydetWdcwQ0CIgaem43H///WrfEHhp9McHTjvtNCkqKpJf/epXKvD//e9/L2eddZasX79e+vTpE7reX//6V7UPCIrxJQG3QfvgdtjvWL/kbN++XQVReIzf/e53qvxk7ty58v7776tjiC9OyXTLLbeoQHLs2LFy3XXXqfcG6q0XLVrU7G1uvvlmdWzwhQdfaPBaBXxRw3E+/vjjVVvhvfWXv/xFHdP58+eHejHwevnzn/+sXsvnnHOO2obgFm2PYBT/v+KKK9R2fHnweDwyceLEhLzeiNJWgIjS3vLlywN4u1522WVR//7rX/9a/f27775rsm3MmDEBp9MZ2l5VVRXo06dPID8/P1BdXd3qY+M+cFm8eHGTv7lcroDb7W6y/c9//rO6zcsvv9zkvqI9h8bGxkBZWVlg7NixYfsKr7zyirrdvHnzWt3XZ599Vl0XxyvR+9m3b9/AySefHPr9scceU9dbtWpVoC0aGhoCPp+vyfbbb79d3e/q1atD24466qjA8OHDA22F/cb+R4Pnice75pprwrZ/8MEHavuvfvWr0LZdu3YFHA5HYNq0aQG/3x92/Ycfflhdf8WKFa3uD/YF133ooYfCti9cuLDJscdrGtvweo63jZrz7bffBkwmU+D4448Pe13gvdG7d29133gtRb6uBg4cGKitrQ27r2XLlqm/TZkyJeD1ekPb9+7dG+jWrVugqKgodBtsw+POmDEjdL0rrrgiMHLkyMDo0aMDF110UWj7jTfe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LVsmM2fOVMEoglLUb2IEfGQdBCa61/Tv319lQG+44QaVTUV9BFZouueee9TfiIiIiCh9pUUgCsOHD1fd8y1ZsWJF2O9YTQmZUCIiIiIynrTomiciIiKizoeBKBERERGlBANRIiIiIkoJBqJERERElBIMRImIiIgoJRiIEhEREVFKMBAlIiIiopRgIEpEREREKcFAlIiIiIhSgoEoEREREaUEA1EiIiIiSgkGokRERESUEgxEiYiIiMiYgei2bdvk/fffl/r6+sTsERERERF1Cm0ORJ9++mnp2bOn9OvXT0488UT59ttv1fZzzjlHHnvssUTuIxERERFloDYFor///e9l5syZcumll8rbb78tgUAg9LdTTjlFFixYkMh9JCIiIqIMZG3LjZ544gm588475Y477hCfzxf2t6FDh4ayo0RERERECc2I7tixQ4477riof7PZbFJXV9eWuyUiIiKiTqRNgWjfvn1l9erVUf/24YcfypAhQ9q7X0RERESU4doUiF599dVy3333yTPPPCM1NTVqm8fjkX//+9/y0EMPyU9+8pNE7ycRERERZZg21Yj+4he/kK1bt8o111wTCjqPP/549XPGjBnqQkRERESU8EAUHn/8cbnhhhtk6dKlsn//fikpKZEJEybI4MGD23qXRCENLp9sPeCWqga/FOWYpU+XLMmxW3iEiIiIOnsg+t5778no0aNlwIABKiuqh4ntP/74YznppJMStY/UCYPQpV/XyrYKT2hb7xKbTByZL/Y2f3UiIiKijKgRPfXUU+Wbb76J+re1a9eqvxO1FTKh+iAU8Du2ExERUScPRPUT2EdCRjQ7Ozvu+0QAO2nSJMnNzZWysjK55ZZbxO12xz3RvslkkqlTp8b9+JQ+0B0fz3YiIiIyppg7OletWqXWlNe88MILsnLlyrDrOJ1Oee2112T48OFx7URlZaWMHz9e1ZcuXLhQzVM6a9YsaWhokCeffDKm+9i9e7fMnj1bunXrFtdjU/pBTWg824mIiCjDA1Es5YlAD5B1xGClaJPZIwh96qmn4tqJuXPnqmmgFi1apAY9gdfrVaPvb7vtNikvL2/1PpBBPeuss2TLli1xPTalHwxMQk1oZI0othMREVHmiDnF9Otf/1r8fr+6oGseGVLtd+3icrnks88+a3bVpeYsXrxYJk6cGApCYfr06eo+lyxZ0urtkZl99dVX5Te/+U1cj0vpCaPjMTBpwog8GdMvR/3E7xw1T0RElFnaNAYZAWIioT70yiuvDNtWVFQkPXr0UH9rCda6/9nPfia33367uj5lBgSdw8rjrzUmIiIi42jXZDioCd20aZP6GQnTO8VTI4rAM1JxcbFUVFS0eFuUAWCA1I033ijxQCmAtioU7Nq1KxTY4kLpCW2DL0JsI2NjOxof2zAzsB2Nz5em50WLxZK8QBSj2a+77jr5+9//rmo5o+mIA7J371656667ZP78+ZKVFV/94Jw5c0I1r3rV1dVq5D6lJ7yu6urqVHlIrC9ySj9sR+NjG2YGtqPx+dL0vNi1a9fkBaII4FC7OW/ePPnRj34kf/jDH1TwhsB048aN8sQTT8R1f8h8IgCMlinV141GQhB6xBFHyIknnihVVVVqGwJjXPB7Xl6eWK3RnyJG5V911VVhGdGxY8dKYWGh2h9K3zccBsshg55ObziKD9vR+NiGmYHtaHw+g58X2xSILliwQO6++241oAiBKAK4MWPGyKWXXiqXXXaZvPHGG3LGGWfEfH/Dhg1rUguKwBTBIf7WHNwGqzxFCxyxDYOgTj/99Ki3LSgoUJdIaEQjNmRnYjab2U4ZgO1ofGzDzMB2ND6zgc+LbZqYcfv27TJkyBD1hB0Oh8pcai6++GIVqMZjypQpas16LasJuA8c2MmTJ7c4gf3y5cvDLkceeaSMGzdO/R8BMhERERFlUEYUo9O1oLF///6yYsUKNf0SrFu3Lu77u/baa1V3/rRp09S8oZjQ/uabb1bb9XOITpgwQc0TumHDBvX7qFGjmtwXUtPokj/llFPa8tSIiIiIKJ0DUQR5//d//ydnnnmmXH311fKLX/xC1qxZowYMYT7Piy66KK77Qzf6smXLZObMmSoYzc/PV/Wb999/f5M6iOYGRxERERGRsZgCLS0c38Jymvv375fDDjtM/f7oo4/KK6+8Io2NjWq9eAwiMtrIc5Qb9O7dW7Zt2ya9evVK9e5QM/BlBKUg+PJixFoYCmI7Gh/bMDOwHY3PZ/DzYtwZUWQkd+7cqYI2DebwjHceTyIiIiLq3OIerIQBRBgM9Pnnnydnj4iIiIioU2hTIDpgwICwkfJERERERPFq0/RNGNl+7733qi56IiIiIqIOndB+3759KjOKlY26d++uZvXX4P+vvfZam3aIiIiIiDqHNgWiWNNUv+IRficiIiIiSnogilWLiIiIiIg6vEaUiIiIiKi9GIgSERERUUowECUiIiKilGAgSkREREQpwUCUiIiIiIwZiAYCATWnKH4SERERESU9EF2yZIkcf/zxkp2dLWVlZeonfn/77bfbepdERERE1Im0KRB99tlnZcqUKWKz2eShhx6SF198Uf20Wq1yxhlnyF//+tfE7ykRERERZRRToA196v3795fx48fLM8880+RvV1xxhaxYsUK+++47MZLt27dL7969Zdu2bdKrV69U7w41w+fzSWVlpRQXF4vFYuFxMii2o/GxDTMD29H4fAY/L7YpI7p371658MILo/7thz/8ofo7EREREVHCA9Fx48bJJ598EvVv2D527Ni23G2n0ODyydqdjbJqQ736id+JiIiIOqM2rTX/wAMPqMyn0+mUadOmSbdu3VQWdNGiRTJ//nxVM1pRURG6fklJSSL32bAQdC79ula2VXhC23qX2GTiyHzJsRsvnU5ERETU4TWiZvOhRKrJZAr9X7sr/TatfiHddUSNKDKgy76pa7J9wog8GVaenZTHzDRGr4WhILaj8bENMwPb0fh8Bj8vtikjilHxkcEmta6qwR/XdiIiIqJM1qZA9PLLL0/8nnQCRTnmuLYTERERZTJGQB2oT5csVROqh9+xnYiIiKiziTkjesQRR8gLL7wghx12mBx++OEtds3jb59//nlcO7J27VqZOXOmvP/++5Kfny+XXnqp3HfffZKV1XKQdvHFF8uHH34oO3fuVNfFvt1xxx0yefJkSTcYkISBSVsPuFV3PDKhCEI5UImIiIg6o5gD0TFjxkhubm7o/4msEUWRLSbIHzx4sCxcuFB27Nghs2bNkoaGBnnyySdbvK3b7VbXxW0xih+T7GN1p+XLl8uJJ54o6QZBJwcmEREREcURiGJZT828efMSeuzmzp0rNTU1avonbaonr9crM2bMkNtuu03Ky8ubve3LL78c9juWHsXKT88991xaBqJERERE1I4a0SuvvLLZJTy3bNmi/h6PxYsXy8SJE8PmG50+fbr4/X5ZsmRJXPeFqQuKiopUppSIiIiIMiwQRUZ03759Uf+2f/9++dvf/hZ3feiwYcPCtiGY7NGjh/pbazB/KTKoBw4ckIcffljWr18vP/nJT+LaByIiIiIywPRN0FyNKILALl26xF0jisAzEiZn1a/Q1BzUhV599dXq/3l5efKPf/xDjj322BZvg1IAXDS7du0KTQxrhAn4Oyu0DTLlbCNjYzsaH9swM7Adjc+XpufFWCfXjzkQ/eMf/6guWhB60UUXSXZ2+GpAGCy0efNmOf/886UjYZnRUaNGqWzsggULVLc+6k1RL9qcOXPmyOzZs5tsr66uDg3KovSDN1pdXZ3KghtxBQkKYjsaH9swM7Adjc+XpufFrl27JjYQxYAhjJaHr776SoYOHSqlpaVh18H0ScOHD5cf//jHce0sMp8IAKNlSmNZpx5PVnvCp59+usqi3nzzzS0Gohhpf9VVV4VlRMeOHSuFhYVqfyh933D4IoQMejq94Sg+bEfjYxtmBraj8fkMfl6MORA9++yz1UVz1113qdHpiYD60MhaUASmCA4ja0djgYAZA6BaUlBQoC6R0IhGbMjOxGw2s50yANvR+NiGmYHtaHxmA58X2zRYCVM5JSoIBWQuly5dKlVVVaFt6GLHgW3LxPQrV66UAQMGJGz/iIiIiCiNBisl0rXXXitPPPGEqvXEvKGY0B5d69iun0N0woQJanqoDRs2qN///e9/y/z582Xq1KnSu3dv1SWP1Z/efvttefHFF1P4jIjIKBpcPq52RkTUmQNR1GQuW7ZMLfGJYBRLfKJ+8/77729SB4FpmjQDBw4Ul8slt956qxqohDpRLEW6YsUKOfnkk1PwTIhaxqAn/dpj6de1sq3CE9rWu8SmluLl0rtERJ0kEAUMckL3fEsQYOqhfvTVV19N8p4RJQaDnvSz9YA7LAgF/I7tXIqXiChNa0SJKLFBD6VGVYM/ru1ERJRYDESJOgiDnvRTlGOOazsRESUWP22JOgiDnvTTp0uWqgnVw+/YTkREnahGlIyHA2/aFvREDoxh0JM6GJCEgUkoj0DGGl8W0B4cqERE1DEYiFKbcOBN+gU9/GLQNjj+HJhERJQaDESpTTjauG1BYLKCHn4xICIiI2IgSm3CgTfpFQTyiwERERkRBytRm3DgTXpNy8QvBkREZETMiJIhB940uv2yvTI9BpikQxDILwZERGREDETJcKONPX6zrPymTnZUetNiWcZ0CAJT/cWAiIioLRiIkuFGG++uFdl2wC1mszktlmVMhyCQ0xAREZERMRAlw6lqTH1XeDoGgZyGqO049RURUWowECXDKcpGJtSXVssyplsQaNTAKhX7nQ6zHhARdVYMRMlwyvJFenfJalIjynrIpoFVcY5Z/AGRjzc3yBG9s2VgN3vaBlepCggTMfWVUQN/IqJUYyBKhmMz+2XiiELZXunlib+FwApB6Ma9btmw16W2b9jjkqP65qRtpi9Vc6G2d9YDZlSJiNqOgSgZUnaWOa26wtOJFkAhE6oFoeD0BFI6qCtdp8Fq76wHXEyAiKjtGIgSZRgEUGaTSJ0rPIBz2EwpHdSVrtNgtXfWg3SYR7YlLBsgonTGQJQ6HE+MyT2muXaTDOqeJXuqD9XQFmZb1CWWwC5V7ZOqabDaO+tBOswj2xyWDRBRumMgSh1GC3De/bZOdld5VGBks5o5QjkJg3zKCq3yvf45Uu/2NznWLQV2qQxcEjkNVrzBdHtmPUiHeWSbw7IBIkp3DESpQ2gBTk2jT95fX6+2ITgaUJqV1nWLRhAt2Nhd7ZWRPUUuOa4kroAs1YFLIqbB6uhgOl3mkTVi2QAREQNR6hA4Se+o9IgpWKaoVDf61KVrvjljT4yxZOba2xXeUrAxrDy+wC7afWH0/fZKT9oFWekUTKfbPLJGKBsgIgIGotQhEMRgFHehI/wEiJHcmXpi1GfmMHgIzz8yM5eI7F0ig43I22hTQK3f45Ku+bY27V9HYxbQGGUDRETAQJQ6hBbgICAb1M0emlYII7kz9cSIDFyd0yeF2WY1gh1BOH7XZ+YSkb1LZLAReV8InvfVelUJhX7/Nu51ic1iSsssKbOAxigbICICBqLUIfQBzsBuWdK/NEt106f7aj/tUef0h00oDwjCh5Q5Epq9S2Swob+v6ga/HKgPBqEY6KTxeP3yxbZGqW70SyCY0G41SxpZftCrOHkfPcwCGqNsgIgorQLRtWvXysyZM+X999+X/Px8ufTSS+W+++6TrKzmszq7du2SRx99VJYsWSIbN26UwsJCOemkk+TBBx+Uvn37duj+U+fLzLRW2+n0+sOCUMDv2J7o7F0igw39fa3d2Sjf7XOH/T1Y12sNBaGtZXGjlR/0LLbKMb2TU46Ria81IqJMlRaBaGVlpYwfP14GDx4sCxculB07dsisWbOkoaFBnnzyyWZv9/HHH6vrX3nllTJu3DjZv3+/3HvvvTJ27Fj56quvpLS0tEOfB3WezIwWXG3a61KBGWpdh/awy1lHFUpJXrCWUlATm21Rf9eouTwDzWfvULrQszgxpQqRgbLHF5B6VyCuwAzXK823qLXqcVvMUdq3S5baz1izuFHLDw64pW+RTbp1kaTIpNdaR+H8vkTUaQPRuXPnSk1NjSxatEhKSkrUNq/XKzNmzJDbbrtNysvLo97uhBNOUJlUq/XQ0zjuuOOkT58+Mn/+fLnppps67DlQ5zoxYzuC0E373KFAc2eVR0pyraEuamQN0a2tBaqoh0Ugiu3RsncYme72BlRgmoh917KQ2oAjrdYT3eyYZ3RkT0erGUOnxy+Nbr96Xtk2v1patazQJpv2uSQ7yxJTFrfZ8oPGzJwpwYg48T0RdepAdPHixTJx4sRQEArTp0+Xa6+9VnW7X3755VFvV1RU1GRbr169VCZ0586dSd1nymytZTwRXGnTT+khGNW6qBHcDehmj2kQ0brdrlDQWFHnVTWYzdXPxpK50mch9WvOY38Ls0XeXVunAkxtND8yntEe75udTvnPmjr1f+26dS6flBdlqf+39rxaLD/IzryZEoyagUz1/LFE1HmlRSCKrCa61yODzB49eqi/xWPdunWyd+9eGT58eIL3ktIBgqdt1WZZX9kgxbnWqCdvf321eDZ8JgFnvZgcuWIbNErMuYVxBQH6jKfbGxyU8+7aYMbzhCG56jba1FMa9Fbn2Q/NiRprraIWBGiZSy1o3LDHJUf1zYlruiftea3Z6VKj9S1mBJ+HMo/BfQ4G0FaLyPo9bvU4zT3evppgoG0xifgOPt2tBzxywuA86ds1K6YgKurgoS5ZUpYffvyMHszFs4+QqhWsouGUV0SZrSGNPyvTpkY0WnazuLhYKioqYr6fQCAg119/verK/+EPf9jidVEKgIt+4BP4fD51ofQMQt/5qlbW76wRh8OhAqF1u5zi8Yt0L7DKMOtuyfq/58X98RIRry67Y7VJ1vdOE8ekS8TSva+6n6Xf1Kk6RX1gNHFEnup6hsp6r1Q1+MTl8UtlvU8q6oPrtn+yuUEq6jwy9ahCGVKWJTsq3ZJtM6uyT7yxEYgWZptCryG7VWRw9/BMYeTrC4/l9/vF5zfL+j3OsOe7cY9TSnItEpCAmMSkuu6xDwhazQcLNbfsd8mW/cFgT3teB+p8qvsco/SR6cR7I7g/JnW/+N1iMsn63eGPp93XkDK72lZeZJUR5XZpdAckO8sktWr6KY/k2s2tPi8NjsH44bkq6MIxLcqxSHmhRVwN1WG3UV8ydNcpLbDKvhpv6Hc8P619tOu31o6p1tw+okQCx1ov8th3JLxm8RqMtr25dsV29bo16Odl5Ost8vXVWRi9HUlabcNUfVZaLBbjBKKJcvfdd8uyZcvkrbfektzc3BavO2fOHJk9e3aT7dXV1a3eloI8frPsrg3W+qGbtSxfxGZOXt0fMqHrdlSL2+2Wft0csmpDvXy4sV5lRke6vpGBWx+SgM8lJv1oIPB6xL3q3+L+ZKnIxbNlW8koWb+jNuwq63c4pW9RQHoXBvffYcacnx7x+f2yv/bQm9duDchX2xvkyJ4WmTjEJqW5BbJ+r1vVUtY0uuXtLxql0ZkjRbasmI8FHsvtckq1ZKnaaI3FZJF1uxrEag6o0es1Tp9MHFkkeXaTmo+0R5FVxO+TA3Ue2V1pEafTHHpeDotJcm24Xb0M6W6T/l2ssrfGIw6LV/AQA7tapabBE/Z4VhPuw6nuq9TeoNp3wy6PfL61Qa1XD0N7OOSUoTnSt9CnvkDGo9QevICz3id1dXXBgNhiUY/13nqX+sYOXfJscqAhoD5YLaZgeyLQP2mwPXRcVWa8lXZMtWj7uHGnUyySq451JO3Yd7Qim1m65fpDx1873kU2p1RWRt8ftI2+DY0k8vUW7fXVWT6njdyOFFsbpuqzsmvXrsYJRJH5RAAYCSc6fd1oS/785z/LPffcI88884xMmDCh1etjVP5VV10VlhHFaHtMAYX9oZbhG9bKsG9YPvVBPmFEYdK+YaE7Pjs7W0yYgNScJf/7rkbMZrOUunbJT7b8Tix+d9MgNCQg4nGLPH+3+H74R3E4mr5BnH6bFBfnqP87cv0yspdP3ltbrx5DC8Lq3QHJc9jUdctLc2S/0yn/3dAotS6/5GZZZEB3u+xvMEmVxxFzZguPtaXKJLWN/tDAOwxqslmtUu/xid1mlVq3SfqWZsvGfW5ZvalBvL6ACsAHd7dLaYFdsmx2qfMGVKZYM6QHBkr5xZ5llQuP7XJw1LxfZTN3VXtkb7Uv7PG65GeJ1WKSsuIcKS62q7rVikaPHNU3V/aXeKXejedolqP65Ul56aHHaesHJ9oRPSH44MRj7a33hPbflmWVL9fXyIBSu3TJC36w7q2XsOOK14P++UZrx1Rrbh+zHbao27Vjnwrfz48vQxjZhkYS+XqL9vrK1M/pYCbs0Oe0kduRJKY2TPfPyrQIRIcNG9akFhSBKYJD/K01GG1/3XXXqUA0sta0OQUFBeoSCY3IN2Prtldi7XivCtLQTYyBK7uqvfLZNqeM7puTlNoTBF54swVX9PGJtnD9lIrXxeZ3S7CDvAUBv4jLKWWfvSzmgT+Lev9a2+dlW+Ts0UUqM4eucHxoY5AOJnkfUGpR13V5g4N5dlYHs4q1Tr80egIHR8rHnl3AY00+rEBlZxo8fpV9RGC4p8Yrg7s71DY873yHVVZvqld/q2n0qWOw+rsGuWBskWw54JY8h0V8fglNPo/zTKnNIsPLHU0GnAw6WC+kfzzcDsFH3652te94DmjfHLtIH1174nkn4j2C+9beb9pjqe0mUUEvnrPLe2g76I8r2kD/t2jtmGrYF7RJ5MwJvYqzpMEVaFIjqh37VNR64XU4vKetzW2YLMl4vvrXW+T2dHntJPpzWoPft1d6wz4TOqIdKbmvaXMLbZjun5VpEYhOmTJFHnjgAamqqgrVii5YsEAduMmTJ7d42xUrVqh60KuvvlruvPPODtpj0gY3RA6w2bLfLRV1vqQMulCDXrpkqS6F4pzgfXcx1cvYmpWtB6EhAXF89Y70P/zH8l1DdoujvjE6HgOTUMO5dpdLBREIMjESHtfFB4l+UnfQRtK3dUJ67X5xfL1+v2zdH1znHYOFkN1AhnN4D7t0ybeqYBQZShWYHxyQVJRrUfN9tvS8mns8ba7RL7Y51f8xZ2ii1rBvjf4+8aUGy6ECjnlz19MGQe2o9IRG8KfbcrHdCqzqlYlBb5pRfbLV9shjH8vJKJ2nWUrGyTVZz7ezLAPLQWjpJxXv4T4JXAY6YwNRTNP0xBNPyLRp09S8oZjQ/uabb1bb9XOIost9y5YtsmHDBvX7mjVr1G0wEf4ll1wiq1atCl0XUzgNHDgwJc+nM9A+sPVTA2mBg37al0SenHA7NWLdIWIym+XkYXliXfOp2AKH6hxj4vXI8Z6PZcCwSVLlNIWNZEYtpn5fEYyeP7Y46nPA78jeYUCQ/hiUFbX9Da6fiB3HDkE9MmjIdiIri4FLCBYR3CBEc3oDqjs94A5IZYNfjhmQI3kOc5N9ba4dtMeL9uGIwViYb3T3wYxvvB9e8bR9tIn9EbDpw9Boj42lYvH8s6wm6XVwIYBUB2R6e2u8aiDdpJH5Uufyq8FseG7YjuMe79RI6TrNUrJOrsl6vul+Yk6UzhJwG0kq3sM5ab7aXFoEoqjJxCAjLPGJwBJLfKJ+8/77729SB6EfXPHhhx+qLnxcjj/++LDrXnbZZTJv3rwOew6dDV7EfZCNOjiIBRAwqZWDDn4TT8TJSR/MIEO3s8otX3xXI9nZDjmyl0NKnSaRLfHvv+elB6Sr5XfSraibmEvKxFVUJpu9xbLb1EXqc7rJupxusqFnuYw/smuzq/TgzYzgb2C3LBUQaYHG9/qHlya0NRgPfXiU2WV/rVdlPhGIYq5Sq6tWbPu+kL55HinZXiCN+SPEnZWvgtDIfY1sB231Jn07RPtwXLfbLRNG5MmQsmAXshbsxSLeto/2QYmsIQK2aMct2v03uPxpF0hg3/EaAVSSaFNpNZepiuX+4tlu9JNrsp5vup+YE6WzBNxGkqr3cE4arzaXFoEoYN7PpUuXttoNr4eJ7pub7J6aSnR2csLIfPlkS4Pqjtdq37T6RNy//uTk8QYngN9e4ZaSPEtMdaSRwcb+Wo/KkPUqtAlmU9pW6RWfyy6D29rYPq/4D+xUF+h98KJXl1Mk7tIeEigqkzpHqdTldBN71zLp1qeX9C4uk97FVrUfWqBRkG0J+5DXPwftGCBjevLQvJiOf+SHx8isvVL15jzJ+mqpmH2HTi5HmG2yf9B46TUENdIDmp2nNDghPUb4B18L2n039yGIABjTV22r9KgyhG93uWL6MtGWwCTaB2VoudQE3H8q6DNP+jKOtmak0jXDlayTazKfbzqfmBOlswTcRpKu7+FUSptAlIzXdYbbIaBE93G0b9yoNQQEYPqlML/a7pTKOp8KZOMJZjDYA/N29taN8tvf9TDxW2xhQVlMLFYViLbG3FAl3i1VIlvWCE5Z2mlLm3jnuCyHePO7iSu/u8qsFpSVi9lTLp6SMjGX9JCtjXmhIFQ7BviJ2k6M3I3n+HvWfSzOp24Uh9sZHtXg6fg90n3dEnHOeU/sMx4V25Axob/hBBRZywsYEKRlHTEQC4G+ltHWBtegex5zh+ofLpaAL9nf+tM1Mxgp0XWsqc5w6b/MYo5RTPuUzJNrqp9vJugMAbeR8DXdFAPRTiJZGaSWvnFrJ6HIpTDRfb21DcGMNnAlOKI6eN9ee764D5skji8WNwnOosG08I7jzpS8H90ugdoK8VXuEf+BXbJ78zbZ8d12yW3YKzkHL3ZPcGnLFrmdYj2wVV1kswiOsP4odzGZZaqji1Tbu8oIUxepyCqVqqyukre5l9Rkd5OtJf1lWL8urT6Md/dmqf7DjSIeVwvPMyDidkn1UzdK0a3zxVrWT21FO0TW8sKOCo+sXFcfypaaTSbZWuEWlyegsqaoff16h1NNK4XyA62LOZaAL9nf+o2UVYisY9UPCIs3O5XKDFfksrcYPDeom1Wmfc+XtICRGT3KNHxNN8VAtJNIZgapuW/c2skJ3fEaBDcHFwSKO5jRalDVSHEbTrwm1R1eM+6H4li7XAVhaoqmZgRMJjFlOSR70iVqsJOpsKuYC7uK9BsppYf55POva+VT3YkU9ZenlNXLpvXbZOd3WyWnYZ8uUN0nOc4DYmrh8QB/z23cpy7lYd8CDv58R+RAToHKplq69BBzcZmYu5SJRf3sIZbi7mIq6CKNS+aLeJpmQpuboqrxneck/5I7Q+2AteQjjyWW/0S9KY6hVutqs9ple4VHuuRapc7tk3W7XCrgGF5ujyvga2tgol+e1W3Jlq0Fw2VrY3aTwUhGGDEf2QuBrPiX2xrV4CUtqG9Lr0SqMlz6ZW8RiGLy7K37G9U8tpMOK0hagMyMHmUavqbDMRDtJFKRQdK++aEmFN3x2ohh7SQcbzCD+lOMlB/SzSIfbHLL7mq3CqjebewiwyfdK4e9c6cKwlRmMIJaIDPLIYUzHg1lCiNhIuscu1kto4l9zcnKke1ZxWIa1lM2mg5vcv0JQx0yOKdO/BW7xFexW/wHL76KXeKv2KN+ImPamkBDjfhw2b4u+hUsNpG4Sg8C4lq9WHLPvV7MuYWqHbDMJ9aS189liXlK8Ty1ATT4iaC0os4r3x0MNvz+gFoudPN+twpcMYIeXya0QKu5QCPeb/3I+DYu+Zu4/vd22PKsXU1W2Vp8orzV/Wwp7DNAxg3KkeMH5xlixHxkL4RWloER9Olc19octGNk7wbsqjr0HIzwPIgovTAQ7SRSVZei1ZGiJnRrnI8dLZjpVWyV9Ttrxe31S/+uWWr6Igy8WZczQrpf8bT0+vxlcf3vrSZrzTvGTlGZ0GhBqD5zhS5qBAuom8ScoQh+9dMYIZBGBk7tf7ccsdjzVSYz2pAaZIwC9dXSsHuH7Ny8TfZs2SHZdXsku2Gf2Gr3SJ5zn2Q1VrV+EOOtfwWvR6ofmyGWbn3EnJ0vvbNyZWptluz3OMRtyxVPXZ4MyMuTQHWuuH054rblic9il8Ici7h9gbBgw2pRuWcpyEaQLmqCdkzy31qNa+S3fhxnbXosfX0hal9RTqCC9oiMrzXglaMrVsiRVR/IXzy3yp7Scer1gMc2woh5PXwJAJQ9IODXnmq61bU2B+8/7Tno5R6cyixWyZqQn4iMiYFoJ5HKuhRthH1bpzDSBzOYwguTtxc4LPLZ1kb5YvuhjGPVYUVy1bm/kpIf/DzUvWty5Ipt0CiVGYwlc4UgExPIA4Kxrvlm+Xq7U04ckis5WZif06emPjqsl6PV/cfKQKa8IskbVCRDBo2UXhEn4KIuWZJt8gSzqQdrVX2Vu8V/AL/vFt+BXWo71pNvC9+2deqi6Xvw0hy/ySJ+e66cYMmVSn+2NFpypc6UgzVIxftJngQceRJwOaTBnCNd+ncRvz1Pvm4sElN2vuQXFUivHkWSm22LqZva7/dL9zy/nN74nbhbqX3Fsq02v0uu2vQbWT7ocdleNNBwI+b1Nc76LHS066UrvGeH9rCrcg4NVv4ymQIxP4d0npCfiFKDgWgnksq6lEQ+dlG2WdZ7fWFBKGzc41JLbp4wpFDsR54cnoGJmKhef9LTsjnIdiJbpUH2B3V9+Ln4y1rVtQ2YomlfbZ5MOaIgAbV9lmCWtplygYDfJ85V/5L65+6TZDMHfGJ21kie4KJTG+XKW5tuahCTNGbniTk7T0w5eSpANefki8mRJ1UBhxTW2iXbliu23HxxW3Okap9dDvx3seSr8oWWa1+xclaW3yWHrX9Fdva7Jep1omXl0PYb9wazpx3dhR/ZC4FyCEzSj3IHzFCA1xUCO8xcYAQ4ZmcdVSgluVYVjKJW2+N2qcUWYs1GG2XaLSLqOMb4BKROp6XuuzKU2EWsPoklP7Eu+eZ9buma1xi2olBrGRj9KlHa0pJaBgtZUYfNLNuwnOfB7ZgqFUHvW1/WiMcbkEHd7Wo992QENyazRexHniL1L/42vNygFQGzRWrPuEm6ZJvE5qmXQGOdBBprpepAtRzYVyn+xjq1PdtXLw5fg9j9rvbvK45QY634G2tFKsL/hhBjZALuv+empZK/cai4awvEgxIDW16w1CArT4ocTSfyX/xFjby7ti5UaoD6Vq3ONNnBaLReiKIci6ze1CDdPcE6ZHz5wcwFRskIYl5X7Tlh6VuH2SSDy2M/lokYNMmufaLMwkCU0k5LwaPdKmIz+2VEuUMGlmapekab2SS1Tr9sr/SI3WaSZd/Uha4fSwZGn7nSluzcV+tVGazgT7Oq6YMuuRYVkH6ypVH+u75e9tR41O2nHJEvh/cKLq8Zb8attRMrygrsR58urlX/inmKqrU9TpVtxeNVtgrHAXV88NWGenn7y+qwtc+RoRvTJ0tGdfNLucMpPewuFVDu21cl9VU14qqtEU9drVQcqBaLq066Wp2SLw3iqa+VvECDZHnqJcsbPio/WTALQeE7T8gJ0f74hsgBR66YkIXNzhenJUf6NNplii9YZqAue3PFWlMiu/d2kV69ugQzttn5wdvYc9RsCu0NgKJdb1h58HqokcXrTL/KEgbvGSkjqGX2USZTWVmplp7tqEGTHdG1r7VfNWqZWcNKlHQMRKlDxJPFaCl4HNw92AU4rNwuw8od8vnWRqls8KkL1lm3W0xh148lAxOZuRrdL0fN9VjvCojX75fdVR75dGswAETga7eaZc1OpwzqnqUSsxhh/uHGBrGYzPLdfldcKyfFemLNnnypuD5Z2uoUVX4xicdsl9cKpsqoQNOgO3LACYJQrJzk8ltkbU2WfFPtUN3XePwBRxxaThP34av1BjPRVrPs8/rlo00NoZW0TAGfWD2Nckq/gJicdfLpt/tUxrVQGmTT1gMqcLV7GyTLWy/SWCe9sp3iqN0lJe79kkioC8ZFZLcaQNb/4CXMjuCPmsjtqOl1oKwAwWmemHMKQiUGvqxc2VSXJfu92Wpg1y5cuhTK0SO6iWTny45Gu1R67ZLrMMvuao9aHjVae2qvu8jvE/EOWEplyUEqB00mu2sfx/W/6+tkT7U3tGTvtgp3h2TQiTorBqKUdPFmMWIJHtEVf9kJJaomFN3xyIQiCN1RdWi1JC3ojSZye7T6Te1kf6DWKyPLHbJ5v0tcbuyDSUoLLNKg/i8qaG10B2RXlVtNc4RsY1mBVY3sxtrwXfOtzQYJsZ5YUUeKqafU6PIWpqhCEPqXAbfKPkfP0Ohs/XGLHHCC/e5ZYlOZ3eJcizjd/iaP39yx0a+oFTBZpKysWHoNzFeTte8r7aGyy3tMIh+owFBUsOT1B9RxOWlInpRt/z+Z9MlvJV7W/oepqbj8DcFyA1V20FDbYoAeE8xyoO4vWBQbOUSsz8GLnvNfwZ9YkqDYZBaXNVdyrLkyIDtfZWA9WSgfyJX9X5VI19JiKXPbpe8BW7CcwJYr7qx89f8im1UCgRw1wK01qS45SOWgyZoDVVK+839i8zSIx5ajVlbDMUzUzAPYr1UbGsIWf8Cx7V2SZZiMNZHRMBClpIs3ixFr8Ih6tROG2FRNKKYTwopAOI+jzhNBkHaSa0sGJnKN+Lxss5wwJE9sVpPsr0OA6lSBWNiIaJNJ1Zn26WKTL7c71eAmzHXZNd92cAoom8qy6k++6P6LJtp2LNvpmDVPqt78m2R99U7YsqY+s02+7XGyvF4wVQWhSAxro7P1x00/4AQLDTR6ArJ+j1PV1yLzg8fFtFWtndhjWVErsuYWmbvSbKsKfhGc7y0epvYby5PGCsu57vnBb6R3r65hwUvA75eAqyEUlCKYbKypli++3Subt1WoLK3DVy/dbI1SanVKXqBerO56sbnrRJwIaGNYRasV5oBfsj216iKNuyVsnobNGMwlahDYuGg3flPkgMUaKhMIDvgKZmQx/ZaWpcXfd7scUrNFpLAuS+yq5CBHNu/OVa+1ZHfxN7fEZzya+2LTUnCqzTPbf/XbMiDidb+l9ylS3O0yERnazmcnqrwncgUy/I4aceCUU0SJx0CUki7eAQrxBo8YdYzJ2TGdk2Z032y1va0ZGH3wjO5ndKWilm/cwBzZV1sv3QpsKhBFwIvAE8Eb1muHPLtFrUCDnCW6wTE3KbIs/gACsOD0RpiXdGRPh1TUB2tQtYn+cV0EcAfqvaqeUL+vOFn/Z3+JbBv0M8nqc5l03f+V9M51S2FRgfyfZ5Bsa3RIidkkpRaTKh9AcNy9MKvJcdMGnHyypUHW73ZJ/652te9bDwSfL7JssdTstbaiVrSaW21RghHldtldVCbu/RPF8flbwYFOrUDG9/MuJ8nX60UGVNeGZdTVSlnZeSK4lJQF2w2vg8N8UniwCxsxk9Mk8kmNt8nKRph1KuBsUIsLIChtrK6WfXsrpbGmVnL99Wr7rt1VkuUJDvKy4ae7XhzeumCQ62994YJW+bwSqKtUl5a+BhSIyJnRbv5llgSy86QyvyAY0KpgNv9QIBsKcA/VxYZqZLHdGn3qrZam4OqW65fv5+OLmiVpPSb6eWZNETUN+BLTf8tSMf11pXhmPKq+rLUHFrOIhPKVvbVeWb/XHSqp4JRT1B4ccBeOgSgl/Q0U7wAFLXiMrIFrDiafR4cmgkFMyI75Pr2+gOq2H93X3OLUUc09n+aCZI9P5NwxRXJYT4cKfv1+UQMa0B3/zS6XykQiCNR6WBEMauu8lxcFnwMyrAgAEZjuq/Gqrn3cpnexVT5Ht3ZtcDJ91J7qT3j64BjdkY2DjpfFe93irwnI4O52GVVqlnV7XOo+bRaM+PfKYb2iP2/cn9VsFofVpE6+WhAKqHGNDF7jafeWam6122LQWZHNKd+OOF+Gfb1czF6XmqKptdrXt7ucKfmNwZKAWLJ/2JfDe+fI4b2DA4UwkE1Pfz8IzCQnXz3X5ftqZRsytQfnsRoyJEtqGv1qUQNNrt2kss5vfFajpr7C7APFpgYVqI4r94m7rk4FrqU2pwwqcKsMLAJavy5rG2ioC84yEMMKXK2x+N0i9RXiq4+YsiBWWY6DQWsw84qMrFn7f3a+7PfaxVZhk15ZmKkgT1yWHKk8YJXt3USGDigVk8Wa8B6TQeY9Uh3DPLOonUawWnTr/GZXTosF3m/4wqRf0AGzZtitprCH55RT1FacS7cpBqKU9DdQW7vHEYihqwwngG93udRtxg/PbXI9BDvItA3ubpWNe93y6ZZgZhSPh0EHyDxGC6Baej4tBc9lRVnqoj8uPYtd6gSGfUXwicFN+B21rNrcpNqE5lk2k6zf65JvdzvV9X3+gPQ+WLuJ4FRb0SkyUIrsrtcHuMjw4XdMvq+VAwACp5ZKICoOrjGP22iDM77XPyesPdvS7q3NG4sR13vrzfLegS6y9sg75MxP71OT1ptjqH21HRxsFW9dYKyZ+WiBEQYfTRiRJyN7HuqerXP6Zd1up8r4oh0arBiSlS8nDMuV/kPz4vqyFvC4Q1Ns6QNVP35GBK3euhqpOlAl7rpaFejm+OrVClTt5naKHwFx9b6of8Y77+hof3hP5AACQsw6cDDzquaQjZp9PbRN/Z6TLzUVZhQZI60ddrc4fo3vzxfxNF1xqwnUB7uc0vjOc5J/yZ1tPgQDu9lVxv6r7Y2h5XDx/oqWKTXKiliUXjiXblMMRCnpb6C2dI8391i4lAaXOg/R1yTq67uQFcSAjkY31sgO74qNzDBGPp94gmct64aTGG6LAOXU4XlSVe8Ti8WsgjsEpbgoAZMKrDH9FJYoNZtNsrPSo/ZRy8Y4Pd7QmvD7a4Pd9Ad03fi4rj7A1Sbj18oB2lICgSxu90Kryl6u2lAfaqdkfXDuqvGr9tpoGir1xzwix25bJAN2rAgLqlADuKv/qfL3rDNUEKo9X2juy0Jz2Vv8H9no4PENhI5v5P20FLCOG3ToixDapLKZQD7e42KyZYnJViJSUCKxdHI7Dg6k26T1GOT7pXe2W+y+g+UFKnitCwayBwd0+dX2gwO8GnQBb0NNm1fv0lM1uq4GEawGFocBamYDkxp8pAZw2fLUz8LPc8W1cXVMU5Yd3ANxrV4suede3+JKai3B6wQLVei/vEJkJh3wN3axUrwSMZdupmEgSh3yBop3ZaXmH8vXJBBFoNGnxCY7dEsPIsCwmIP1jvq1vbUACtbsdIXVZwL+j8fGvI/xBs/65ziipyPstphrUVur3unxq9H0+gHSONUiM4pR95iKStMlzyL9SrNUlz2CKJQAlOZbVfCDAATPEyPd99Z4VK2nPlCLtQRCv59f73DKut3BUe6AQFUrKUj0Byeej+YLZzf5ovQnkltykVzcY5uM7iHitmTLSvdAqZJcKdzrln17g1lnXJr7UtBS9hY1wzjO+jlUsdJR5MpGsZaSRAvksepWota8bynI0ZcctFcAbwxkQw8GqNqALxW46rKz7roa2bunSmVktTpZh/pZ3+4ZC9C9ruaj9dRLruwNbmzLzF5ej1reV7+yWrwiP6vQDtG+lOJ1w+VKKV7tnUs3EzEQpbR8AzX/WJZm17LH4Jst+92hTBdqOCPX9sZgoHe/rROvT9QyiwhK0LV6ZG+H1DiDWUbMHYqTTzzBc/RJzA/dVsss4u9uL6ZIcssB3ah77C+ykV3yrGGBaFmB7eBUSybVXY9uewTXqON0efwyrIdDtle6xWo2qQD3iN7Zqk411hII/XNEhk9fAwk4+ZbkWZLS7j0Kg0EljrvGmlck+WMGiqN3jjhE5JSDx3VImUOcCFwD0ubpsKB7gVUmjcwPZS/xxQA1xhjApYk1G97eqYjSpY5MTRllzxaLPVukqFuz10Mu2H6wPSoOjpp32JxSVFKganyD2VVdSUEo4xpcbUsrL2hScpCAGQv0gvPIJk5z7cwuVkrFXLqZiIEopeUbqLnHKi2wyra9Zllf2SDFuYcCElxG980Jm9sSASmCTAQbGnTfY4J61FBq2bUdlW41in3l+vpQhhH3E+tJP5agQR/w4foYkKSvQ8OgIofVHNbNm+8wq6zu51ud0qskeIwRjHbNxyj+gHpMZFCLcjAHJbr4RdW34T5xwT6gXKC9yy8i+EPGeavu+WE6qsgu/HgDpJ4FAbW/yMLqjwP2OdGZdNTXIhuqZb71KxtF3iaeADPe/YtVugY5+ucbXFmpQQWyZkeuCC4HZyyIR8DvC85YEFYyUCOebz8S54qX474/E/YjwaK1M7tYqa2vpWR9gTUqBqKUlm+gaI+FrrD3vq2T9TtqxeFwiNlsVsHWCUNyVVYL10MQN6TMrv6PUc36VW4QkKp5Rg/WamoZxl3VqM/0qSCwwBGcYggnfdTgoc60teeqDxrwGAh2WwoaotWhaRkWfaAUnKsxOA1TpAZ3QHXX4+/Y/3qnT9bucqlBFd0LbFKab5EvtgWzm7EGo81lOJGBxMj31rrw483WYanW0w8vVMFnol5PzT0HzGygpy87jHabtsx1mUidKcgxmS2hGQvUygAH2QaPFufKRaq7PWZWm9gGjZKO0Fm7WFkX237J+gJrVAxEKW3fQJGPpdbpPtjFqqlz+uT1T6vV1EDRgqKB3VDfdSh4QBbvvW8PBVAIOs0mk5psXsuQafWLX2xrVNtamzuwSjf/JzKZ2oT6LQUN0Y6jPgusPSa667X60tD1Sg6N4s2ymmV7hUty7GZpaPSpIPurHY3i8QbUQChMqn9U35yYgsSWMt6xdOG3JVuH5xZZj4f7b2uw11rWvq0Z/Y6eciVaMIPXGMpG2pOFNhIMOLIffbq4Vv0rxgFLJrGPndLmgUqduYvV4zerFc+qG8MX3IjEqYcoGRiIkmFEC+wQ/GEEutZ1HRkURRt4gGmh9CcPTJuk774HZEiRCYxl7kB8cGPaqMhlAZFFTETGGSK3oR62S65FzZeKXcd8psje5jnMKjOKEyK2o8s7njk3Y8l4Jytbl4iTXGvPoa0Z/Y7uKo8MchCE7qr2yvo9rrAyBmTWMzkYzZ58qbg+WarmCW1xQBSmfsqyS/akSzps3zKlixWziry33iV76z2ql6ml910y3wfMtHZeDETJMCKzRNqURdG6rpsLiprr8l+5rj7ULQ4YDBQZnDZ3v8iyouZTD79je6IyzpHbRpQ75IShebJmp1PNJIAgdFgPLM0ZHOiUZTGpjKh2bGINEvH4weA3eHzwM/LkmqwuyUSd5FrK2rc1o9/RXeWRr1MMcPtoc0PYADf8H2UoGD2fqTA5feGMR4MrK7kw6X+095RJBaG4Xnsms++sXazaewzlTpHbOqoulpnWzi1tilnWrl0rkyZNktzcXCkrK5NbbrlF3O7wbthonnrqKZk6daqUlpaqovlXXnmlQ/aXOp7KEum6vZANxdRCofk5YwyKtJMH5oTET23JS0xYPqZfjvp58tC8sMC0pftFWQBqTXHB/mj/15cLJBr2+UfHFstFxxbL+WOLZNqYQunbxS4+v4SmhtLPXRprkKidEDBv4sebG9RP/I7tkdk6vUR0SWonM5RFYEaD7RVu9RPzqKZaKuoB9a9TfOHSB6Fa1j4ycM9EWLYTKybZj52qakDDWG1iP+5M9ff2Lu/ZWWlfXptuj+3zr6XtsWpttgvKbGmREa2srJTx48fL4MGDZeHChbJjxw6ZNWuWNDQ0yJNPPtnibefPn69+nnHGGaH/U2ZSWaIRedK3KCBOv02NmtfmgGxvnVascwdGu198CGuj2SO3t1dL3VUIRk8YYlOzBeA6CNiQGUUgiimftLXd4zkesWQlk9UlqU04jym19EssHlXvC02nlQpaEG61BGdcaMtxbS/MGRvP9kzr8kSmM//SuyT3Bz9X84RiiiaMjsfApETVhGrHCTMsFBr0OLVFtCnxmvv8SlZdbGcanEdpGojOnTtXampqZNGiRVJSUqK2eb1emTFjhtx2221SXl7e7G3ff/99VdeyefNmBqKdAAa39C70S3Fxjlgs7av7a0k8wVayPpwju6tQKtCzuGntVmQQfXjv7DYfj1hPCMnoksR+FuVapHqrL6zWFgPSUjVtkb4NUKeZ282uss2YrzWeqbHaq1exLbSUqAa/Y3siujzbGqzGOsgloQOY2jFZfXPw/P+7vk4tCazNMYu5fo8fnJcWwWgyv0xon1V7ddOvtrSKXLK+hMaz3cgy4YthRgaiixcvlokTJ4aCUJg+fbpce+21smTJErn88subva1WXE2dV7LqtGK932R9OGvZSf2I/JrG1oOy9hyPZJ0QIj98exVbo+73YT2z1eT8+gnnUSKRqsyIPkOsn1oLmeeOPHng9TRuUE7YUqKYUaG1LzuxZLjbWp8XzyCXdD9B43FXbWhoEuj3LglfmCIVkl0/iS/3Jw22S5XHEdMXimR9Cc2UGQhawlrYNA5EUR965ZVXhm0rKiqSHj16qL8RpbtkfDhr00JFjsivd/uTdpJGqQPmX8VMBNoKVQO62dt1Qoj24duz2CpjelplX0Q2DaP+MWWWfsL5VGZGogXAmEmhowNjtDWyc/EGarFkuNs6SCyeQS7pfoLeXukJe48Bfsf2VAeiHTFjA+b0xcA3rZepo2XKDARGXagi1dKmRhSBZ6Ti4mKpqKhIymOiFAAXza5du0KrheBC6Qlt4/f7O0UbYQlFDD5avwejhYMwTdOmPS55f0Od9CyyqZM1MhqJoDJc39aJ1RwclV/v8kmPIpscNzhH7NbgsW+LLftd6qJX2+iTt9Z4pdHtDC4xicCjS5ZanABBqn6+WGxHBjVRbY7niQ9/DNJAfVxLxxBtgNdbtO0d/RpEGwzuHv6FoLV9iGX/K+u9Ua+D7S3dP/6OFb1w0d++tdvF+hoJbgsuUNHedmyN24P5ggNRt6f6s6at7WO0z9S2vL6NJllt6UuTNowU6xebtAhEU2HOnDkye/bsJturq6vVyH1KT3ij1dXVqZNGqr69d5Qim1ktf4h6aQgETGIym+RArVvW7miQzza5VdchutWQ0WivbdVmtWqVBvHhuvpG6VMUECls+/3vrhRxOg8F0+CxZck32xqkrMAc6tZdv8OpBqId01ukb5FNqhr9UpRtlrL8gDjrqyURS4ijphHdyfrRuMi8NHcM0Qbdcv1Nrl9kc6rlLdNdLPvvMJubtE9wu00lCZpjN5nE5XIdXF7WHPPtYn2NBLdbpNTe0O52bE23PIvk2gJhg+TQG9AtLxD3c0m0trZPrDrTZ2qqJastfWnahl27djVOIIrMJwLASGgYfd1oImFU/lVXXRWWER07dqwUFhaq/aH0hDccMmjIoKfTGy5ZRvVzyqb9XnGqjE1wqpVGD0b1ZklAzGqAAWq7mssaxWN9ZUNYN6tGzVBQ3Pa5KstcLnE4Dp3gUffp8pkkx2GV7GwM/jGFPVa3LjnSTbfUYyJhYM3+Bk/Y82ztGH4/P3GZt1SI3H/Mb7u52h96LoNzRbZUmZpkoQeX57X4PG0Orwze45a99aawrHZrt4vlNRLaXpwjxcX2qO2I2tR42rEljly/TDgsIF9td6r3msNmlsN6OWRYz/ifS6Jh39rSPrHqbJ+pmdiWPoO3YVoEosOGDWtSC4rAFMEh/pYMBQUF6hIJjWjEhuxMkH3pLO00qLtDRvfzqEAC82pikvrB3R1iMR8aqIcay0QcC0yHFW3wH7a35/77drVL367htVHlxVaprg92y+sfs72P1Vod4o4qr1gsZinUDYRq7RjmZVtkeM+WR6enM23/W6rDnHxYQdz1eXnZIicPiX2QS7yvEewbtkdrFzxetNdqW98LOEZnHFmoVqtKtxpF7Ftb2icenekzNVPb0mzgNkyLQHTKlCnywAMPSFVVVahWdMGCBerATp48OdW7R5Qy+iJ+zK9ZUecNC6ASOZAnWSNXow1E6JpvUV1UsUwZkwhaEPbplgZ1HLVR0QO7Zalj2doxjBzRjawiFixIp4ClvQMl2jJYIlGDXOIdrJKM2R3SeZWkdN43ig/bMk0DUUzT9MQTT8i0adPUvKGY0P7mm29W2/VziE6YMEG2bNkiGzZsCG376KOP1Byi+/btU7+vWrVK/cRKSyefnPj55ohS9cGFE3O0jFaigrdkjlyN/PBFV1I8U8YkKgjTVptCLSBGRWM6pNaOYeRcopjFAEu4YvUswNynmHYKI/7TOShN90nD4zlBd5bpfog6g7QIRFGTuWzZMpk5c6YKRvPz81X95v333x92PZy8tIEbGqy89Le//S30+yOPPKJ+IghdsWJFBz0DylTpNPlwR0xx0tZv6205Th05ZYwWbGFFJASQCESdnoCU5FnllGEtT1quzyRiPldtmp+Kep+qu8QE/Jj7FNNNdeSUQ5150vDOMt1Pun0GEWVsIArDhw+XpUuXtnidaIHlvHnz1IUo0VI9t6FRunXS8Ti1FGzpl2NFUBrrXJwoicBk8hosLoALYDvG66TznICZlkVMx/dCKt5bDFTjP6YM7NNL2gSiROmGkw/HXi+Z7pM0tycI04JYZEMLHYcCWovZJNrMk1jpSJuAvyO6uttyMu1MWcTO8hmUrC+BmRqsGeFLc2fEQJTIoDV16fBBjixhQbZZPF6/yjSm63FqTxCmD2LxfDHICTWieN7764K/Y3tHdXW352SqZRG1QOOLbc6MCjQ622dQMr4sZ3KwxuRCemIgStQJauqS9UGOLCHmN0XNpdbdna7Hqa1duZFB7Oh+OSoLXN3gk6PqfVLn9IVmMeiIru72nkwzOdDobJ9ByfiynMnBGpML6YmBKFEnqalL1gc5soFlRTbx6uYjz7Tj1FwQm4ouzPaeTBMVaKglNrEaV2WDmv+1W4FV9tZ4M647N50/g5LxZTmTgzUmF9ITA1GiZrCmLrYPcmQDJ4zIU//vbEFIKgbMtPdkmohAQ2VVv6lTS8JidSOfX1S9bPcCa1h2mFnW5H4GJePLciYHa0wupCcGokSdYGRuojJ3LX2Qd4bAMxNOpokINFRWVbdMIUozsFDApJH5Gdedm86fQcn4spzJwRqTC+mJgShRhktkTSA/yFP/paG9bZCIQCMye4o5WfXTWKFuONr1KP2/LBvtPR7vl+xMSS5kEgaiRBku0YMP+EGe+i8N7WmDRAQakdlTh83UZBqraNcjYzDKe5wD7zIDPyWIMlwmDz7oTF8akhFojBuUq37Gm+1SWVVdBhXLpo7qkx02jVWmdOdS+uqo9wslFzOiRBkukwcfZBqjfGlQWdURedK3KCBOv42j5ikljPJ+oZYxECXKcJk8+CDTGOlLQ3aWWXoX+qW4OEcslmBGtSTPlurdok7ESO8Xah4DUaIMZ7TBB50ZvzQQ8f3S2TAQJeoEjDL4oLPjlwYivl86GwaiRERphF8aiPh+6UwYiBIRkaGkYmlVIkoOBqJERGQYnDuSKLNwaBkRERkG544kyiwMRImIyDA4dyRRZmEgSkREhsG5I4kyCwNRIiIy3Fyrelyggci4OFiJiIgMg3OtEmUWBqJERGQonGuVKHOwa56IiIiIUoKBKBERERGlBANRIiIiIkoJBqJERERElBIMRImIiIgoJRiIEhEREVFKcPqmg7xer/q5a9eu1LQExcTn80l1dbXU19eLxWLhUTMotqPxsQ0zA9vR+HxpfF4sKysTq7XlUJOB6EH79u1TP8eOHZv8liEiIiLKcNu2bZNevXq1eB1TIBAIdNgepTGn0ylffvmllJaWthq9U+ogY40vC6tXr5YePXqwKQyK7Wh8bMPMwHY0vl1pfF5kRjQODodDjj766OS1BiUU3mytfcui9Md2ND62YWZgOxpfD4OeFzlYiYiIiIhSgoEoEREREaUEA1EylIKCAvn1r3+tfpJxsR2Nj22YGdiOxldg8PMiBysRERERUUowI0pEREREKcFAlIiIiIhSgoEoEREREaUEA1EiIiIiSgkGopR2NmzYINdee62MGjVKrXJ12GGHRb3eM888I0OGDFGLERx55JHyr3/9q8P3laJbsGCBnH322Wpy5dzcXNWWf/3rXyVyITe2YXp788035eSTT1YrztntdhkwYIDMmjVLrWut98Ybb6j3IN6LeE8+++yzKdtnalldXZ16X5pMJvnoo4/C/sb3Y/qaN2+earPIy6233mr4NmQgSmnn66+/ln//+98yaNAgGTFiRNTrvPTSS3L11VfLBRdcIIsXL5Zjjz1WzjnnHFm1alWH7y81NWfOHMnJyZFHHnlEBSlTpkxR7XXPPfeErsM2TH8VFRVyzDHHyNy5c+Xtt99WQej8+fPl/PPPD11n5cqV6r2H9yDei3hP/vjHP5ZXXnklpftO0d17773i9XqbbOf70Rjeeust+eCDD0KXn/70p8ZvQ6w1T5ROfD5f6P+XXXZZYOTIkU2uM2TIkMAPf/jDsG3HHntsYMqUKR2yj9Syffv2Ndl29dVXBwoKCkLtyzY0pqeffhpp7cCOHTvU75MnTw4cd9xxYdfBe3P48OEp2kNqzpo1awK5ubmBuXPnqjb83//+F/ob34/p7dlnn1VtFu2z1ehtyIwopR2zueWX5aZNm2TdunUyffr0sO0XXnihLFu2TFwuV5L3kFrTtWvXJtuOOuooqampkfr6erahgXXp0kX9dLvd6r22fPnysAyp9l5cs2aNbN68OUV7SdHMnDlTlT0NHTo0bDs/U41vk4HPiwxEyXDWrl2rfg4bNixs+/Dhw9XJ8bvvvkvRnlFL0IXbs2dPyc/PZxsajM/nE6fTKZ988okqrzjrrLOkX79+snHjRvF4PFHfi/r3KqUeSiW+/PJLueuuu5r8jZ+pxjFy5EixWCyqXvvBBx9U702jt6E11TtAFK/Kykr1s6ioKGx7cXFxqK6N0i8IRf0SakaBbWgsffv2lR07dqj/n3766fLCCy+o/7MdjaGhoUHV9z7wwANRl4FkO6a/Hj16yOzZs1XNNgYpvf7663LHHXeo9+WTTz5p6DZkIEpESbV9+3ZVPH/qqafK9ddfz6Nt0NHzKKnAQML77rtPzjzzTHnnnXdSvVsUI7RZ9+7d5YorruAxM6jTTjtNXTSTJ0+W7OxsefTRR+X2228XI2PXPBmO9g0vcgoZ7RthSUlJSvaLmqqqqlIj5lFX+M9//jNU/8s2NJYjjjhCjcC96qqr5LXXXlN1oYsWLWI7GsCWLVtUTwSyafjMxHsSUzgBfuLC96MxTZ8+XXXNf/bZZ4ZuQwaiZDhaDUxk/Rl+z8rKUrUzlHqNjY0ydepU9cGIqUQKCwtDf2MbGjsotdlsar7fgQMHqv9Hey9Gq1ejjofaQNQIfv/731fBCi7IaAN6KSZOnMj3YwYYZuDzIgNRMhy8oTBhLyZN1/vHP/4hEyZMUG86Si3MU4hv6xg5jXnvMEhJj21oXB9++KEaoIQ2xCT3CGYi5wzFexGDJDCgiVILi0kgg62/oDsXMD/sU089xfejQb300ktq4BJmJDHyZyprRCktC+tRk6Z1K2HKH+1Ep63ycvfdd8uPfvQjlZHBiRBvNpwg33vvvRTvPcGMGTPUih7oEkT76SdUxocmAhi2Yfo799xz5Xvf+57KgqIe7fPPP5eHHnpI/T5t2jR1nTvvvFNOOeUU1eb48oFAB4OZ8J6k1MPgFbRPNGPGjJHRo0er//P9mN5OO+00GT9+vBx++OHqdwxWevrpp+XnP/+5lJWVGbsNUz2RKVGk7777Tk3cG+2yfPny0PX+8pe/BAYNGhTIysoKHH744YE33niDBzNN9O3bt9k2RPtq2Ibp7cEHHwyMGjUqkJ+fryZCx+ISd955Z6C6ujrseq+99pp6D+K9iPfkM888k7J9ptbhczRyQnvg+zF9XX/99YHBgwcHsrOzA3a7Xb3fHnvssYDf7zd8G5rwT6qDYSIiIiLqfFgjSkREREQpwUCUiIiIiFKCgSgRERERpQQDUSIiIiJKCQaiRERERJQSDESJiIiIKCUYiBIRERFRSjAQJSIiIqKUYCBKRERERCnBQJSIOr1XX31VnnrqqTYdh82bN6s1nnfu3Nmm2/fr109+9rOftXgdrBU+derUVu/LZDLJww8/3OztsJ95eXkx7dfNN98s559/ftS/4X5WrFgR9W+TJk2S+++/P6bHICJiIEpEnV57A9HZs2e3ORBNpA8++EB+9KMftft+8Fz+8Ic/yK233hr3bW+77TYVDFdWVrZ7P4go8zEQJSLKEOPGjZMePXq0+37+9Kc/yeDBg2XMmDFh2x955BHp37+/3HvvvSrz2bdvX/n5z38edp1TTz1ViouL5W9/+1u794OIMh8DUSLq1C6//HIVNH399deqaxsXbNMsXLhQRo0aJQ6HQ8rLy2XWrFnidDrV39A9jcALjj766NDtob6+XnW5Dx06VHJyclQX/LXXXivV1dVt3tf58+fLwIEDJTs7W3W7f/vtty12zbfncc4777ywbf/85z/lF7/4hZx77rnq+Dz00ENy1113SUNDQ5Pbo0ufgSgRxcIa07WIiDLUnXfeKfv27ZO1a9fK888/r7aVlpaqn6+//roKyC688EL5zW9+o66DruetW7fKK6+8IqNHj1Zd2D/96U/l2WeflWHDhoXuFwGaz+dT9ZK4v23btqn/T5s2TZYvXx73fn7yySeyceNGtR9wxx13yGmnnaaCUbvdnrDjsWHDBlVucPzxx4dtf/fdd6V3794qK4oaUQTnCIZ//OMfN7mP4447Tn73u9+p46odSyKiaBiIElGnhgwjgqUtW7aorm09BFzY9sILL6jfTz/9dJXd/MlPfiJffvmlHH744TJixAj1t8MOO0y+973vhW6L+/zjH/8Y+t3r9apu7RNOOEHWrVsnQ4YMiWs/9+zZo4JBdJnDUUcdpbKt8+bNU/uTKP/73//UzyOOOCJsO7r8EViuWbOm1fs48sgj1c/Vq1fL97///YTtGxFlHnbNExFFUVdXJ5999lmTLuoLLrhA/Vy5cmWrx+25555TASNGqttsNhWEAgLReCHQ1YJQGDRokAr4Pvzww4S2365du8RsNkuXLl3CtiPri8dDgIqBXXPnzpXXXntN/H5/k/vo2rVr6L6IiFrCQJSIKIqqqioJBALSvXv3sO2FhYWqK7yioqLF47Zo0SK59NJLZezYsfLyyy/LqlWr1DbQakzj0a1btybbsG+JDvawbwiatVpXTUFBgRqVv3TpUhVcIzOKWlBkjBG062mlAo2NjQndNyLKPOyaJyKKoqioSAVje/fuDduOwUYul0tKSkpaPG4LFixQdZQYga5B13pbRe6H1l2Px0gkPC88PwSkGKClh+Nx8sknqxpX1IdidDxG1v/lL3+RG264ISyIh8isKhFRJGZEiajTy8rKapKlRHc6gjwMStJDdhO0bnbcFiJvj2yg9jeNNhiqLb766is1kEiD/3/++edyzDHHJLT9UHcK3333Xdh2ZIcjoZsemdIDBw6EbcdgJ/19ERE1hxlRIur0hg8fLn/961/lxRdfVHWYqHHEdEsYrIRR7hdffLG6YIQ6Rs3/4Ac/UAOVAIOOLBaLur3ValUXDFrCPJuoq8Scm8cee6y8+eabsmzZsjYfa3TDn3nmmXLPPfeERvv37NkzbKqpREApAZ7Dxx9/rI6L5sYbb1TBOQZsIeO5fv16eemll9T/J0+eHHYfH330USiQJyJqCTOiRNTpYQoi1DvOnDlTzQeKABTOOuss1cWOEfJnn322mjrpmmuukb///e+hY4agFVM4odv9xBNPVLcHjGS/6aab5IknnlBzb2L6Jm30fVtgqqhbbrlFXS655BIVmL799tsJnboJcnNzZcqUKbJ48eKw7QjIv/nmGzWV1ZNPPinXX3+9qhnFscDz1sNtzznnHBWgExG1xBSI1t9CRESd1htvvCEXXXSRqkHFdFWREKijRhSXSFjas6ysTN555x056aSTOmiPiciomBElIqIwU6dOVSUHGIQUL2SAMRk+g1AiigUDUSIiajI6HvOERsuGAjKhqKFtbtT9448/ziNKRDFh1zwRERERpQQzokRERESUEgxEiYiIiCglGIgSERERUUowECUiIiKilGAgSkREREQpwUCUiIiIiFKCgSgRERERpQQDUSIiIiJKCQaiRERERCSp8P+c83Gbd0w0OgAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "cent = tips.groupby(\"bill_q\", observed=True)[\"total_bill\"].mean()\n", "qm = tips.groupby(\"bill_q\", observed=True)[\"tip_pct\"].mean()\n", "\n", "fig, ax = plt.subplots()\n", "ax.scatter(tips[\"total_bill\"], tips[\"tip_pct\"], s=18, color=BLUE,\n", " alpha=0.5, edgecolor=\"white\", linewidth=0.4)\n", "ax.plot(cent, qm, color=ORANGE, lw=2, marker=\"o\", ms=8, label=\"quartile mean\")\n", "ax.legend(frameon=False)\n", "ax.set_xlabel(\"total bill ($)\"); ax.set_ylabel(\"tip rate\")\n", "ax.set_title(\"Tip rate falls as the bill grows\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 80, "id": "c082", "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", "
countmeanmedian
bill_q
Q1610.1840.167
Q2560.1660.155
Q3580.1570.155
Q4590.1330.139
\n", "
" ], "text/plain": [ " count mean median\n", "bill_q \n", "Q1 61 0.184 0.167\n", "Q2 56 0.166 0.155\n", "Q3 58 0.157 0.155\n", "Q4 59 0.133 0.139" ] }, "execution_count": 80, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tips.groupby(\"bill_q\", observed=True)[\"tip_pct\"].agg([\"count\", \"mean\", \"median\"]).round(4)" ] }, { "cell_type": "markdown", "id": "c083", "metadata": {}, "source": [ "> ### Finding 2\n", "> The tip rate falls steadily from **18.5%** on the smallest quarter of bills to\n", "> **13.3%** on the largest — a drop of more than five percentage points. The median moves\n", "> the same way, so this is not an artefact of the outliers.\n", "\n", "## 5.6 The spread grows too" ] }, { "cell_type": "code", "execution_count": 81, "id": "c084", "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", "
meanstd
bill_q
Q11.930.70
Q22.630.72
Q33.220.95
Q44.291.70
\n", "
" ], "text/plain": [ " mean std\n", "bill_q \n", "Q1 1.93 0.70\n", "Q2 2.63 0.72\n", "Q3 3.22 0.95\n", "Q4 4.29 1.70" ] }, "execution_count": 81, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tips.groupby(\"bill_q\", observed=True)[\"tip\"].agg([\"mean\", \"std\"]).round(2)" ] }, { "cell_type": "markdown", "id": "c085", "metadata": {}, "source": [ "The standard deviation of the dollar tip more than doubles from Q1 to Q4. Large bills are\n", "not just bigger — they are **less predictable**.\n", "\n", "A statistician calls this *heteroscedasticity*. It is what makes the scatter fan out to\n", "the right, and it matters if you later fit a regression, because ordinary least squares\n", "assumes it is absent.\n", "\n", "### Stating Finding 2 for the owner\n", "\n", "> A server who turns a $20 table is likely to see about 15% of it. A server who turns a\n", "> $40 table sees about 13% — but that is $5.20 instead of $3.00. **The rate falls;\n", "> the money rises.**\n", "\n", "This is why the choice of outcome in Stage 3 mattered so much." ] }, { "cell_type": "markdown", "id": "c086", "metadata": {}, "source": [ "---\n", "# Stage 6 — Compare Groups\n", "\n", "This is the stage where analyses go wrong. Every group in this dataset differs in average\n", "bill size — so by Finding 2, *every* raw group comparison is partly a restatement of\n", "something we already know.\n", "\n", "## 6.1 Smokers: the first cut" ] }, { "cell_type": "code", "execution_count": 82, "id": "c087", "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", "
countmeanmedian
smoker
No1460.1590.156
Yes880.1630.154
\n", "
" ], "text/plain": [ " count mean median\n", "smoker \n", "No 146 0.159 0.156\n", "Yes 88 0.163 0.154" ] }, "execution_count": 82, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tips.groupby(\"smoker\")[\"tip_pct\"].agg([\"count\", \"mean\", \"median\"]).round(4)" ] }, { "cell_type": "markdown", "id": "c088", "metadata": {}, "source": [ "Smokers 16.3%, non-smokers 15.9%. A gap of 0.4 percentage points.\n", "\n", "If you stopped here you would report \"no real difference between smokers and\n", "non-smokers.\" **That conclusion would be wrong** — not because the means are wrong, but\n", "because the mean is the wrong summary.\n", "\n", "## 6.2 Look at the spread" ] }, { "cell_type": "code", "execution_count": 85, "id": "c089", "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", "
meanstdminmax
smoker
No0.1590.0390.0570.266
Yes0.1630.0870.0360.710
\n", "
" ], "text/plain": [ " mean std min max\n", "smoker \n", "No 0.159 0.039 0.057 0.266\n", "Yes 0.163 0.087 0.036 0.710" ] }, "execution_count": 85, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tips.groupby(\"smoker\")[\"tip_pct\"].agg([\"mean\", \"std\", \"min\", \"max\"]).round(4)" ] }, { "cell_type": "markdown", "id": "c090", "metadata": {}, "source": [ "The standard deviation among smoking-section parties is **more than twice** that of\n", "non-smokers. Same centre, completely different behaviour." ] }, { "cell_type": "code", "execution_count": 86, "id": "c091", "metadata": {}, "outputs": [ { "data": { "image/png": "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x3MNBlwtWbLENClpbkh2Zfb+x48fNwFE+fLl3ZbRgCor0dHR8s4775h8Hm12CQsLk3vuucdZZg0ctPJDpxcpUsT50JwY5QhWTp48aQK9S+XttsxsuwCFBcEK4Ee0lmTx4sXmgqjJnZq8qfkf586du6TX1YRSdezYMbfpR48edZvvoPkc+/btM7UVf//9t1wqDVKCg4NN0OLKszwZ0fwbTajV5TVfRPM/NBHWUXYN9L766iuzjOdDk2gdNVeHDh265M/i7bYEQLAC+CWtGdBePqNGjZKzZ89e8kVWe61owKCBkKtFixaZX/pRUVFpltfmlc2bN0vv3r1NM86lCAoKMsmlK1ascJuuQYc3tPZEk2211sSRpKrJto6aE62J8nxo7ySlzUJaY/T7779nut2zqvXwdlsCYJwVwG/89NNPppeP5j5o1+OkpCR57rnnTLdYfX6pwcLTTz8tjzzyiGl60Z41mzZtkueff16GDRtmah08aTOQNktpM4z2stFeOIGBOa/Mfeqpp0yOyqBBg0y+h+awaG6Oyux1x44dawKRNm3amLJv27bN9DKKiYlx1kZps9ndd99taluuv/56Uxv0yy+/yLp165wBkb6O5uBo05b22omIiJCdO3eaHBhHLx5tgtOAqmXLlia/RAMTR7BzKdsSKPQKOsMXQO44evSo1bdvX6t69eqmF06FChWs7t27W7/88otbb6B69eq5refojfPNN9+4Ta9atar10EMPuU177bXXrJo1a1pFihSxqlSpYnqlOHrLePYGcvj666+tkiVLWgMHDjS9fDLqDeT5/rfeeqvVunXrNO8fGRlpFS9e3MyLi4sz6y5fvjzD7fLhhx9a7dq1Mz15dLtcddVVpgx///23cxktl/aKql+/vumRo72Hmjdvbk2dOtXttXbs2GF17drVCg0NNb1yGjdubL3//vvO+V9++aXVpEkTq0SJEqZc+tky6iWUk22pGjVqZPYjUJgE6D+FPmID4JN0PBkdvv+3334zNUgA/BPD7QPwCdpLRu+9o81K2rSiya/aPVqbhghUAP9GsALAJ2jyqo62O3/+fDP6rCapap6J5noA8G80AwEAAFtjnBUAAGBrBCsAAMDWCFYAAICtEawAAABbI1gBAAC2RrACAABsjWAFAADYGsEKAACwNYIVAABgawQrAABA7Oz/AO2ecMCPENEHAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(5.6, 3.2))\n", "groups = [tips.loc[tips[\"smoker\"] == v, \"tip_pct\"] for v in [\"No\", \"Yes\"]]\n", "bp = ax.boxplot(groups, patch_artist=True, widths=0.5,\n", " medianprops=dict(color=\"white\", lw=2),\n", " flierprops=dict(markersize=4, markeredgecolor=GREY))\n", "for patch, c in zip(bp[\"boxes\"], [BLUE, ORANGE]):\n", " patch.set_facecolor(c); patch.set_edgecolor(c)\n", "ax.set_xticks([1, 2]); ax.set_xticklabels([\"No\", \"Yes\"]) # not boxplot(labels=)\n", "ax.set_xlabel(\"smoking section\"); ax.set_ylabel(\"tip rate\")\n", "ax.set_title(\"Same centre, very different spread\")\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "c092", "metadata": {}, "source": [ "## 6.3 Quantifying the tails" ] }, { "cell_type": "code", "execution_count": 87, "id": "c093", "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", "
under 10%over 25%
smoker
No0.0620.014
Yes0.1930.080
\n", "
" ], "text/plain": [ " under 10% over 25%\n", "smoker \n", "No 0.062 0.014\n", "Yes 0.193 0.080" ] }, "execution_count": 87, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tips.groupby(\"smoker\")[\"tip_pct\"].apply(\n", " lambda s: pd.Series({\"under 10%\": (s < 0.10).mean(),\n", " \"over 25%\": (s > 0.25).mean()})).unstack().round(3)" ] }, { "cell_type": "markdown", "id": "c094", "metadata": {}, "source": [ "> ### Finding 3\n", "> Smoking-section parties are **three times** as likely to tip under 10% (19.3% vs 6.2%)\n", "> and nearly **six times** as likely to tip over 25%. The averages match; the behaviour\n", "> does not.\n", "\n", "**The lesson: compare distributions, not just centres.** Two groups with identical means\n", "can be completely different, and a table of means will never tell you.\n", "\n", "## 6.4 Sex: a raw difference" ] }, { "cell_type": "code", "execution_count": 89, "id": "c095", "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", "
total_billtip_pct
sex
Female18.3000.167
Male20.9110.157
\n", "
" ], "text/plain": [ " total_bill tip_pct\n", "sex \n", "Female 18.300 0.167\n", "Male 20.911 0.157" ] }, "execution_count": 89, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tips.groupby(\"sex\")[[\"total_bill\", \"tip_pct\"]].mean().round(4)" ] }, { "cell_type": "markdown", "id": "c096", "metadata": {}, "source": [ "Women tip 16.7%, men 15.7% — a full percentage point. A tempting headline.\n", "\n", "But look at the **first** column before you write it. Women in this sample pay smaller\n", "bills ($18.30 vs $20.91). And we know from Finding 2 that smaller bills carry higher\n", "tip rates for reasons that have nothing to do with who is paying.\n", "\n", "Two competing explanations:\n", "\n", "```\n", "sex ─────────────────────────────> tip_pct (a real sex effect)\n", "\n", "sex ──> total_bill ──> tip_pct (or just Finding 2 again)\n", "```\n", "\n", "**The fix: compare men and women at the same bill size.** That is what stratification\n", "means.\n", "\n", "## 6.5 Stratifying" ] }, { "cell_type": "code", "execution_count": 90, "id": "c097", "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", "
sexFemaleMale
bill_q
Q10.1870.182
Q20.1750.159
Q30.1520.158
Q40.1370.131
\n", "
" ], "text/plain": [ "sex Female Male\n", "bill_q \n", "Q1 0.187 0.182\n", "Q2 0.175 0.159\n", "Q3 0.152 0.158\n", "Q4 0.137 0.131" ] }, "execution_count": 90, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tips.pivot_table(index=\"bill_q\", columns=\"sex\", values=\"tip_pct\",\n", " aggfunc=\"mean\", observed=True).round(4)" ] }, { "cell_type": "code", "execution_count": 99, "id": "35bac7fe-9617-4c49-81f7-3c86cc2ae52b", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAqwAAAF/CAYAAACMgJssAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAQ6wAAEOsBUJTofAAAVsZJREFUeJzt3Qd4FNXawPE3hN5L6B2lSFGUoqA0ERBEQaUpUkRQkKagVOlVFARR4KIiF0VQBGx0Lyh6FYTPgkIQlY4gvQZCyn7Pe7yz7m42yW6ym8wm/9/zLGFnZmdmZ87OvHPmPWfCHA6HQwAAAACbypLeKwAAAAAkhYAVAAAAtkbACgAAAFsjYAUAAICtEbACAADA1ghYAQAAYGsErAAAALA1AlYAAADYGgErAAAAbI2AFQAAALZGwApbGz9+vISFhcnBgwd9mv6LL74w0y9evDgo80fgt7d+VofpvFI634xAv2/Pnj3dhlWoUEGaNm0qdqDroeuD0OVtH7JfESoIWBFw//nPf8zJ95lnnkkw7uzZs5IlSxYz/uuvv04w/o033jDjXn311UTn/+OPP5rAhyAToUTLq5ZbLb92NXv27Ex1kQAgdBCwIuDuvPNOyZEjh2zevDnBOK05czgcki1bNq/jrWF33323+fvCCy/I1atXpXz58s5p9IQ/YcKEgASs3uaP4MnM21vLq5bbxAJW3S56wZaeCFgzn40bN8qvv/6a3qsBJIuAFQGXM2dOadCggfzyyy9y6tQpt3FbtmyR0qVLyz333GP+7y2gLVasmNSsWdO8z5o1q5mf1roGQ7Dnb0fXr1+Xa9eupcuyM+P2vnjxok/T6XbRCzkgLWXPnt1UMMB3ly5dYnOlAwJWBIXWkGpNqmdQqu81Z0pf3377rVvgtGfPHjlx4oQ0a9Ys0ZxHzfF7/PHHzf91Oh3nLfdPvfPOO3LzzTebQECD5FGjRklcXFyyOZXWsH379snYsWNNbaAe0G+66SZZunSpX9tBv2/r1q2lUKFCznm8+OKLbuvx2GOPSXh4uBw5ciTB56OioqRAgQLSqFEjt+E//PCDdOjQwQT3esKpVKmSjBgxwkzvSreLfpczZ87Ik08+KSVLlpRcuXLJtm3bzEWBbhfPbaK+//5787nnnnvO5+86f/588/10e2uenG7H2NjYNMkZ/uuvv6RHjx5SpEgRyZMnj6nl121vfX9f8kJ1nXRaXUdLfHy8TJ061Uyv2063tW4zXdbhw4cTzMMqi3rhpZ/Jnz+/3HLLLWaeVrnW8muVW9f1SKwce+Pr/veV9d0PHTokX375pXP9vO0r/Y1269bNbGstS40bN5adO3d6ne/KlSulSZMmZjvotLfeequ8+eabPq/X+vXrzbFEv6eWqzJlypjf01dffZUggBg9erRUrVrV/M4KFy4s7du3l127djmn+fPPP818dFtduHDB7fOTJ0823/Xll1/2ab2sY4suS9dp2LBhEhkZGbDyo2VXy7CW5YiICDPs5MmTPm+333//XR588EFz7MiXL5+0bNlSfvrpJ6/Testh1e/yyCOPSNmyZc131O3WsGFDt30XzO9m5bV//vnnZt9UrFjRrIfu37lz53r9Hn/88YeZV6lSpcy66H55+umn5fTp027TaTnQ49ptt91myonOt0qVKqb86F0OV6659P/617+c55OBAwea8UePHjXHVV0/Ha7fp06dOma7IPCyBmGegDnJaLCnt/g7depktogelHbv3m1yW/WHHx0dLd98843z9r8V3FrvvXnqqafMAWbhwoUmANUASd1www1u0+nB5dixY9K7d28pWrSorFq1SqZNm2ZOnHpi94UeePVgNWjQIJN3O2/ePBNc6rLuuOOOZD+/aNEis3w9SesyCxYsKP/9739l5MiRJuBYvny5mU4PshoIL1myxBw0Xel6aw2dayCjJ3E9GevJRA+cxYsXNyejWbNmmfnrdtSaTFdao60Bhq6HnmhKlChhtqV+tzVr1sgDDzzgNr11a1oPxr547bXXzMG7b9++5iTw8ccfm9vfehLRk3sw6fbRgF5P0rrP6tevb8pZ27ZtE5SLlNRG6wXGQw89JPfdd58JADQI0n2rudr6f/2+rjR4+/DDD6VXr17y6KOPmmCqRYsWEhMTY05kuk2tCxDdd/5Kyf5Pjv5GdD89++yz5qTrWg51nOXKlStm3fWkPGnSJHOh8Morr5ggcv/+/SY4sowbN04mTpxoAnX9vwasGzZskD59+ph9NX369CTXaevWrWYfVq9eXZ5//nlTfjVY1mOG/n6sbaj7/6677nLuf71AOHfunCnDeqdHg1sNTjSQeffdd826PvHEE2YfKQ3QNcjU/Tt06NBkt9Xrr78uAwYMkGrVqpnPaXC0bNkyt0aDqSk/+t103fTCRo833333nfz73/+W7du3y44dOyRv3rxJrp9e+Gpwef78efN71GOkXqBqYKnbMDl6cav7TI8TeozQYEy3588//2y2lR7T0uq76fFKLy60zOhxX7ezHrO03Gkga9E0G/1+uXPnNr87rWT47bffzEW0rosuR9dP6XrpOuhvSKfVihXdd3p+0PVbu3Ztgm0yZ84cs0xdDw2EtZzrxbj+rnV79+vXz5SHy5cvy969e815T89PCDAHEATXr1935M2b11G5cmXnsOXLlzu0yP3++++O2NhYR758+RyjR492jn/ooYfM+N9++805bNy4cWbYgQMHnMPefvttM2zLli0JlqvDdFyJEiUcZ8+edQ6Pi4tz3HTTTY6SJUu6Te9t/taw1q1bm89ZDh8+7MiWLZvjkUceSfb7Hz9+3JEzZ05H+/btHfHx8W7jXn75ZTP/L774wrlu5cqVc9tWlubNmzty587tuHjxonl/9epV893q16/vuHbtmtu0H374oZnv4sWLncN69OhhhnXp0iXBepw/f97Mu23btm7Dr1y54sifP7+jSZMmyX5Pa3vrfA4ePOgcrt9Jv7vnfvJ1f1rz1XHJGTNmjJn2lVdecRu+bNkyM9zzMFe+fHmv303XSafVdbToNtPt4WnTpk1m2hkzZrgNt5a3bt26BJ9J7jvpON1fSa2rv/vfX4ltG6XDdf5Tp071up3/9a9/OYd9//33jrCwMMegQYMSzGfAgAGOLFmyOP74448k1+XZZ5818z1x4kSS0z3zzDPmd7lt2za34efOnXOUKVPG0bRpU7fheszR+c6dO9dx8uRJR6lSpcx0p0+fTnI51jzz5MnjqFSpkvM3qXRf1KtXL2DlZ8WKFW7DZ82alWDeienWrZuZdvXq1W7Dp02bZobrPvbcr67DPv74YzOdHq+TEszvZh0TdL/oNnfdzlr2tfzoecRSu3ZtR8WKFR1nzpxxm/f27dsd4eHhjvHjxzuHRUVFuR3XPcvFd999l+A3W7BgQXNMd/XTTz+ZcdOnT09yOyFwSAlAUGguntaA6FWu1rwprfnRWiGt9dJb4ForYtWq6vFMr97LlSsnN954Y6qXr1fOehveojWkzZs3l+PHj5urYF9obZN+zqLrrrekNFUgOXoFr+kOWhuhNRZ6W8p6aa2R0toma926d+9utpXWkFn0yl23z8MPP+ysudJbZFrLpDWuWnPnOl+9Nas1DNZ8XQ0fPjzBrXGtcejSpYusW7fO1EZb3n//fVNr5WvtqtLaEteGVPqdtCbZui0cTDp/rb3W23+u9LtVrlw5VfPWbabbVGmNk9Za6bauXbu22X5aM+RJa/juvfdeCYaU7v9A0f2qvwtXWsukXH8XesdAf9Nak+m6jvrS2nzdlvpdkqL7VK1YscLUTnujy9BaU61J1eOK63K0BkxvhWsNq+utXq351zQFvS2sNYN650fvdvhS+6gNlLSWWcuaa22y1v55bpeUlh+9Pa3pHq769+9vtkdyvyVdxkcffWRqpbUG0ZXe2UqudtZ1u2tNo65vYtLiu+l2ttbH2s5aC259T6VtJbSGVX/vOty1DGj6h55PXH8TWtNvHde1XGnPNTqtVY69rbfW3OtdKVdWja0eo/U3ieAjYEXQWLf2rZb/Vv6qRW876W0gDSD1lqYGdkmlA/hDD1SerBOSLic18/Dl85oDpjQ41Vuqri+9daT0FpPFuuXv2qWQ3irTA7BrOoA1Xz2Qe85X88w0h9F1vq4nCm/0lqHmsOptPIveStXvqYGyr/QEmdgwvVUbTJp2oCclvTXry3r5S0+MeotVT3R6EWRtb71VqSc7X7d1IKR0/weK3lbXXL3kflfWemrw7rmeGkSq5NZTb7vXrVvXpD3odteAYsqUKXLgwAHnNFZgoukDnsvRl5ZrLd+ueYx6say3ljVtQo8/mq6gOZW+0LQHZf2GXVnpSaktP97KrJZtDciT+y1p8K0XMt7mofvNlxQZvfDRC35NUdL1vP32202QqG0O0vq7+XJcscqa3tL3Vga0BwTXsqblQVMZrHx7Lb86nXVu8vU3rRfoWnY2bdpkfhda1jX41vcIDnJYkSYBq+ZQag2M1vRZ9AChV7jaH6t10AlUwKonpcT8fXcq5fPw5fMaaCptpJBYF056kLPoAVtrpD/44APTB62eAPSEoY0hXBuhWfPVE7fmanrjWrNssWpCPNWrV8/k97311lsmb1H3g56YhgwZkmFbDifWQ4FnAzGlubjaeEUDJ80R1TsAum+UVaPj67YOhJTu/0Dx9Xdlrednn32WaDnydkHoSvMftbZLc1a1NlZrSrV2VF+ab9u5c2fncjTIGjNmTKLzcs3DVZrXqDWlKpj94qak/NiBHg80b1jvvujxWQN/XX+9eLD6yLbLd7OWo+vmmYtvsdZLac26dt+mNb16PrIaLupdJq0c8Oc3rTnMmo+r20nLp9YSa1uHdu3ayerVqzNVbyhpgYAVQaO3hvSkozWr1q1/1+BLAyVtBKUBrT8BaygcBKwrcg0eNFj3hR4s9RaqHuisRgPacM31+1rz1ZoBX+ebHK1l1dv/WjOgB17lTzqA1cNDYsMCkeKRFKt2RhuBeNayelsvLZPealGs2jNXWsut21rTVVxPWhrsaEMUfwSi3AZj/wfjt6XrqY3DtPW4/s5TSm/dauqQvqw0GZ2fBhoasGogqreMdV/4uj20xk0byejxSY9H2mhMGw1qjW5yrCBbG9ZoOoEr6xiW2vLjrcxq2bbuJCRFgy9NVfA2D01R0nn4kvpg1SLrS1MdNKWiTZs2poW+XszqhXRafDedXoM/b/Owpnet/fSlDOh6a+WAppq4so59/tJjtR5D9aUXvVYjWt0udnlKXUZBSgCCV7iyZDG5YtrFid5m1h+2tji1WHmsGijpLT098Gi3KMmx8rC8BR12oT0j6MFcr8C95czqCcCzLz/9jHb1omkBVrcunt0ctWrVyrQKf+mll7zmTekB09/tot3X6ElOT0Zac6W1VZqr6w/NI9QukSxaS6G36JS2Ig4mnb/mz2nNhivNS9Sg35N+Nw04XPN2dX1nzpyZYFoto7ofPGtdtIW8vzVIgSi3wdj/nusYiN+VdnulNI/ZW/6p3jLWXkKS4tmHs5VHrt/fSj/QY4zmT2sLdg1EvHG9HaxBm/7OdJ/q3YwZM2aYW9pa66YtxJOj6QwanGlZc/396nfRwDcQ5UfvRFk9GLj2TKBlPLnfkm4PDfA0qLNyPC1aq+hL/r7uf8910xpK61a8te3T4rvpdnbNo9XtrL9T63sqvfCoVauWqRX2dtGgNf+uZUnX2/MumZZR63jlKy3DnmVb00w0NcCf1DP4jhpWBJXWmGqNoV5tauK6J70C1T4MlXYB5Au9ja0HLL0tqlfyGuRpIKy5Vnahgbd2raW5YBog6XfX2hk9GWiwpN1V6QnF9QpcgwXNG9XgT0+KGji6BvhKh2tQqQdrzcHS21FaC6InT62l0Plqd0G+9udpLVdP+toFTEpqV5Wui25/rbnSGkz9blpzrrcGXWvVg0GDDc1J1Jof7bJGy4eesPU2pp7INJhxpd3i6PRaNrVWRE9eGrx4q13s2LGjOcHqhZduU51WG3Do/LX7J3/oCV8vDPQkrPtRawa1RsyfNBh/97/2oaplSNffW7dLnrS7Nj3x6+11nb/+zu6//37zG/OH3ibWbof0yWba369eFGl3QJpjqftDbyfrNvTs/9OVlkO92NUgUafTYFxTDLTLMtfaUD0OaNqAfmctd1p7puurn9Vb/xpsWXd4Bg8ebMrIe++952yQpxc2GvRoIKv9D7s2pvKk+0wDG52PpmTo79rq1spqyONajlJSfrTM6rR6Ea/7QPNs9QJWL+h96RdZt7vWbuv3sbpb0m6tPvnkE3M3wlvqiytNRdJb/NpoS6fXMvd///d/Jr1JgzHdVmn13fTiRH/Pehy1trOui3Z3ZdWw6vbWY6b+jrT2Xeevy9FgUsu/lgndT1b/uLreeqzTlAAtW3pM1hpR17QBX2iZ0m6uNC1Cj/FaNvS7L1iwwPlwHARYAHscABLYs2ePszsTb9357Nixwzn+gw8+SDDeWzdISrvu0W6qtDsb1+6Akuo6KKkurJIbllgXMMnRrnY6dOjgKF68uFlX/dugQQPHpEmTEnTB4rr+yXXpFBkZab6zdvui842IiHDUqVPHMXLkSNP9lme3VsmxumgpXLhwgu6SkuK6vV9//XVH1apVHdmzZ3eULVvWdDel3Zu5Cka3VurPP/90PPbYY45ChQo5cuXK5WjYsKFj8+bNiX7/pUuXOstP6dKlzXbbu3ev166D3nrrLUfNmjVNN2VFixZ1PProo44jR4547QLKW9dUrtasWeO49dZbHTly5DDTun7el26t/N3/u3btMvPVdfbFX3/9ZbqX0+2o3VK57qukyn5i33v9+vWONm3aOIoUKWLWU7uQatasmWPmzJmmi66krFy50tGuXTtTlnR76Tppl0YLFixI0C2RdlWk3W3dcsstZv9r11M33nijo2vXro4NGza4db/Vu3fvBMv69NNPzfft3LmzT9tJjz81atQwZV2/03PPPWe6UNL5v/jii6kuP1p2tQzrd9HvrV1VJde9l6tff/3VbDvtOlC7F2zRooXjhx9+8LoPPYfpdD179jTd7OlndVtWq1bNdPvk2lVgML+bdUzQLrImTpzoqFChgik/uk6zZ8/2+p11uf379zddjul+0a6oatWq5Rg8eLBj9+7dbmVl+PDhZh11Op23/m70N+X5+0/qOLR//35H3759HdWrVzfdAOr30TI3cOBAsy4IPAJWAM6DtfZ9mZH4GrBnVNo3rZ7oNYBBcOkFty/9lyYluQueUObPd0uqr21kXuSwAjAtf/XWWkrSAWBfemtYn1YUzK62MhvNg/XMgdTcSs0r1v6ng50CA2RW5LACmZS25v30009Nq2l91K3mz3rrXxKhHbAisLSbJ+1vU3MgNbdWH0aiuZWam669emheMoDAI2AFMiltOauNYbSBinbRYzW6ApA4bTypDcm0cZL+hrRleI0aNUwjP20EByA4wjQvIEjzBgAAAFKNHFYAAADYGgErAAAAbI2A1U/a6fLRo0eT7XwZAAAAgUHA6id9HKI+HtDbYxHhu7i4ODl9+rT5C/iL8oPUoPyA8hN6CFgBAABgawSsAAAAsDUCVgAAANgaASsAAABsjYAVAAAAtkbACgAAAFsjYAUAAICtEbACAADA1ghYAQAAYGsErAAAALA1AlYAAADYGgErAAAAbI2AFQAAALZGwAoAAABbI2AFACAEjR8/XsLCwhK8atasKXah6/Pyyy+n92pk+DJQunRpiY+PTzD+zjvvNON79uzp8zwPHjxoPvPhhx+KnWRN7xUAAMAOaoyMTJfl7p52U4o/mytXLtm8ebPbsNy5cwdgrTKn0/3q+TztuQAuN2L+jhR/Nlu2bHL69GnZunWrNG3a1Dn80KFD8u2330revHklIyBgBQAgRGXJkkXuuOOO9F4NpKPs2bPLPffcI8uWLXMLWJcvXy41atSQ8PDwDLF/SAkAACADWrNmjdx+++2mFrZo0aLSr18/uXLlinP8F198YW79btiwQTp16mRq4sqVKyfvvfeeGf/qq6+a94ULF5bevXtLdHS087PHjx+XXr16SaVKlcz8K1euLKNGjXKbJqXrBf898sgj5hZ+TEyMc5jux0cffdRtur1790qXLl2kbNmypia+evXqMnPmTK/pBJ4WL14sN998s+TMmdOkIIwePVri4uLSbHcRsAIAEMJiY2PdXg6HwwQvDzzwgNSqVUtWr14tM2bMkFWrVskTTzyR4PMaMGreq06ntbXdunWT4cOHm0B2wYIFMnHiRFmyZIkJbCx6C1oD2VmzZsn69etl2LBh8u9//1v69u2b5Lr6s17w3f33328uFjZu3Gje79mzR3bt2mWCU1fHjh2TqlWryrx582Tt2rXy5JNPmv07adKkJOev+1kvWlq1aiWffvqpKR96QaNBa1ohJQAAgBClNZOaw+hKg8sxY8ZI586d5c0333QOL1mypLRp08aM01vFlo4dO8rYsWPN/+vXr28CSL29/McffzjnrbWxK1asMLWoSgNO18ZU2rgnT5480qNHD3n99de95tFqIP3cc8/5vF7wXe7cuaVdu3YmDeC+++4z+69BgwZSsWJFt+maN29uXtb+uOuuuyQqKkpee+01GTdunNd5X7p0yYzTi5KpU6eaYS1atDCpCEOGDJHnn39eihQpEvTdRQ0rAAAhSm+r79ixw+1VpUoV0+BGb/O71rw2adLE5Lzu3LnTbR4afFgKFCggxYoVk8aNG7sFwjrPI0eOON9rsDN79mxzS1nXQaft2rWrWc7+/fu9ruu+ffv8Wi/4nxbw8ccfy9WrV03gqu89Xbt2zQSfN954o+TIkcPsN60l1RSPy5cve53vN998Y8bphY3rftO8WV3WL7/8kia7ihpWAABClAZ6devWdRv23//+1/x98MEHvX7GNfBUBQsWdHuvNWfehmmwY9FgVWtLtdatWbNmUqhQIRMs9+/f3206V5pG4M96wT+tWrUyAajWlh84cMBcGHjSW/lvvPGGCVrr1Klj9rMGuZMnTzb7zVuPAtZ+u+2229J1vxGwAgCQgWhuqdLbvNq4yVOpUqVSvQxND9Bc1GnTpjmHad5keq9XZpYtWzZ5+OGHTb6p3vYvXry41/321FNPmcDVtRGcL/tNU0W0sZYnz7SDYCFgBQAgA6lWrZqUKVPG3JrXGs9g0FvBWuvqaunSpem+Xpld79695eTJk9KnTx+f9pu28tf0gaRoLqzmyB49ejTR2vG0QMAKAEAGol1VaS2bdmmkjbK0EY42iNL8Ua1N04YzmpOaGpr3OmfOHFNbqvN699135ffff0/39crs6tevLx999FGS+01TAjT3OCIiwvQWkFxXZJo2oD0JaPqHBq3a16v27aoXHppOsHLlyjR5WAUBKwAAqXzilN1oAxkNNKZMmWKCSVWhQgW59957vd4q9pfmSZ46dcrZu0CHDh1MN0favVJ6rldaPHFKayXPnTtn8nZDrVP+uXPnmq7HBg4caIJMfWSr1pomViNrGTp0qOl7VS84dB6afnDDDTdI27ZtE9S0B0uYQ5v6wWd6daE5HJpkrLc2kDKh/INH+qP8gPIDjj+ZC91aAQAAwNYIWAEAAGBrBKwAAACwNQJWAAAA2BoBKwAAAGyNgBUAAAC2RsAKAAAAWyNgBQAAgK3ZImBdsWKFtGvXznTEr49pq127tixatEg8n2nw1ltvmce25cyZU2655Rb57LPP3MZfvnzZPPKtQIECZh47drg/sSImJsY8y3j16tVp8r0AAACQQQJWfdSXPiJs5syZ8umnn0rr1q3NY8L02bWW5cuXm2GdO3eWdevWSYMGDczjxLZt2+acRp9DvGfPHvnggw/kpptukk6dOpkg1TJ79mzzlCr9HAAAAEKDLR7Nevr0aYmIiHAb9uSTT8r7779vHt+ZJUsWqVq1qtSpU0fee+895zQNGzY0zyReu3ateV+vXj0ZNmyYeVbxX3/9JSVKlJDdu3dL9erV5cSJE1KjRg356quvzPuU4tGsgcGjNUH5QXrh+APKT+ixRQ2rZ7Cqbr31Vrl48aJcuXJF9u/fL/v27TM1pq66dOki//nPfyQ6Otq817+5cuUy/9caW2uYGj58uHTv3j1VwSoAAADSXlaxqa+//lpKly4t+fLlM7WiSvNPXelt/+vXr8uBAwfMOK1hfeONN0y6wPz5800uq+a8atrAhg0b5Ndff/V7PTRo1pfl+PHjzit0fSFldNvFx8cHZRuOeWGUT9NNmjw14MtG6JcfZHyUH1B+7CE8PDy0A1YNVjVnVXNalaYFKL3976pQoULm79mzZ83fsWPHSsuWLU2Nbfbs2U3DLa1pHTRokEyZMsUEsCnJr50wYUKC4RcuXDANxELVjBen+TTdsOEjg3bC0EZympHiT4H1RWxsrNv7Y8eOmr+lS5dxG26VK4SeYJYfZHyUH1B+7MHbHfaQCVg1R1QbVjVr1swEmv4oX768aXSlKQSav6q1s9qzgJ7UevXqJdu3b5f+/fub8Y0aNZI333xTihYtmuQ8hwwZIr1793arYa1fv74Jfq2AORRlzeq+6w8fPmT+litX3m14sL6jnjDCwsLMRUigA45p02d4rXGlRjXjCGb5QcZH+QHlJ/TYKmA9f/686SGgSJEisnLlStPYyjVo0lpNDUQ9a8gKFy7sHKYnr8qVKzunHz16tHz00Uemt4CHH35YBg8eLE8//bR07drVBMTLli1Lcp3y589vXp50OaF8opw67UW396NHjTB/p0ydnmbroPs3LbajBjYqlPcX0q/8IGOi/IDyE1ps0ehKXb16Vdq2bWuCTO22yvX2vZW7unfvXrfP6Hu99V+pUiWv8xw/fry0atVK7rjjDjPtsWPHpF+/fuZWvtaabtq0KcjfCgAAABkiYNWcQ+0BIDIyUtavX28aW7nSgFQbT+kDBlxpt1fNmzc3QasnndeSJUvkxRfdaxKjoqLMX+19wAY9egEAACAUUgL0Fr0+tUobWWmLfNeHAWj3Vjly5DC1pXob/4YbbjD5rRqsak7q1q1bvc5Tb/2PGDHCmUKg/biWKlXK5KRq91bTpk0zwS4AAADszRYB68aNG83foUOHJhinXVZVqFBBHnnkEVM7On36dPPSAFQfsapdWHnS4YcOHZJnnnnGOUyDXq2h1eBYc1m10dWcOXOC/M0AAACQIQLWgwcP+jTdE088YV7J0Uevenv8qj4Z68cff0zROgIAACAT57ACAAAAiSFgBQAAgK0RsAIAAMDWCFgBAABgawSsAAAAsDUCVgAAANiaLbq1QuJqjIxMk81T7nBUmi5PfTm0aJotCwAAhC5qWAEAAGBr1LACSJHRo0b4NN2UqdPZwgCAVKGGFUBAHDp00LwAAAg0algBpIhnzalV40qNKgAg0KhhBQAAgK1Rw4r0M6a1nEuDxcScLWL+nu5XLw2WJhIxf0eaLAcAgMyCGlYAAADYGgErAAAAbI2AFQAAALZGwAoAAABbI2AFAACArRGwAgAAwNbo1iqTKnd4vtv7HNEnvA4/XK5fmq4XAACAJwJWGNE5SrAlMqAaIyPTbFnlDkel6TK/HFo0TZYDAEh/BKyZFDWnAAAgVJDDCgAAAFsjYAUAAICtEbACAADA1ghYAQAAYGsErAAAALA1AlYAAADYGgErAAAAbI1+WAHAxehRI3zaHlOmTme7AUAaIWAFgCQcOnTQ/C1fvgLbCT7hogcIPAJWAClS7vB8t/c5ok94HR5qT1XzrDm1gg9qVJFSXPQAqUfAigxnxtkibu+PxWbzOnxY4TNpul4ZXXSOEum9CoAtcNEDBB4BKzK80llj0nsVMqRQqzkFAIQuAlZkONScAgCQsdCtFQAAAGyNGlYAQJqjJT2ANAtYIyMjZefOnXLkyBHp1auXlChRQn7//XcpXry45MuXLzWzBgBkIrSkBxDwgDUqKkp69+4tH3zwgYSFhUl8fLzce++9JmAdOXKkVKxYUWbMmJGSWQMAMgFa0gMIesD63HPPyebNm2Xt2rXSqFEjyZMnj3NcmzZt5JVXXiFgBRBcY1rLuTTYxjH/6w7tdL96klYi5u9Is2UBQIYNWD/88EN56aWXpGXLlhIXF+c2rkKFCnLw4N9PhgEAIDNf8KTHRQ8XPMiIUtRLwOXLl6VkyZJex125ciW16wQAAACkLmC9+eabZeXKlV7HrVmzRurWrZuS2QIAAACBSQkYM2aMtGvXzjS+6tixo2l49d1338myZctk0aJFJrcVAAAASLca1vvuu0+WL18uX3/9tbRv314cDoc8/fTT8v7778vSpUulefPmfs9Tu8Pq27ev1K5dW7JmzSo1a9ZMME3Tpk1NcOz52rt3r1u6wqOPPioFChQw89qxw73xQkxMjFSrVk1Wr16dkq8OAACAUOmHtUOHDua1b98+OX36tBQuXNgEgim1e/duk05w++23m26y9OXNnXfeKS+//HKChl6WqVOnyp49e0yXW4sXL5ZOnTqZdcyWLZsZP3v2bClbtqw8+OCDKV5XAAAA2DxgnThxoumHtVSpUlKlShXzshw/flzeeOMNGTt2rF/zvP/++02agerZs6d5IIE3BQsWlDvuuCPR+WzatElGjx4trVq1MjWs2jfsb7/9JtWrV5cTJ07I9OnT5auvvvJr3QBkHjP+16Lbciw2m9fhwwqfSdP1AoDMLEUB64QJE8yDAjRg9fTnn3+a8f4GrFmypCg7IYHo6GjJlSuX+X/u3Lmdw9Tw4cOle/fuJngFAF+UzhrDhoJfuOgBbBKwas6q5o56ozWsWgsaLF9++aV5UIH2/6rpA5MmTZLGjRs7x9erV8/U8DZo0EDmz59vclm1Bnjbtm2yYcMG+fXXX/1a3sWLF83L9fspXb5nH7SAVTYQuuxQc2qXMnTzC/vSbFnlDkeZvzVGRqbJ8r6UjHvRY5fyk1Hp9tW0RbZz6oWHhwc+YNUeAPSlNFgdOnRogsD02rVr5la+5pkGQ5MmTUwNaeXKlU1Nruay3nPPPSaI1QBVac2uPtAgIiJCsmfPbnot0JrWQYMGyZQpU0wA649Zs2aZGmNPFy5ccHvCF2A5dy6tuiNHRkUZCm3pfdFD+QkuDVS1gbdW3vkTcCEhjdUCHrBev35dLl26ZP6vO0kfEOC5ozRA1IBy2LBhEgyegWPbtm2lRo0appbV6kqrfPnyptHV/v37Tf5qvnz55K233jLr3KtXL9m+fbv079/fjNfHyr755ptStGjRRJc5ZMgQk6/rWsNav359E/gWKlRIgu9UGiwDgZQ25cJXlJ9QZJ8yRPkJRfYpPxk3YNWKO620I2BNOz4HrD169DAv1axZM3O7PTW9AgSC1nBqF1v6qFhXWoC0FtaqCdVGWB999JHp0urhhx+WwYMHm264unbtamperZpjb/Lnz29ennQZFFR4Q7lAalGGQPlJ2uhRI3zaRFOmTg9KYdJ2N8QBIZDDumXLFgkV48ePNz0GaM8Cu3btkmPHjkm/fv1MsKs1p9ojAQAACF2HDh00f8uX/6ebS2QsKe6HVROON2/ebPo41dxVV1pV/uyzz0qwaVrCZ599ZhpaeRMZGSlLliwxfby60id05c2b13xeUwUAAEDo8Kw5tWpcg1WjihANWLU/U20Apf2banBqBX2uPQf4G7BqEGnloR46dMi0zLdu9euy9GlWL730kunwXx8UoI2uZs6cadZlxYoVXuept/5HjBhhcllV1apVTVdcmpequbbTpk1L0VO5AAAAYPOAVQM+bdmlNaz61ChtyFS8eHF59913TY2mPrHKXydPnpSOHTu6DbPeawpCmTJlTMOvUaNGyZkzZ8wt/YYNG8qCBQtMIyhP+uhVDXyfeeYZ57AcOXKY4FbzVzWXVRtdzZkzJyWbAAAAAHYOWLdu3SqvvvqqlCxZ0rzXGtZy5cqZYFL/P2DAAFm3bp1f89Ra0+Ruz69fv97n+WlNrLfHr2qQ++OPP/q1bgAAAAixgFVb3mtXUNpKTlvQa+2oRftD1cefAgCQmHKH57u9zxF9wuvww+X6sREBSIqeh1qxYkXnE5+0H9R33nnH7VZ84cKF2bQAAJ9F5yhhXgAQsBrWNm3ayMaNG6VTp07ywgsvSLt27aRYsWKSLVs20wjqxRdfTMlsAQCZBDWnAIIesLre8m/durV88803pmb16tWr0qJFCzMMAAAASJeAVftcnTdvnrRs2VJq1qxphtWtW9e8AAAAELpP8cowOaw5c+Y0aQDatRQAAACC+xSvQ/97kldmlqKUgNq1a8uePXtMh/4AAAAIDJ7iFcCAVTvb79q1q+naShtg5c6dOyWzAQAAGViNkZFpspxyh6PSdHlfDi2aJstBKgPWu+++2zx1qnPnzua9Bqyuj2XV/2tfrQAAAEC6BKxDhw51C1ABAAAAWwWs48ePD/yaAAAAAIF60hUAAACQVghYAQAAYGsErAAAAMh4OawAAACZ1pjWci6NFhVztoj5e7pfvTRZXsT8HWJH1LACAAAg49awal+rP//8sxw/flxKliwptWrVkgIFCgRu7QAAAJDppShgjY+PlxdeeEHmzp0rV65ccQ7PkyePDBgwQCZPnizh4eGZfuMCAAAgnQLW559/3gSrI0eOlA4dOkjx4sXlr7/+khUrVsj06dPNU7BmzpwZgNUDAABAZpeigHXx4sUyadIkGT58uHNYsWLFTEpArly55OWXXyZgBQAAQVHu8Hy39zmiT3gdfrhcP/ZAZg5Y4+Li5LbbbvM6rk6dOmY8AABAWojOUYINncGlKGDVNIDly5dLixYtEozT4Q899FAg1g0AACABak4znxQFrI0bN5bRo0dLs2bNpH379iYd4OTJk7J69Wr5448/ZMqUKbJq1Srn9ASwAAAAyZvxv35XLcdis3kdPqzwmUy1OVMUsPbs2dP8PXbsmHz55ZeJjldhYWGkCAAAAKRA6awxbLeUBqwHDhxg4wEAAARYZqs5DWrAWr58+ZR8DAAAAAhewHr27FkpWLCgZMmSxfw/OYULF/Z/bQAAAICUBqxFixaVb7/9VurXry8REREmNzUpdG0FAACANA1YFy1aJDfccIPz/8kFrAAAAECaBqw9evTw2gsAAAAAEExZUvKhSpUqyU8//eR13C+//GLGAwAAAOkWsB48eFCio6O9jouKipIjR46kdr0AAAAA/1ICrl27ZoJRh8Nh3l+8eDFBbwE6zUcffSSlSpXydbYAAABAYALWF198USZOnGj+rw2uWrVqlei048eP93W2AAAAQGAC1vbt20uFChVMDWuvXr3khRdecPYaYMmePbvcdNNNUrt2bV9nCwAAAAQmYL3lllvMy6phbdu2rRQpUsTXjwMAAABp92hW1y6uAAAAANv1EgAAAACkFQJWAAAA2BoBKwAAAGyNgBUAAAAZr9GVq5MnT5oHBngqV65camcNAAAApCxgPXPmjAwcOFBWrVolMTExbuO0n1bt9iouLo7NCwAAgPQJWHv37i1ffvmljBw5UqpXr24eGAAAAADYJmDdsmWLvPrqq9K9e/fArxEAAACQ2kZXBQsWlIiICAmk33//Xfr27Wse65o1a1apWbOm1+neeustqVKliuTMmdM8eeuzzz5zG3/58mV59NFHpUCBAmZeO3bscBuvKQzVqlWT1atXB3T9AQAAYKOAddiwYTJ37lyJjY0N2Irs3r1b1qxZIzfeeKNJM/Bm+fLl0qdPH+ncubOsW7dOGjRoIA8++KBs27bNOc3UqVNlz5498sEHH8hNN90knTp1csuznT17tpQtW9Z8DgAAABk0JSAyMtIEhTfccIM0adLE1Li60kZXc+bM8Wue999/v7Rr1878v2fPnrJz584E04wbN066dOkikyZNMu+bNWsmu3btkokTJ8ratWvNsE2bNsno0aOlVatWpoa1RIkS8ttvv5kg+MSJEzJ9+nT56quvUvK1AQAAECoBq96Gz5Ll78pZb8FfSgJWa36J2b9/v+zbt09efPFFt+EawD7//PMSHR0tOXLkMH9z5cplxuXOndv81WFq+PDhJu82sRpcAAAAZJCA9cCBA5LW9u7da/5q/qkrve1//fp1s046rl69evLGG2+YdIH58+ebXFbNedW0gQ0bNsivv/7q13IvXrxoXpbjx4+bv9ptF113wRvKBVKLMgTKDzLD8Sc8PDztHhyQVs6dO2f+eqYfFCpUyPw9e/as+Tt27Fhp2bKlaRSm3W0tWrTI1LQOGjRIpkyZYgJYf8yaNUsmTJiQYPiFCxckT548qfhGyKissgpQhsAxCKHmXBqew/xpwJ81tS379Ta9tyddPfTQQ5Ieypcvb/JrNYVA81fz5ctnehbQBxr06tVLtm/fLv379zfjGzVqJG+++aYULVo00fkNGTLE9DvrWsNav359E/hawXJwnUqDZSCQ0qZc+IryE4rsU4YoP6HIPuVHUYZCTSFblZ9UBqx6i1xb2X/xxRfmvQaDVu5qsKqUrQ2oNZsaiHpeCRQuXNitirly5crO6bUR1kcffWR6C3j44Ydl8ODB8vTTT0vXrl1NzeuyZcsSXW7+/PnNy5Muw5+qbGQelAtQhsAxCKEq3KaxTYq6tdLGS9riXhtcabCqfZpq8PrEE09IxYoV3bqZChQrd9XKZbXoe731X6lSJa+fGz9+vOkx4I477jDTHjt2TPr162du52vNqfYqAAAAAPtKUcC6fv16U2t5++23m/elSpWSxo0by8KFC03XVDNnzgz0epqAVBtPrVixwm34+++/L82bN/f6eFjtfmvJkiUJehaIiooyf69cueKsHQYAAIBknJSAkydPms73tdpYayrPnDnjHNemTRtz291fGkRafakeOnTIpB18+OGH5r329ap5plpbqrfxtf9X7YNVg1XNSd26davXeeqt/xEjRjhTCKpWrWqCa81L1e6tpk2bZoJdAAAAZLCAVYPV06dPm/9rrugnn3wi9957r3n/7bffmsempiQI7tixo9sw6/2WLVukadOm8sgjj5jAVjv/15cGoJqOoF1YedLhGvg+88wzzmHaT6vW0Gr+qgbV2ujK3/5iAQAAEAIBa4sWLeTzzz83Da+effZZ6dGjh6np1Nvy3333nQwdOtTveVaoUMGn2/OaJ6uv5Oi6eXv8asOGDeXHH3/0e/0AAAAQQgGr5oRaeaDdunWTvHnzmtv3V69elddee02eeuqpQK8nAAAAMqkUBazaEb/12NOkajMBAACA1ErVgwO0Ff7OnTvlyJEjplN+bdykDxMoXry46bAfAAAASJeAVdMBtA/TDz74wDwsID4+3jS60oB15MiRpi/WGTNmpHrlAAAAgBT1w/rcc8/J5s2bTTdU2v2Ua2Mp7dZK+2kFAAAA0q2GVRtYvfTSS9KyZcsEj2DV1v4HDx4MyMoBAAAAKaphvXz5spQsWdLrOH16FAAAAJCuAevNN98sK1eu9DpuzZo1Urdu3dSuFwAAAJDylIAxY8ZIu3btTOMrfRqVNrzSBwYsW7ZMFi1a5HzEKgAAAJAuNaz33XefLF++XL7++mtp3769aXSljzt9//33ZenSpdK8efNUrxgAAACQqn5YO3ToYF779u2T06dPS+HChaVatWpsVQAAANjnwQGqSpUq5gUAAADYKmDVp1t99NFH5u+1a9fcxmlO65w5cwKxfgAAAMjkUhSw6hOuunXrZp5wVaxYMcmePbvbeAJWAAAApGvAOmrUKNPYauHChVKgQIGArQwAAAAQkF4CTp06JU8++STBKgAAAOwZsN57772ybdu2wK8NAAAAEIiUgAULFkjnzp3NgwO0z9WCBQsmmOa2225LyawBAACA1Aesly5dMsHqtGnTZPr06W7j9CEC2ugqLi4uJbMGAAAAUh+wdu/eXQ4fPixz5841fbB69hIAAAAApGvA+t1338l7771negoAAAAAbNfoqnLlyhIbGxv4tQEAAAACEbDOmjVLpkyZInv37k3JxwEAAIDgpgQ888wzcuLECalZs6aU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hT5R7Mcff5TDhw9L3rx5E9wyKVeunNSrV8/UaLjq2bOnuY3yyy+/sGcysZSWH8v8+fPl6aefNg8K0dt4yFxSW35WrVolDz/8sBw4cEAqVKiQRmuNUC9DLVq0kFtuuUXatm0rzZo1kx07dkjdunXTYe0zJlICEHB6O0SfRKY/WM8futJhOu7rr7+WuLg49gACXn50XOnSpQlWM6GUlh/9/7Vr1+T777836SQPPPAAwWomlZIypOkCP//8s4wdOzYd1jhzIGBFwJ0+fVqio6PNFWhidFxUVJTJHwMCWX70JLJ8+fJEc8yQsaW0/JQvX15y5colderUkZIlS8p7772XRmuMUC9D+ldzn6dOnSr58+dP03XNTAhYka60JSUQqPJz9OhR6dy5s6n9GDRoEBsWPpcf7S1Aa9XeeOMNiYyMlPvvv587QPDpGDR58mQpXry4PP7442yxIMoazJkjc4qIiDDdw2juT2J0nE6j0wKBKD/nz583PQQUKVJEVq5cKVmycD2eGaW0/Nx8883mb4MGDUxuonaPtnr1aunQoUOarDdCswxduXLF9FCiZcXqCk1zXK2/+vKWVgD/EbAi4LQvVe2r7osvvjA/Zu0b05UO03GNGjVi6yMg5efq1aumoYOeML799lspUKAAWzaTCsTxR4PXbNmymT6ikfn4U4a0Yd7169flvvvuSzAfvdOjXaZt27YtDdc+46IKAkExePBgk9ujV56edJiOe+qpp9j6SHX50QYSnTp1Mrdx169fbxpbIXNL7fFn+/btEhMTYx4igMzJ1zKkNfFbtmxxe73yyitmOu3bd968eemw9hkTNawICm1hO2DAABk/frwcOXLE2Qm33qrVHLEePXo4b7Vpwrrmj6lDhw6Zroi0xaWynkCDzMWf8qPdV3322WfmJKJlx7U249ZbbzW37ZC5+FN+HnroIdP1kNaqaqOrn376SV566SXzvn379un8TRAKZahp06Ze56EN+G677bY0Xe8MLb07gkXG9s477zgaNGhgOlPW4qavKVOmOOLj453THDhwwDnO87Vly5Z0XX/Yv/yUL18+0fKjZQuZly/lZ9q0aY7atWs78uXLZ6bTB5eMGTPGceHChXRdd4ROGfKk5y0eHBB4PDgAaebkyZOmJkMfbac1YponBFB+wPEHoYBzWPoihxVpplixYqYl5Zdffin9+vVjy4Py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56dBnWtweuONN8ott9yS4vSCBx98UIoXLy7h4eGSLVs2+fXXXxPUsKr77rtPAiEqKkr++9//mlSCuLg4iY2NNS9tpKVBfkpriwFkLgSsAOCnokWLJhimQaCmCgSSzq9YsWJel+WvS5cumfSCQ4cOyaxZs+Srr74ywaIGv5p64Cp37twmjzUQzp07ZwLVZ5991gTIrq/Dhw/LkSNHArIcABkbKQEA4KdTp04lGKZ5pr7mdPpK5/f99997XVb+/Pmd77VhlOadegaKnnmkR48elc8++8ythvbChQtSpkwZt2mt2/aBULBgQTO/UaNGmcZiniIiIgK2LAAZFzWsAOAnDfI2b97s9v7zzz+X22+/PaDbsn79+vLLL7/I77//7hym///pp5/cptOAU4PRy5cvO4dt3LjRa9dU2bNndw775ptvTEMsX1if86yNTY72CqC9DWg6guaxer60NwUASA4BKwD4SbuFeuKJJ0w3UZ988om0bt1aHA6HPPPMMwHdltpdVYkSJaRt27amkZe+7r//fjPM1UMPPWQCyV69esmmTZtk9uzZMnfuXLdptKGU3ubv37+/CWbffvtt6dKli5QuXdqnddFlam3psmXLTE7qzp07E9TqJuall16SNWvWmEZc+kCFL774Qt59913p0aOH+T8AJIeAFQBScKv+tddeM11MaWMiDRY3bNiQotzSpOTKlcsEl5rHql1MDR8+XIYNGyb16tVzm06fPKX9s/7www+mqyhteb906VK3aXTdNODVrrd0Gg1q//Wvf5lGXL7IkiWLCXIPHDggzZs3N+ugPRj4omHDhvL111+bGuDHH3/c9AowceJEkyvr6/IBZG5hDq0WAACEDM0F1QcDUDsJILOghhUAAAC2RsAKAAAAWyMlAAAAALZGDSsAAABsjYAVAAAAtkbACgAAAFsjYAUAAICtEbACAADA1ghYAQAAYGsErAAAALA1AlYAAADYGgErAAAAxM7+H+mnDGE+fRIHAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "piv = tips.pivot_table(index=\"bill_q\", columns=\"sex\", values=\"tip_pct\",\n", " aggfunc=\"mean\", observed=True)\n", "cnt = tips.pivot_table(index=\"bill_q\", columns=\"sex\", values=\"tip_pct\",\n", " aggfunc=\"size\", observed=True)\n", "err = tips.pivot_table(index=\"bill_q\", columns=\"sex\", values=\"tip_pct\",\n", " aggfunc=\"sem\", observed=True)\n", "\n", "xs = np.arange(len(piv)); w = 0.38\n", "fig, ax = plt.subplots()\n", "\n", "for i, (lab, col) in enumerate([(\"Female\", BLUE), (\"Male\", ORANGE)]):\n", " off = (i - 0.5) * w\n", " ax.bar(xs + off, piv[lab], w, color=col, label=lab,\n", " yerr=err[lab], capsize=3, error_kw=dict(ecolor=GREY, lw=1))\n", " for x, v, n in zip(xs + off, piv[lab], cnt[lab]):\n", " ax.text(x, 0.008, f\"n={n}\", ha=\"center\", va=\"bottom\",\n", " fontsize=7.5, color=\"white\")\n", "\n", "ax.set_xticks(xs); ax.set_xticklabels(piv.index)\n", "ax.set_ylim(0, 0.235)\n", "ax.yaxis.set_major_formatter(lambda v, p: f\"{v:.0%}\")\n", "ax.legend(frameon=False, ncol=2, loc=\"upper right\")\n", "ax.set_xlabel(\"bill quartile\"); ax.set_ylabel(\"mean tip rate\")\n", "ax.set_title(\"Within every bill quartile, the sex gap disappears\")\n", "ax.set_xticklabels(\n", " [f\"{q}\\n(${tips.loc[tips['bill_q']==q,'total_bill'].min():.0f}–\"\n", " f\"${tips.loc[tips['bill_q']==q,'total_bill'].max():.0f})\" for q in piv.index])\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "c098", "metadata": {}, "source": [ "> ### Finding 4\n", "> Within every bill quartile the gap collapses to a fraction of a point, and it **changes\n", "> direction** twice. The apparent sex difference was a bill-size difference wearing a\n", "> disguise.\n", "\n", "### The general lesson\n", "\n", "A difference between two groups is evidence about those groups only if everything else is\n", "comparable. Before you believe any group difference:\n", "\n", "| Ask | pandas |\n", "|---|---|\n", "| Are the groups the same size? | `df.groupby(g).size()` |\n", "| Do they differ on the main driver? | `df.groupby(g)[driver].mean()` |\n", "| Does the gap survive stratification? | `df.pivot_table(index=bin, columns=g)` |\n", "| Is it spread rather than centre? | `df.groupby(g)[y].std()` |\n", "\n", "## 6.6 Day and time: check the cross-tab FIRST" ] }, { "cell_type": "code", "execution_count": 100, "id": "c099", "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", "
timeDinnerLunchAll
day
Fri11718
Sat82082
Sun73073
Thur16061
All16767234
\n", "
" ], "text/plain": [ "time Dinner Lunch All\n", "day \n", "Fri 11 7 18\n", "Sat 82 0 82\n", "Sun 73 0 73\n", "Thur 1 60 61\n", "All 167 67 234" ] }, "execution_count": 100, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pd.crosstab(tips[\"day\"], tips[\"time\"], margins=True)" ] }, { "cell_type": "markdown", "id": "c100", "metadata": {}, "source": [ "**Stop.** Saturday and Sunday are dinner-only. Thursday is lunch except for a single\n", "check. There is almost no overlap between the two variables." ] }, { "cell_type": "code", "execution_count": 92, "id": "c101", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "time\n", "Dinner 0.159\n", "Lunch 0.164\n", "Name: tip_pct, dtype: float64\n", "\n", "day\n", "Fri 0.167\n", "Sat 0.152\n", "Sun 0.167\n", "Thur 0.161\n", "Name: tip_pct, dtype: float64\n" ] } ], "source": [ "print(tips.groupby(\"time\")[\"tip_pct\"].mean().round(4))\n", "print()\n", "print(tips.groupby(\"day\")[\"tip_pct\"].mean().round(4))" ] }, { "cell_type": "markdown", "id": "c102", "metadata": {}, "source": [ "In this dataset, *\"lunch tips better than dinner\"* and *\"Thursday tips better than\n", "Saturday\"* are *the same sentence*. The design does not let you separate the day from the\n", "meal.\n", "\n", "**No amount of cleverness fixes this** — it is a property of the data collection, not of\n", "your method. The honest move is to say so in the report.\n", "\n", "This is exactly why `crosstab` belongs **before** `groupby`, not after.\n", "\n", "## 6.7 What we can still say about days" ] }, { "cell_type": "code", "execution_count": 93, "id": "c103", "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", "
nbillpct
day
Fri1817.4740.167
Sat8220.6910.152
Sun7321.6480.167
Thur6117.7860.161
\n", "
" ], "text/plain": [ " n bill pct\n", "day \n", "Fri 18 17.474 0.167\n", "Sat 82 20.691 0.152\n", "Sun 73 21.648 0.167\n", "Thur 61 17.786 0.161" ] }, "execution_count": 93, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tips.groupby(\"day\").agg(n=(\"tip\", \"size\"),\n", " bill=(\"total_bill\", \"mean\"),\n", " pct=(\"tip_pct\", \"mean\")).round(3)" ] }, { "cell_type": "markdown", "id": "c104", "metadata": {}, "source": [ "Saturday is lowest at 15.2% — and Saturday also has the second-highest average bill, so\n", "Finding 2 may be all we are looking at. With only 18 checks on Friday, the day-to-day\n", "differences are small relative to the noise.\n", "\n", "## 6.8 One table for the owner" ] }, { "cell_type": "code", "execution_count": 94, "id": "c105", "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", "
meancount
smokerNoYesAllNoYesAll
time
Dinner0.1580.1600.15910265167
Lunch0.1610.1700.164442367
All0.1580.1630.16014688234
\n", "
" ], "text/plain": [ " mean count \n", "smoker No Yes All No Yes All\n", "time \n", "Dinner 0.158 0.160 0.159 102 65 167\n", "Lunch 0.161 0.170 0.164 44 23 67\n", "All 0.158 0.163 0.160 146 88 234" ] }, "execution_count": 94, "metadata": {}, "output_type": "execute_result" } ], "source": [ "tips.pivot_table(index=\"time\", columns=\"smoker\", values=\"tip_pct\",\n", " aggfunc=[\"mean\", \"count\"], margins=True).round(3)" ] }, { "cell_type": "markdown", "id": "c106", "metadata": {}, "source": [ "## 6.9 `transform`: removing the bill effect in one line\n", "\n", "Stratifying with `pivot_table` gives a grid you read by eye. `transform` does the same\n", "adjustment arithmetically, so you can keep analysing the adjusted values." ] }, { "cell_type": "code", "execution_count": 96, "id": "c107", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "mean deviation from same-quartile peers:\n", "sex\n", "Female 0.004\n", "Male -0.002\n", "Name: pct_vs_peers, dtype: float64\n", "\n", "smoker\n", "No -0.003\n", "Yes 0.004\n", "Name: pct_vs_peers, dtype: float64\n" ] } ], "source": [ "tips[\"pct_vs_peers\"] = (tips[\"tip_pct\"]\n", " - tips.groupby(\"bill_q\", observed=True)[\"tip_pct\"].transform(\"mean\"))\n", "\n", "print(\"mean deviation from same-quartile peers:\")\n", "print(tips.groupby(\"sex\")[\"pct_vs_peers\"].mean().round(4))\n", "print()\n", "print(tips.groupby(\"smoker\")[\"pct_vs_peers\"].mean().round(4))" ] }, { "cell_type": "markdown", "id": "c108", "metadata": {}, "source": [ "`transform` broadcasts each quartile's mean back onto every row, so subtracting it strips\n", "the bill-size effect out of every check at once.\n", "\n", "The residual sex gap is **under a quarter of a percentage point** — the same conclusion as\n", "the stratified table, in one line instead of a grid." ] }, { "cell_type": "markdown", "id": "c109", "metadata": {}, "source": [ "---\n", "# Stage 7 — One Figure That Tells the Story" ] }, { "cell_type": "code", "execution_count": 95, "id": "c110", "metadata": {}, "outputs": [ { "data": { "image/png": "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UFz1+OOPD8o6ExERUeiFvQYIqrQ/9NBDsmrVqtYOCDot+fn5rffRM0M6u4oDvBrT/cibwRAx8Q+1LoHqoEdy9DFU4r0N4v39A9uAbRDr28G0adPk3nvvVVkbehbpwoUL1XvGxZaOPProo62ZH7q//OUv6uLMfffdp7JDiIiIKHaEPQDiSr9Kgysyw4cPb12O3zE2d9CgQWFcOyIiIopEmO72n//8p5x22mly8803q6G1KJ6O5b17926935QpU2Tbtm2yadMm9fu4cePaPRcCKBj6MmnSpJC+ByIiIgo+o4TZq6++qq5G7b///irAMWzYMHXVxtVrr72mOi2+FigjIiKi2IcM0k8//VTV60AQ5KabblIFSlEbzH0oEOp7EBERUXwKeQ2Qo48+Wvbbbz/1O4qgPv300/LnP/+5dcjLHXfcIeedd54MHjxYJk+erIIfK1asUGN0iYiIiDzBjHGffPJJp42zbNmyLhvPm/sQERFRdDKHeojLggULZOfOnWo6PmR7YPzt1Vdf3XqfGTNmSENDg9x///3qhqEwixcvlgkTJoRyVYmIiIiIiIgohoQ0APL3v/9d3bpy6aWXqhsRERERERERUUzUACEiIiIiIiIiCjYGQIiIiIiIiIgo5jEAQkREREREREQxjwEQIiIiIiIiIop5DIAQERERERERUcxjAISIiIiIiIiIYh4DIEREREREREQU8xgAISIiIiIiIqKYxwAIEREREREREcU8BkCIiIiIiIiIKOYxAEJEREREREREMY8BECIiIiIiIiKKeQyAEBEREREREVHMYwCEiIiIiIiIiGIeAyBEREREREREFPMYACEiIiIiIiKimMcACBERERERERHFPAZAiIiIiIiIiCjmMQBCRERERERERDGPARAiIiIiIiIiinkMgBARERERERFRzGMAhIiIiIiIiIhiHgMgRERERERERBTzzOFeASJ3CSaDrCtq9KthctLM0iON8T0iIiIiIiJqwQAIRZzaJodc8NR2v55j4VUDpEeaJWDrRERERERERNGNl8iJiIiIiIiIKOYxAEJEREREREREMY8BECIiIiIiIiKKeawBQkRERBSBiqtssmpbg5TW2qVnulnG9U+RgqyEcK8WERFR1GIAhIiIiCgCgx8Lv6+UnRU2SUwwyC87m2TT7mY5c3w2gyBERETdxAAIERERUYRB5geCH8PyE8VsMojdocnGkma1vCArM9yrR0REFJXCVgOkrq5O9tlnHzEYDLJy5co2f1uwYIEMGzZMkpKSZOzYsfLee++FazWJiIiIQg7DXpD5geAH4Cd+x3IiIiKKsgDIXXfdJXZ7+4P4q6++KrNnz5azzz5bli5dKhMmTJDTTz9dvvvuu7CsJxEREVGooeZHs01TmR+An/gdy4mIiCiKAiAbNmyQxx9/XObNm9fub3PnzpVzzjlHBUgmT54sTz75pBx88MFy5513hmNViYiIiEIOBU/75iSoYS+bS5vVT/yO5URERBRFAZCrr75aLr/8chk+fHib5Vu2bJGNGzfK9OnT2yxHQOTTTz+V5ubmEK8pERERUehhthcUPJ08Mk2G9EpUP1kAlYiIyD8hz6N844035Oeff5Y333xTfvzxx3aZITBixIg2y0eOHClWq1UKCwvb/c1VTU2NuumKi4vVT4fDoW7xBO/X6XR6/b61lgxbvwTgKQL2PHg/vrZBLIr3Noj39w9sA7ZBuLYDk8kUsteK5SAIC54SERFFaQCkoaFB5syZI/fee69kZGS0+3tlZaX6mZWV1WZ5dna2+llRUdHp88+fP9/jsJrq6mpJTU2VeIJOLgrNaprmVSfU4UiMqQiIw2GXysoan9ogFvm6HcSaeH//wDZgG4RrO8jLywvJ6xARERFFZADk7rvvll69esnFF18clOdHcGXWrFltMkDGjx8vmZmZrUGUeOrsYoYdBJO86ezubrL6/6Itheoj4nlMJrP6zH1pg1jk63YQa+L9/QPbgG3A7YCIiIgoxAGQbdu2ycMPPyyLFy9WGRmAq1H6T9z0IAX+np+f3y4zJCcnp9PXQFaJp8wSnPjE48mP0Wj0+r0bDDEV/1DvB+/blzaIVfHeBvH+/oFtwDbgdkBEREQUwgAI6negjseJJ57Y7m+Y7eWQQw6Rl19+ubUWiGuBVPxusVhk0KBB/MyIiIiIiIiIKHJngRk3bpx8/vnnbW6PPPKI+humun3iiSdUgGPYsGGycOHCNo997bXXZMqUKSoIQkREROQOF0uOPfZYVfMLWaQ33nijuvDSlfPPP1+GDh2qHodM1KOOOko++ugjNjAREVEMClkGCMbgT5o0yePfDjzwQDnggAPU/++44w4577zzZPDgwSozBMGPFStWyPLly0O1qkRERBRFMFT26KOPVoGMRYsWSVFRkaoLhuLrjz32WKePRZAE98Vjm5qaZMGCBXLCCSeoCzVHHnlkyN4DERERxeA0uF2ZMWOG6rDcf//96oahMKgbMmHChHCvGhEREUUgZJLW1NSo/oJeL8xut8uVV14pN998s/Tu3bvDx77++uttfp82bZoMHDhQ/vOf/zAAQkREFGNCNgTGE2SEYEq+gw46qM3ySy+9VH777Tdpbm6WNWvWyEknnRS2dSQiIqLItnTpUjnmmGPaFEufPn26OJ1On4ezoGAysla9GT5DRERE0SXiMkCIiIiIfK3/cckll7RZhiBGQUGB+ltXcDEGU0ZjFrrnnntOXYR56qmnOn0MMk5w0xUXF6ufeB7cKDDQlghksU2Dj20dWmxvtnWscoRpv+3tjI8MgBAREVHU1wBBwMMdippWVFR0+XjU/Zg9e7b6f1pamqo/1tXQ2/nz58u8efPaLUcQBQVVKTDQga6rq1NBqniezjwU2NZs71jFbTs+2jsvL8+r+zEAQkRERHHttNNOU7PVlZWVqZnoMHwG9URQD6QjKJw6a9asNhkg48ePl8zMTBV4ocB1pA0GgwpwMQASXGzr0GJ7s61jlSPC99sMgBAREVFUQ8ABmReeMkNc64J0dtVIv3J0/PHHq6yRG264odMASEZGhrq5Q2cvEjt80cxoNLJd2dYxids22zpWGSN4vx3WIqhERERE/hoxYkS7Wh8IiCArA3/z1YEHHiibNm3iB0NERBRjGAAhIiKiqIZMjU8++USqqqpal2EoC65ATZ061efn++qrr2TQoEEBXksiIiIKNw6BISIioqh2+eWXyz//+U9Vy+Pmm2+WoqIiNYQFy3v37t16vylTpsi2bdtaszvef/99efHFF+Wkk06Svn37qqEvL7/8snz44YfyyiuvhPEdERERUTAwAEJERERRXwPk008/lauvvloFQdLT01WB0nvuuaddYTa73d76++DBg6W5uVluuukmVQAVdUDGjBkjy5Ytk4kTJ4bhnRAREVEwMQBCREREUW/kyJFqGExnENhwhfogb731VpDXjIiIiCIFAyBERERERD4orrLJqm0NUlprl57pZhnXP0UKshLYhmxDIopwDIAQEREREfkQ/Fj4faXsrLBJYoJBftnZJJt2N8uZ47MZBGEbElGEYwCEiIiIiMhLyPxA8GNYfqKYTQaxOzTZWNKslhdkZbId2YZEFME4DS4RERERkZcw7AWZHwh+AH7idywntiERRTYGQIiIiIiIvISaH802TWV+AH7idywntiERRTbuqYmIiIiIvISCp6j5gWEvyPxA8KNvToJaTmxDIopsDIAQEREREXkJs72g4Clngek+tiERhQsDIEREREREPp7As+Cpf9iGRBQODIAQERERUbenhGUmBBERRQsGQIiIiIioW8GPhd9XqilhUQvjl51NqjYGhofg6j5514YMIBERhQ4DIERERETkM5y4I/gxLD9RTQWL2VBQGBTLOTykawwgERGFHgMgREREROSz0lq7yvxA8EN1Kk0G9TuWR7tQZGYwgEREFHoMgBARERGRzxAYwLAXZH7oGSCYEhbLo1moMjNiOYBERBSpovsIRURERERhgawIBAYw7AUn7gh+9M1JUMujWagyM2I1gEREFMm4hyUiIiIinyEbAlkRsVbEM1SZGbEaQCIiimQMgBARERFRtyDYEeyCp6U1Dlmxo0bK6p0hCbKEKjMjVgNIRESRjAEQIiIiIopIJVU2eXdNo5Q12iTJYgzJVLuhzMwIRQCJiIh+xwAIEREREUWkVdsbZVe1U0b3tYglwRSSqXaZmUFEFLsYACEiIiKiiIShIRZzSx2OUM6UwswMIqLYZAz3ChAREREReYK6GFa7qMwP4EwpRETkD2aAEBEREVFEGtcvWdZuq5bfdltVDRDOlEJERFGTAbJkyRKZOHGi9OjRQxITE2XQoEEyZ84cqa6ubnO/d999V8aOHStJSUkybNgwee6550K5mkREREQUAfKzEuTkMckyaUSqDOmVKJNHpgW1AGo4FVfZZOnqannhq3L1E7/HwzpF4vsmotgV0gyQiooKOeSQQ+Saa66R3NxcWbt2rdxxxx3q50cffaTu89VXX8npp58us2bNkkcffVQ+++wzufTSSyU9PV3OPPPMUK4uEREREYVZzwyTDO+fISaTSWIVTvoXfl8pOytsqsZJKGa7iYR1isT3TUSxLaQBkPPPP7/N75MmTVKZIH/84x9l165d0rt3b7nrrrtUkOTJJ59U95k8ebJs3rxZbr/9dgZAiIiIiCjmYFYbBAGG5SdKg9UpO8qt8sWvdVLX7JCZR+aFJRjguk4oPhuMGXhC8RpERBFVBBWZIGC1WqW5uVk+//xzOeuss9rc55xzzpH169fL1q1bw7SW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aQPIcELGJ7ft0BkR4ftsBkCiDKL1OElDZFOHIQzovCL9KB740wbLli1T9T4w7v+2226TaBXo7QBjgMO9MwrF+3/00UfVlRfX29ixY9V85Pj/+PHjJR63AcyChG0g2mb/6G4bYDz2fvvt1y7ghZRkpHB2FSCJte3glVdekUmTJkV1UWCKbTg+YXgWtm332jXI3IrnIY2+QqYjrtRilhEMAUbxU1ds6+BasWKFKnyKdkYhcpyco3Cn+3aNYpEolErewbBu9/4dhmPAk08+qYb3ctsOrldffVUVRMWsUhHf1uGeh5d8U1FRoRUUFGgTJ07UPvzwQ+3ZZ5/VsrKytD/96U9t7nf00UdrgwcPbrMM82AvXLhQe+KJJ9Tczdddd536fdmyZXHRBuvWrdMyMzO1fffdV/v666+1b7/9tvW2adMmLR7a4L333tOmT5+uvfjii9rnn3+uvfnmm9of/vAHtT288sorWjx8D9zhOU488UQt2nS3DV5++WXt3HPP1V566SXts88+0/7973+rv2dnZ2tbtmzRook/28E777yjGQwG7c9//rP20Ucfaffcc4+WkJCg3XLLLVo08fe78OOPP6rvP7YDonCpr69X/RHcJk2apPXt27f199LS0tZ9F76zt99+uzp+XX755ZrZbNa++eYbfnA+mD17tvrOP/zww236Qbg1NTWxrQPo9NNPV8eWd999V/vkk09Um+fn52tjxozRmpub1X2+/PJLzWQyaVdccYXarrF9Yzt//fXXuV37Ce2JbR3nPzruRwJj6tSp2v3336+9//776nbZZZep7fYvf/lLVLQ1AyBRCCfyU6ZM0ZKTk7WePXtq119/feuOVIfOcP/+/dssu+iii9SOwP2G+8ZDGzz33HMe3z9uaJt4aIP169drp556qta7d2/NYrGon8cff3zUBcH8+R7ESgCku22ATi5OMPLy8tSBCD8RFNuwYYMWjfzZDl599VVt9OjR6ruAv997772a0+nU4qkNcN/ExEStsrIyhGtM1FZhYWGHx2d0nHUI1A0ZMkR9Z/fbbz91Ykm+wX6go7bG58C2Dpz77rtPGzdunJaenq6lpqaq481tt92mVVdXt7nf22+/rbZnbNfYvhcsWBDAtYhfngIgwP2I/6655hpt6NChqt+BPgS237///e/t+lCR2tYG/BPeHBQiIiIiIiIiouBiDRAiIiIiIiIiinkMgBARERERERFRzGMAhIiIiIiIiIhiHgMgRERERERERBTzGAAhIiIiIiIiopjHAAgRERERERERxTwGQIiIiIiIiIgo5jEAQkREREREREQxjwEQIvLJW2+9JU888US75TNnzpR99903IlrzjjvukG+++Sbcq0FEREQB5G1fY8CAAXLVVVd1+Ljnn39eDAaDlJWVdflcjz/+uBx88MEe/4bnwc2T2bNnqxsRRRZzuFeAiKIvALJy5Uq58sor2yy/7bbbpL6+XiLBvHnzJC0tTQ477LBwrwoRERGF2OLFiyU7O9vv52loaJC7775bHnvsMZ8f+9e//lVGjx4tN954owwdOtTvdSGiwGAGCBEFxODBg2XMmDFBaU2HwyE2my0oz01ERESxZf/991dZIP567bXXVP/j1FNPbbP8pZdekhEjRqgMj0svvVR69+4t06dPb3OfIUOGyOGHH64ySIgocjAAQkReQwrpCy+8IL/88otKHcUNyzpLL/3uu+/k6KOPlpSUFNUZefbZZ7t8nUmTJslJJ52kXmv48OGSmJgoq1evluLiYrnkkktk0KBBkpycrK6o3HzzzdLc3Nz6WLwm3HDDDa3ruGzZMrVM0zR56KGHZNiwYeo58TyPPPIItwAiIqIosnTpUtXnSEpKkgMPPFD1NTobAtNd6Icg+GE2/540/7///U8uvPBCNSzm+uuvVxkeDz74oDidznaPP+uss+S///2v2O12v9eFiAKDQ2CIyGsY5rJnzx7ZsGGDOqBDjx49On3MOeecI5dddplKBX311Vdbr5Qcf/zxnT4Ow2y2bt0qd955p0pj7du3r5SWlkpOTo7Mnz9fLdu4caOq94HAyHPPPace9+2338qECRPk6quvlnPPPVctGzVqlPr55z//Wf7973/LLbfcIocccoiqE4L1QjDl8ssv55ZAREQU4XDMxzBcHP/RF7j//vvluOOOk99++0169uwZsNdpbGxU/QQEO1x9+eWXYjQa1QUdvS90/vnnq5s7DMVFnZFVq1bJQQcdFLB1I6LuYwCEiHwa5oKAx7Zt2+TQQw/16jHoOPztb39T/0cHZcuWLapGR1cBkIqKCnWVBYEPXa9evVQGhw6ppampqXLRRRepFFNkmejr1a9fvzbruHnzZjWG98knn5Q//vGPatkxxxyjxvdifbAMHRoiIiKKXOgf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9E3Rh8frYb3RZ0L/PlIyu+NSGGegoQiHKabOPPNMNS0pptfCtLSYDgpTia1YsaLD6aU6mlbVG3v27FHTaGHKU7wupqxNTEzUBg4cqF144YXaqlWr2twf03w98MADaopL3K93795qSjdMCeq+Lp6m1+pqqrPOHvPyyy9rkyZNUtPyoW369u2rpkPzNG1sRzBl1lFHHaWlp6er6W4HDRqkzZ49WysrK2tzv++++059FpiuF9Or4eeECRO0u+66SysvL+90mjWdp89m48aN2rHHHqte332qso6mKdOhjW+66SZtxIgRqu3xHPg/1h/r6yo3N1d9Nt764IMP1BRjeN68vDw1PSu2DU/vAdvAo48+qu23337q/pjOdfLkyW2mLnaF7QvbE9oR067+3//9X+t0up6mwcX34M4771TbIx6DbQ2v5+025Es7dQRTqmFaW7y+axt0NqWbp6nu/F0fbJeYPnD//fdX0zTi8dhO8PmsX7++zX319fzss8+0ww47TH2X8RhMEVlSUuL1VL+u2wT2C9iW0A7YnvA5P/zww2paOt3PP/+s7ofXwn4LU02//fbbHbYHpqTG8+C++C6fccYZ6j5dbf9EFH4dTYOr71M8HbsD8fxw9dVXtx433fcrO3bsUNPdYipys9ms9lfYx+7atavL12xubtb+9re/aYcccog6/qF/gelh0Qfw1PfCvhf7WtwH+0Y85sADD1TPgSlZMY0o+iaYevaLL75o93g8L6aPXbJkSZfrhilq0cfCNPPY/2N62UWLFmlz5sxR7bB79+7W+6JvginF+/Tpo+6LKXgxZeknn3zi9/G2M19//bV6rtTUVM1qtbbpK2RlZam/4bjkzlP/CY+57rrr1HvAVLyu693RMaWj5/J2mc7b/rRrPwBTNaOd9T4ppqd1bYNgTYML2LbPP/98dezF8R7HfbRzR30jTBOt92vQvtheN2zY4PF7u2DBAm3fffdV/eQePXqo8xB8xzwdp7tqt/fff1/1YbBNuk937800uN5+72DLli3a5Zdfro0aNUrLyMhQ7TJkyBC178D6U/gY8E+4gzBEFLuQIowrTbgSgEg5xQdcyfEnG4yIiKIDsiMwTBkz17jWY/MWjhPoH+CKOWsixBZkQiBjnKebFElYA4SIggo1FjDeESfDREREFJ3ca0DBypUr1XEe6fzdCX4QEYUaa4AQUVBh7C5uREREFL1QXwK1qFBLCrWzULcNNbcwLSmKUhIRRQMGQIiIiIiIqFNTp05VM3mhYCqGu6DY5kknnaSKzaJINRFRNGANECIiIiIiIiKKeRysR0REREREREQxjwEQIiIiIiIiIop5MR0AsdvtsnPnTvWTiIiIiH0OIiKi+BXTAZCSkhLp27ev+kmxx+FwSFlZmfpJRNGF31+KNexz8Hsdi7ivjj38TGMPP1PfxHQAhIiIiIiIiIgIGAAhIiIiIiIiopjHAAgRERERERERxTwGQIiIiIiIiIgo5jEAQkREREREREQxjwEQIiIiIiIiIop5DIAQERERERERUcxjAISIiIiIiIiIYh4DIEREREREREQU8xgAISIiIiIiIqKYZw73ChARUWS44oor5Oeffw7Ja23evFmcTqcMGTJEDAZD0F9vv/32k3/9619Bfx0iIiIiilwMgBARUcjV19eLpmlseSIiIiIKGQZAiIhICWWGxOGHHy52u12WL18uJpOJnwARERERBR1rgBARERERERFRzGMAhIiIiIiI2pk3b5706NFDzGazqtek3/bdd9+IaS2sz0MPPRTu1YhZd9xxh2rjPn36qNpdnjI68feZM2d6/Zxbt25Vj3njjTcCvLZEXeMQGCIiIiKiEBj9t/Vhaedf7hvZ7ccmJyfLxx9/3Ga4YkpKSoDWLL6UXXFw2F4771//6/ZjExISpKysTA1bnTRpUuvybdu2ybfffitpaWkBWkui4GMAhIiIiIiIPMKV+kMPPZT1muKYxWKRY445Rl555ZU2AZBXX31VRo8ezW2DogqHwBARERERkc/ef/99OeSQQ1SWCIbKYDp1zPKlW7ZsmQqgfPjhhzJ9+nSVKdCvXz95+eWX1d//8Y9/qN9zcnJk1qxZ0tzc3PrY4uJiueSSS2TQoEHq+YcOHSo333xzm/t0d73IdzNmzFBDVmw2W+syfI7nnntum/tt2LBBzjnnHOnbt6/KFBo1apQ8/PDDHofPuHv++edlzJgxkpSUpIbc3HLLLeJwOPhxUUAxAEJERERERB3CrF2uN0xjjpPhU045Rfbbbz9ZvHixPPjgg7Jo0SK59NJL2z0eAQjUDcH9kE1ywQUXyF//+lcVGHnyySflzjvvlBdffFGdKOsw5AKBkfnz58sHH3wgN954o7zwwgty+eWXd/pJ+bJe5L2TTz5ZBZ8++ugj9fu6detkzZo1KtjhqqioSIYPHy5PPPGELFmyRP74xz+qz/euu+7q9PnxOSMIdtxxx8m7776rtg8EyBAEIQokDoEhIiIiIiKPGhoa1BV5VwhW3HbbbXL22WfLv//979blBQUFcsIJJ6i/YWiE7qyzzpLbb79d/X/8+PEqIIHhFJs3b1b1JfRskYULF6osD0AAw7W4KYptpqamykUXXSSPP/64xzokCMxcf/31Xq8XeQ/tfeqpp6phLyeeeKL6/CZMmCADBw5sc78pU6aom/55HHHEEWobeuyxx2Tu3Lken7u2tlb9DUGue++9Vy079thj1dCbOXPmyA033CC5ubn8uCggmAFCREREREQeYRjJd999J//73/9ab//f3r2AR1WfiR9/ScKtmHBZsCRAFAyXbJAFDPwFFTSBYIK7RaAoFJGlUAEJVSAoaS3XgO4CsYVC1HWDVCglELRNuS1g3LoRIqwi8oSbStRAK3cWuYbM/3l/PjOdmSSTTG4zc/L9PM8wzJlzzpw5v5yZM+95f++vS5cupgCmdmtxzgwZOHCgBAUFyf79+13WoT9m7Zo3by533nmnDBgwwBH8ULrOr7/+2vFYfzy/+uqrpguFboPO+5Of/MS8zhdffFHmth47dsyr7YL33WDeffdduXbtmgmE6GN3169fN8GMqKgoady4sWk3zeLQLk1Xrlwpc715eXnmOQ2UObeb1h3R1/rss89oKtQYMkAAAAAAlElreMTGxroUuvyf//kfc//444+XuYxzIEO1aNHC5bFe2S9rmv54ttPgh2ZzaFbAI488Ii1btjTBl2effdZlPmfabcab7YJ3tHuKBjQ0m+fLL780gSZ32nXljTfeMEGQ++67z7SzBk0WLVpk2q2sEWPs7da7d2/aDbWOAAgAAACAStPaHEq7NWixUXcRERHV3pvaHUZreSxZssQxTetO+Hq76jMNfowYMcLU69BuLj/84Q/LbLdnnnnGBEKci9JWpt20a5QWT3Xn3s0GqA4CIAAAAAAqrVu3btK+fXvTFUUzMmqDdn3QrBBn69at8/l21XdaqPTbb7+VSZMmVarddBQX7S7jidYS0Roj33zzTbnZO0BNIQACAAAAwKtuMZoFoEOg6vCyWhRTC5Rq/Q292q+FLLWmR3Vo3ZBf//rXJptD1/X222/LiRMnfL5d9Z0WsX3nnXc8tpt2gdHaLa1btzajwVQ0dLF2k9GRYrS7kwZBHn74YdPlSgNZ2n1m8+bNZRa9BeosAKLjOycnJ5uCNaGhoTJu3DjTr8s9Sutu7Nixsm/fPjl16pSZV6s7//KXv5SEhASX+S5dumQq/urQVTrWtPY3W7FihangDAAA6peqnHdowb309HQzZKOONKGFF7XooqbT33XXXY75dOQJrS/gTkeRqOiqJeCtw0uiLbPTtGCl/nBNS0szwQl19913y6OPPlpm1whvaZ2JM2fOOEaPGTlypBkWVYdj9eV2VUfr1R+J1elvNh2qWD+zNWgxfvx4k9VRXsaI3cyZM6Vdu3YmgKXr0O4299xzjzz22GMV/sYEvNHApiWWvXDhwgUzfFTnzp3NMFU61rMGKzS4oRFaT7RQjp5k6LJaBOfNN9804zy/99578tBDDznm0w+ow4cPm7HAddgtrRysUUCt3BwSUvmYjUYQtR+ZFjzSdDhYi6bU6d+jFsVyLswFwP/pcIZa4V1/0HL8ojbOO3JycuS5556TCRMmyP3332+K7C1cuNCkbuuIAm3atHEJgGRmZpr0eTu9cqmjGFQW5xx8L1sR51rWQ5taD21ayxkgGRkZcvnyZZOdYS9YoyexU6dONScmnooLbdy40eVxYmKiKWrzu9/9zhEA+fDDD2XHjh3mZs8M6dq1q0RHR5vCOGVVGwYAANZU1fOOBx980GSOOF846d+/v0RGRsratWvN1UZn3bt3NyNdAAAA6wrydoFt27aZMZntJyFKgxIlJSUmzdQbetVPU9Ru3rzpsn6d5jxeuAZAevbsKVu3bvV2cwEAQACr6nmHnku4Z41qNqhmfmhXXAAAUP94nQGiV1M0ndT9JEPrc+hzFdEeN5qmo3U+NN30+PHj8tprr7msXwMeWsTImWaAVLR+vUKkN+f+v0pfT2+wFm1TPQGmbYHAxfFrXTXVtam65x3Ojh07ZrrA6DmFu6SkJDl37pxZ7+jRo01BvqZNm5a7Ls45SuN72XpoU+uhTa2HNvXuvCOkKn1x9cTDndZhOH/+fIXLa90PexGcO+64Q/7whz+YoY9qYv1aNGf+/PmlpmuwRStAw3oH+5UrV0xQjRoCQGDRLgz2Pqscv9akNTRqQnXPO+z0u2L69Ommy4wGOOy0OKqOPKAFUjXgsWfPHlm6dKkUFBSYOiLl4ZyjNL6XrYc2tR7a1HpoU+/OO+p8GNxhw4aZ7ixajCwrK8uksWq/Xq0HUl1aFE3HpnbOANGhmvTkRk+UYL2DXTOF9MSYH1BAYLF3TaCIMerKvHnzZPfu3bJ9+3aXiyK9evUyN7u4uDiTBTJt2jTJz8835xFl4ZyjNL6XrYc2tR7a1HpoU+94HQDRk1XNqCjrCo1z/1xPkRl7dEZHe9GrNykpKY4AiK5fR22pyvrDwsLMzZ3+OOYHsjUFBQXRvkAA4/MZtX3eod544w3TpUWzUOPj4yucXy/OaADkwIED5QZAOOcoG9/L1kObWg9taj20aS0WQdUh4tz73OqJiWZbOA8fV1n33XefnDhxwmX9R48eNamqzvQ1q7J+AAAQuKp73qFZplOmTDEBEPdaIgAAoH7xOgCimRq7du2SixcvOqZpVxaNOtmHrfXGBx98IJ06dXJZv17V0TRV56JlH3/8sSlQBgAA6o/qnHfk5uaaeh9ae+yll16q9Gtu2LDB3Pfp06caWw4AAAK+C8zkyZNlxYoVppZHamqqFBUVmS4sOl0Li9lpimlhYaEju+PPf/6zrF27Vh577DHp0KGD6fqyfv162bFjh/z+9793LKcFUYcMGWKu0ixbtkyaNGkiv/jFL6RHjx4yfPjwmnrfAAAgAFT1vEOLmOoynTt3lqeeekr27t3rmFeHwr3nnnvM/8eOHStRUVHSu3dvc86hRVDT09PNsrGxsT54xwAAwK9qgGh2RnJysjk5CA0NNYVH09LSShVj0Sr/dnqicePGDXnxxRdNAVStA6JBDb06M3DgQJdldWQYLS72s5/9zKxDr/DoyY+9aB4AAKgfqnresW/fPtNVRm8PPPCAy7xPP/20rFmzxvw/JiZG1q1bZy666HlKx44dTaBlzpw5dfQOAQBAXWlgcy+2YSHffPONyTbRoqrt27f39eaghtmH0GQUCSDw6A9S/bGal5dHkWpYAuccfC9bEeda1kObWg9tWss1QAAAAAAAAAINARAAAAAAAGB5BEAAAAAAAIDlEQABAAAAAACWRwAEAAAAAABYHgEQAAAAAABgeQRAAAAAAACA5REAAQAAAAAAlkcABAAAAAAAWB4BEAAAAAAAYHkEQAAAAAAAgOURAAEAAAAAAJZHAAQAAAAAAFgeARAAAAAAAGB5BEAAAAAAAIDlEQABAAAAAACWRwAEAAAAAABYHgEQAAAAAABgeQRAAAAAAACA5REAAQAAAAAAlkcABAAAAAAAWB4BEAAAAAAAYHkEQAAAAAAAgOURAAEAAAAAAJZHAAQAAAAAAFgeARAAAAAAAGB5VQqAHDlyRAYPHizNmjWTtm3byuzZs+XmzZselzl9+rSZr2fPnhIaGirt27eXMWPGSGFhoct8ubm50qBBg1K3J598siqbCgAAAAAAICHe7oMLFy5IXFycdO7cWbKzs6WoqEhmzJghV69elZUrV5a73IEDB8z8EyZMkPvvv1/Onj0rCxculL59+8pnn30mbdq0cZk/MzNTunXr5njcunVrmgsAAAAAANRNACQjI0MuX74sW7ZskVatWplpxcXFMnXqVElNTZWIiIgyl3vwwQdN5khIyN9fsn///hIZGSlr166VmTNnuszfvXt3iY2N9f4dwaemTJkihw4dqpPX+vzzz6WkpESioqJMllBtu/fee2X16tW1/joAAAAAAD/oArNt2zYZNGiQI/ihRo0aZX6I7ty5s9zlWrRo4RL8UNoNRjM/Tp065e1mAPLdd9+ZzCMAAAAAAGo8A0SzOLQbi3twIzw83DznjWPHjsm3334r0dHRpZ5LSkqSc+fOmfWOHj1aFixYIE2bNvW4Ps1M0Ztz3RF1+/Ztc0Pt89QNqqYNGDDAZB+99957EhwcXCevyd8RwDGFyqnJz2U9v0hOTpa8vDxTR2zcuHGyaNEiadSoUbnL6DlAenq6uTijGYPNmzc33xtLliyRu+66y2VevRCj69d5GzZsKMOHD5fly5dLWFhYjb0HAAAQoDVANODhrmXLlnL+/PlKr8dms8n06dNNlxkNcNjpCYoWS9WTFA147NmzR5YuXSoFBQWSk5PjcZ16sjJ//vxS0y9dumQKtsJaNPihAQn9m6yrAAiAmsHxa301VburtmuP3bp1S4YMGWL+v379erPeWbNmmULtFZ13AAAAiwdAasq8efNk9+7dsn37dpfgRK9evczNTk96NAtk2rRpkp+fb05cyqMnRBMnTnS5+qPza1BFAzSwFnuXKm1bAiBAYOH4hb/UHtu0aZMcPnzYXGjp2rWr43tFgyIVnXcAAACLB0D0pEAzKsq6QuNcF8STN954w3RpefPNNyU+Pr7C+bXGiAZA9GqOpxMRTVUtK11VfxzzA9m6aF8gcHH8oqq1xyZPnmy6rIwfP77M5crKVi2r9piuv0ePHo7ghxo8eLB5va1btxIAAQCgPgdAdGha91ofGhDRbAvnYWvLo1dwdKQQDYC41xIBAACoy9pjug738xcdWays8x1n1B0rTbulalF86mVZB21qPbSp9dCm36tswoPXAZDExERZvHixXLx40XF1JSsrS4KCgiQhIcHjsrm5uabex6RJk+Sll16q9Gtu2LDB3Pfp08fbzQUAAAGstmuPVXX91B0r+yT8ypUrZl+TeWsNtKn10KbWQ5t6V3vM6wCIppyuWLFChg0bZvreajGylJQUM925H652bSksLJQTJ06Yx9q3VpfRImZPPfWU7N271zGvpqPec8895v9jx46VqKgo6d27tzRp0sQUQdUq7rpsbGyst5sLAABQbu2xqqLuWNkn4Zo9owElAiDWQJtaD21qPbRpHdQA0RMIHS5OgxI6HJ0WHk1LSyvVEFqkzG7fvn2mq4zeHnjgAZd5n376aVmzZo35f0xMjKxbt06WLVsmN27ckI4dO5pAy5w5c7zdVAAAEOBqu/aYp/V36NCh3HVSd6xsmhFMbR9roU2thza1Htq0lkeB0b6zu3btqrC7izMtUlZeoTJnGugg2AEAAOqi9piu49ChQy7TtAvH0aNHTTFUAABgHUG+3gAAAABPtcf0oovWHrOrydpjuv6DBw/K8ePHHdM00/XcuXOSlJREwwAAYCEEQAAAgN/SGmPa3Va73eqwt5mZmeXWHtMaYnZl1R6z3z7//HPHfCNHjjTdb0eMGCE5OTmyceNGkykydOhQhsAFAMBiqtQFBgAAoC7Udu2xhg0bmsKoOkKMZouEhITI8OHDTQF2AABgLQRAAACAX6vN2mOqXbt2snnz5mptIwAA8H90gQEAAAAAAJZHAAQAAAAAAFgeARAAAAAAAGB51AABAADwYzFzCiQQfLqoi683AQAAj8gAAQAAAAAAlkcABAAAAAAAWB4BEAAAAAAAYHnUAAEAAECNOjulT0Ds0darP/L1JgAA6hAZIAAAAAAAwPIIgAAAAAAAAMsjAAIAAAAAACyPAAgAAAAAALA8AiAAAAAAAMDyGAUGAAAAqEMxcwoCYn9/uqiLrzcBAGoUGSAAAAAAAMDyCIAAAAAAAADLIwACAAAAAAAsjwAIAAAAAACwPAIgAAAAAADA8giAAAAAAAAAyyMAAgAAAAAALI8ACAAAAAAAsLwqBUCOHDkigwcPlmbNmknbtm1l9uzZcvPmTY/LnD592szXs2dPCQ0Nlfbt28uYMWOksLCw1LynTp2SESNGmPlatWolEydOlMuXL1dlUwEAAAAAACTE231w4cIFiYuLk86dO0t2drYUFRXJjBkz5OrVq7Jy5cpylztw4ICZf8KECXL//ffL2bNnZeHChdK3b1/57LPPpE2bNma+W7duyZAhQ8z/169fb9Y7a9YsEyzJycmhyQAAAAAAQO0HQDIyMkw2xpYtW0x2hiouLpapU6dKamqqRERElLncgw8+aDJHQkL+/pL9+/eXyMhIWbt2rcycOdNM27Rpkxw+fFgKCgqka9euZlrLli1NUCQ/P98ETAAAAAAAAGq1C8y2bdtk0KBBjuCHGjVqlJSUlMjOnTvLXa5FixYuwQ+l3WA080O7vDivv0ePHo7gh9LuNvp6W7du9XZzAQAAAAAAvM8A0SwO7cbiHtwIDw83z3nj2LFj8u2330p0dLTL+rt16+YyX4MGDcy0itavmSnOtUK07oi6ffu2ucGaaFsgcHH8WldwcLCvNwEAAKD6NUA04OFOu6mcP3++0uux2Wwyffp002Vm9OjRNbL+5cuXy/z580tNv3TpkinYCmvRrlf640n/ZjjRBgILx6/1tW7d2tebAKCGXJh2f0Dsy9arP/L1JgCwWgCkpsybN092794t27dvr7HghBZj1RFjnDNAtGZI8+bNTQAF1mLvUqVtSwAECCwcvwAA+A5BLdRXXgdA9MemZlS406vwznVBPHnjjTdkwYIF8uabb0p8fHyl19+hQweP6w0LCzM3d/rjmB/I1kX7wsqurH9Zik+dEKu5re/JZpPvfj3FdHO0kpCIKLljzIu+3gwAAABUNwBSVi0ODVhotoV77Y6y6OgxU6ZMMQEQ91oi9vUfOnSoVHeZo0ePmmKoAFCfaPCj+PODYjXRP7CZ+9tffOrrTUEA0POO5ORkycvLk9DQUBk3bpwsWrRIGjVq5HG5VatWmQLq+/btk7Nnz0pWVpaMHDnSZZ7c3Fx55JFHSi37xBNPyIYNG2r8vQAAgAAKgCQmJsrixYvl4sWLjlodekIRFBQkCQkJHpfVkwyt9zFp0iR56aWXyl3/22+/LcePH5fOnTubadpV5ty5c5KUlOTt5gIA/NC/D7jL15uAAKEZoHFxceacIDs7W4qKikyX16tXr8rKlSs9Lrt27Vpzr+cP9v+XJzMz0+VCDjVMAACwHq8DIJMnT5YVK1bIsGHDJDU11ZyIpKSkmOla0NROu7YUFhbKiRPfp24XFBSYZfQE5qmnnpK9e/c65tWhcO+55x7zf70yowGWESNGmHs9wZk1a5YMHTrU1PMAAAD1R0ZGhhnhTTNI7V1ttYju1KlTzXmI87mHO80Y0Qs0J0+erDAA0r17d4mNja3x7QcAAP4jyNsFtEaHZmRoATsNaLz44oum8KiOwOJMR+fQExQ7TT/VrjKfffaZPPDAA9KvXz/HbeHChY75GjZsaAqjaqBEs0WeeeYZ0/Vl/fr11X2vAAAgwGzbtk0GDRrkUmds1KhRUlJSIjt37vS4rAY/AAAAqjUKTHR0tOzatavC7i7Oxo8fb26V0a5dO9m8eXNVNg0AAFis/od7zTDtghseHl6qJll1aDcZ7W6r69ULMFqrrGnTpuXOr1kperPTWmj2C0B6q4/0fWtgKpDefyBtqy/Y2zRQQom+bM8evzwmgeDj+ffQphYTiJ+9taGyg574bBhcAACAytQAsdccc89IPX/+fLV3YPPmzWX27NkyYMAAE/DYs2ePLF261HTdzcnJKXc5zXydP39+qema7dqsWTOpr2115coVU7y+cqeh/rHNqLhNmwfITqI9K7ePaFNr0cCH47O3kkEAK6ps7S4CIAAAoN7q1auXudlpwVXNApk2bZrk5+eXW39MC7FqF2DnDBCdVwMqGpypWWckEOj71mGtNWD199wY/1bzbWXNNg0UvmtPRZtar00DJwBi/+ytzwGQyiIAUg8seOe0HPvrDbGa43+7YSKdT7/+lUgAfTlXRpe2jeVXw8J9vRkA4Bcnv5pVUdZVTOe6IDVJa4xoAOTAgQPlBkDCwsLMzZ2efNbXE1B931p3JZDefyBtqy/bNFDQnpXbR7Sp9dg/ezkGKkYApB7Q4MfHhdfEaorDosz9x19d9/WmAABqiQ5N617rQwMimnHhPGwtAABARQiAIGCFD5nr600AANSyxMREWbx4sVy8eNFRCyQrK8tc7UpISKiV19ywYYO579OnT62sHwAA+AYBEAAA4LcmT54sK1askGHDhklqaqoUFRVJSkqKmR4REeGYLz4+XgoLC+XEiROOafv375eTJ0/KmTPf983fu3evuW/Tpo0MHDjQ/H/s2LESFRUlvXv3liZNmpgiqOnp6eb1YmNj6/z9AgCA2kMABAAA+HUNkN27d0tycrIJSoSGhprio2lpaaWKwBUXF7tMW7lypbz11luOx8uWLTP3GvzIzc01/4+JiZF169aZ527cuCEdO3Y0gZY5c+bUyfsDAAB1hwAIAADwa9HR0bJr1y6P89gDGs7WrFljbp5ooINgBwAA9UPglHUGAAAAAACoIgIgAAAAAADA8giAAAAAAAAAy6MGCAAAAAAATmLmFATE/vh0URdfb0JAIQMEAAAAAABYHgEQAAAAAABgeQRAAAAAAACA5REAAQAAAAAAlkcRVAAAAAAAAtiFafdLIGi9+iOfvj4ZIAAAAAAAwPIIgAAAAAAAAMsjAAIAAAAAACyPAAgAAAAAALA8AiAAAAAAAMDyCIAAAAAAAADLIwACAAAAAAAsL8TXG4C68U+RTdnVAAAAAIB6q0oBkCNHjkhycrLk5eVJaGiojBs3ThYtWiSNGjXyuNyqVatk69atsm/fPjl79qxkZWXJyJEjXebJzc2VRx55pNSyTzzxhGzYsKEqmwsRWT/lbvZDABmbcdLXmwA/EtLxXl9vAgAAAFD/AiAXLlyQuLg46dy5s2RnZ0tRUZHMmDFDrl69KitXrvS47Nq1a819UlKS4//lyczMlG7dujket27d2ttNBQBLaDH7P329CfDCxaUT2V8AAABWCIBkZGTI5cuXZcuWLdKqVSszrbi4WKZOnSqpqakSERFR7rKaMRIUFCQnT56sMADSvXt3iY2N9XbzUI4xq8koCCRBDXy9BQAAAABQzwMg27Ztk0GDBjmCH2rUqFEyefJk2blzp4wfP77cZTX4Ad84+NU1dn0A6XUXNVvwdxf/bQK7I5DwXQcAAGCNAIjW/5gwwfVkvEWLFhIeHm6eqynaTebcuXNmvaNHj5YFCxZI06aefxRqZore7E6fPm3ub9++bW71ls3m6y2At2y2+v03Cweb/i18eYg9EkCCO/Xg+NX9EBzs66YAAACofg0QDXi4a9mypZw/f16qq3nz5jJ79mwZMGCACXjs2bNHli5dKgUFBZKTk+Nx2eXLl8v8+fNLTb906ZI0a9ZM6ivtooTAazM91gDh+A04tzl+DWp3AQAAf+N3w+D26tXL3Oy04KpmgUybNk3y8/Olb9++5S6rxVgnTpzokgGi82tQRQM09VVIyP/pT2pfbwa8EBISUq//ZvF3l0NChFygwBIcEiJhHL8AAACBHwDRH2WaUeFOr1Y71wWpSVpjRAMgBw4c8BgACQsLM7ey0nDrdSpuAypqBpwGDer33ywcGnD8BmSbcfwCAAD4H6+rkurQtO61PjQgotkWzsPWAgAAAAAABGwAJDExUXbt2iUXL150TMvKyjIjvCQkJEht2LBhg7nv06dPrawfAAAAAABYm9ddYHS42xUrVsiwYcMkNTVVioqKJCUlxUyPiIhwzBcfHy+FhYVy4sQJx7T9+/fLyZMn5cyZM+bx3r17zX2bNm1k4MCB5v9jx46VqKgo6d27tzRp0sQUQU1PTzevFxsbWxPvGQAAAAAA1DNVqgGye/duSU5ONkGJ0NBQU3g0LS3NZT4dwtN99JGVK1fKW2+95Xi8bNkyc6/Bj9zcXPP/mJgYWbdunXnuxo0b0rFjRxNomTNnTlXfIwAAAAAAqOeqNApMdHS06QbjiT2g4WzNmjXm5okGOgh2AAAAAAAAn9YAAQAAqEtafH3w4MHSrFkzadu2rcyePVtu3rxZ4XKrVq2Sxx57zHS11dF5Nm3aVOZ8p06dkhEjRpisVh3RTjNbL1++XAvvBAAA+BIBEAAA4LcuXLggcXFxJuCRnZ0tixcvltdff11mzJhR4bJr166Vs2fPSlJSUrnz3Lp1S4YMGSLHjh2T9evXy+rVq2XHjh0yZsyYGn4nAAAgILvAAP7g9I755j58yFxfbwoAoJZkZGSYbIwtW7aY7AylNcamTp1qaoQ5F2B3l5eXZ0ap0wLsGgwpi2aFHD58WAoKCqRr166OemcaFMnPz5e+ffvW0jsDAAB1jQBIPdClbWOxojOXT4jNZpNekU1EGjQQK7FqmwGAt7Zt2yaDBg1yBD/UqFGjzOhzO3fulPHjx5e7rAY/KrP+Hj16OIIfSrvb6Ott3bqVAAgAABZCAKQe+NWwcLGiB37X2FwFfOtnkRIcHOzrzQEA1FL9jwkTJrhMa9GihYSHh5vnamL93bp1c5mm9UJ0mqf1a1aKc52Q06dPO0bB01t9pO+7pKQkoN5/IG2rL9s0UPrM056V20e0qbXQpt+r7O9BAiAAAMCva4BowMOddlM5f/68z9a/fPlymT//+66Yzi5dumSKtdZHui+vXLlisjODA2ibUXGbNg+QnUR7Vm4f0abWQpt+r3Xr1lIZBEAAAAC8pEVYdbQY5wwQrRfSvHlzEzypWWcCon30fWv2jAaUAmUMnZpvK2u2aaDwXXsq2rQ20KaV20ccp5VHAAQAAPj1iZ1mVZR1xcu5LkhtrL9Dhw7lLhcWFmZuZaXg1tdumfq+te5KIL3/QNpWX7ZpoKA9K7ePaFNroU29EzifaAAAoN4pqxaHBiw048K9dkdNrV+7cBw9erRG1g8AAPwHARAAAOC3EhMTZdeuXXLx4kXHtKysLHMFMyEhoUbWf/DgQTl+/Lhj2u7du+XcuXOSlJRU7fUDAAD/QQAEAAD4LR3uNjQ0VIYNG2aGvc3MzJSUlBQzPSIiwjFffHy8REVFuSy7f/9+2bRpkxnqVu3du9c8fv/99x3zjBw5UmJiYmTEiBGSk5MjGzduNKPODB06lCFwAQCwGGqAAAAAv6U1OjQjIzk52QRBNBiixUfT0tJKDQOoQ6M7W7lypbz11luOx8uWLTP3AwcOlNzcXPP/hg0byvbt22X69OkyevRoCQkJkeHDh0t6enqdvD8AAFB3CIAAAAC/Fh0dbbrBeGIPaDhbs2aNuVWkXbt2snnz5mptIwAA8H90gQEAAAAAAJZHAAQAAAAAAFgeARAAAAAAAGB5BEAAAAAAAIDlEQABAAAAAACWRwAEAAAAAABYHgEQAAAAAABgeQRAAAAAAACA5REAAQAAAAAAlkcABAAAAAAAWB4BEAAAAAAAYHkEQAAAdS7lvwvNDQAAAKgrIXX2SgAAr4VERFlyrxVs/0psNpsEd+ohDRo0ECuxapsBAADUywDIkSNHJDk5WfLy8iQ0NFTGjRsnixYtkkaNGnlcbtWqVbJ161bZt2+fnD17VrKysmTkyJGl5jt16pRZ/86dO6Vhw4YyfPhwWb58uYSFhVVlcwEgYN0x5kWxouAtD0hxcbGEzXhdgoODfb05AAAAqAe87gJz4cIFiYuLk5s3b0p2drYsXrxYXn/9dZkxY0aFy65du9YEPpKSksqd59atWzJkyBA5duyYrF+/XlavXi07duyQMWPGeLupAAAAAAAAVcsAycjIkMuXL8uWLVukVatWZppexZs6daqkpqZKREREuctqxkhQUJCcPHnSBEPKsmnTJjl8+LAUFBRI165dzbSWLVuaoEh+fr707dvX200GAAAAAAD1nNcZINu2bZNBgwY5gh9q1KhRUlJSYrqseHyxoKBKrb9Hjx6O4IcaPHiweT3tPgMAAAAAAFDrGSBa/2PChAku01q0aCHh4eHmuerSdXTr1s1lmhbI02kVrV8zU/Rmd/r0aXN/+/Ztc4M10bZA4OL4tS5quwAAgIAPgGgNEA14uNNuKufPn6/2BlVn/Voodf78+aWmX7p0SZo1a1btbYN/0a5X+uNJ/2Y40QYCC8ev9bVu3drXmwAAAGDdYXC1EOvEiRNdMkC0Zkjz5s1NAAXWEhLy/Z+vti0BECCwcPwCAADA7wMg+mNTMyrc6VV457ogVeVp/R06dPC4rA6TW9ZQufrjmB/I1kX7AoGL4xcAAAB+WwS1rFocGrDQbAv32h1VUdb6bTabHD16tEbWDwAAAAAA6h+vAyCJiYmya9cuuXjxomNaVlaWGeElISGh2huk6z948KAcP37cMW337t1y7tw5SUpKqvb6AQAAAABA/eN1AGTy5MkSGhoqw4YNM8PeZmZmSkpKipkeERHhmC8+Pl6ioqJclt2/f79s2rTJDHWr9u7dax6///77jnlGjhwpMTExMmLECMnJyZGNGzeaUWeGDh1q6nkAAAAAAADUSQ0QzchITk42QRANhmjh0bS0NJf5dHQOrfLvbOXKlfLWW285Hi9btszcDxw4UHJzc83/GzZsKNu3b5fp06fL6NGjTaG84cOHS3p6Oq0LAAAAAADqbhSY6Oho0w3GE3tAw9maNWvMrSLt2rWTzZs3V2XTAAAAAAAAqt8FBgAAAAAAINAQAAEAAAAAAJZHAAQAAAAAAFgeARAAAAAAAGB5BEAAAIBfO3LkiAwePFiaNWsmbdu2ldmzZ8vNmzcrXM5ms8nLL78skZGR0rRpU+nXr5/s3bu3VNH2Bg0alLo9+eSTtfiOAABAwIwCAwAAUBcuXLggcXFx0rlzZ8nOzpaioiKZMWOGXL16VVauXOlx2VdeeUXmzp1rgiA9evSQ3/72t5KQkCCffPKJdOrUyWXezMxM6datm+Nx69ata+09AQAA3yAAAgAA/FZGRoZcvnxZtmzZIq1atTLTiouLZerUqZKamioRERFlLnf9+nVZsmSJzJw5U55//nkz7aGHHpIuXbrI0qVLZdWqVS7zd+/eXWJjY+vgHQEAAF+hCwwAAPBb27Ztk0GDBjmCH2rUqFFSUlIiO3fuLHe5vLw8EzjRee0aNWokw4cPl61bt9b6dgMAAP9DBggAAPDr+h8TJkxwmdaiRQsJDw83z3laTjl3a1HR0dHy1VdfybVr10xdELukpCQ5d+6cWe/o0aNlwYIFLs+70+CK3uxOnz5t7m/fvm1u9ZG+bw1MBdL7D6Rt9WWbBsoVU9qzcvuINrUW2vR7wcHBUhkEQAAAgF/XANGAh7uWLVvK+fPnPS7XuHFjadKkSanltDiqPq8BjubNm5uiqgMGDDCP9+zZY7rIFBQUSE5OTrnrX758ucyfP7/U9EuXLplirfWR7tMrV66Y/Vu501D/2GZU3KbNA2Qn0Z6V20e0qbXQpt7V7iIAAgAA6q1evXqZm50WXNUskGnTpkl+fr707du3zOW0EOvEiRNdMkB0Xg2oaJClZp2RQKDvW0fQ0YDV33Nj/FvNt5U12zRQ+K49FW1aG2jTyu0jjtPKIwACAAD8+sROsyrKuuLlXBekrOVu3LhhiqE6Z4Hocnqi6OmkWuuGaADkwIED5QZAwsLCzK2sFNzKpuFajb7voKCggHr/gbStvmzTQEF7Vm4f0abWQpt6hwAIatSUKVPk0KFDdbJX9XU0zVbTlusi6nnvvffK6tWra/11AAB/pzU83Gt9aEBEMy7c63s4sz939OhR+ad/+ifHdF1XZGSkx/oeAADAmgInpAu40T7WP/jBD9gvAGBhiYmJsmvXLrl48aJjWlZWlrmCmZCQUO5y/fv3NxkaOq/drVu3JDs72xQ89WTDhg3mvk+fPjXyHgAAgH8gAwQ1qi4zJLTisaYyaxozKY8AYE2TJ0+WFStWyLBhwyQ1NVWKiookJSXFTI+IiHDMFx8fL4WFhXLixAnzWLu9zJkzR+bNmydt2rQxWXyrVq0yI73MmjXLsdzYsWMlKipKevfubZbRIqjp6enm9WJjY33yngEAQO0gAAIAAPyWBrl3794tycnJJigRGhpqio+mpaWVCooXFxe7THvhhRdMV0kd1eXMmTPSs2dP2bFjh3Tq1MkxT0xMjKxbt06WLVtmaoZ07NjRBFo0eAIAAKyFAAgAAPBr0dHRphuMJ7m5uaWmaX0oDWR4CmZU9DwAALAOaoAAAAAAAADLIwACAAAAAAAsjwAIAAAAAACwPAIgAAAAAADA8giAAAAAAAAAyyMAAgAAAAAALI8ACAAAAAAAsDwCIAAAAAAAwPKqFAA5cuSIDB48WJo1ayZt27aV2bNny82bNytczmazycsvvyyRkZHStGlT6devn+zdu9dlntzcXGnQoEGp25NPPlmVTQUAAAAAAJAQb/fBhQsXJC4uTjp37izZ2dlSVFQkM2bMkKtXr8rKlSs9LvvKK6/I3LlzTRCkR48e8tvf/lYSEhLkk08+kU6dOrnMm5mZKd26dXM8bt26Nc0FAAAAAADqJgCSkZEhly9fli1btkirVq3MtOLiYpk6daqkpqZKREREmctdv35dlixZIjNnzpTnn3/eTHvooYekS5cusnTpUlm1apXL/N27d5fY2NiqvSsAAAAAAIDqdIHZtm2bDBo0yBH8UKNGjZKSkhLZuXNnucvl5eWZwInOa9eoUSMZPny4bN261dvNAAAAAAAAqL0MEK3/MWHCBJdpLVq0kPDwcPOcp+WUc7cWFR0dLV999ZVcu3bN1AWxS0pKknPnzpn1jh49WhYsWODyfFk0wKI3u9OnT5v727dvmxusRdtUA2+0LRC4OH6tKzg42NebAAAAUP0aIBrwcNeyZUs5f/68x+UaN24sTZo0KbWcFkfV5zXA0bx5c1NUdcCAAebxnj17TBeZgoICycnJ8bhty5cvl/nz55eafunSJVOwFdb74XTlyhXz98OJNhBYtOukHsP62c/xa03U7gIAAAEfAKltvXr1Mjc7LbiqWSDTpk2T/Px86du3b7nLajHWiRMnumSA6PwaVNFAC6xFfzzpCEEakOMHFBBYQkK+//rRz2aOXwAAAPhlAERPVjWjwp1exXOuC1LWcjdu3DDFUJ2zQHQ5/RHrKUChdUM0AHLgwAGPAZCwsDBzc6cn15xgW1NQUBDtCwQwPp8BAADgt0VQtYaHe60PDYhotoV7fQ/35dTRo0ddpuu6IiMjK6zvAQAAAAAAUGcBkMTERNm1a5dcvHjRMS0rK8tciU9ISCh3uf79+5vsDJ3X7tatW5KdnW0KnnqyYcMGc9+nTx9vNxcAAAAAAMD7LjCTJ0+WFStWyLBhwyQ1NVWKiookJSXFTI+IiHDMFx8fL4WFhXLixAnzWLu9zJkzR+bNmydt2rSRe++9V1atWmVGepk1a5ZjubFjx0pUVJT07t3bLKNFUNPT083rxcbG0mQAAAAAAKBuaoDs3r1bkpOTTVAiNDTUFB5NS0srVaBSq/w7e+GFF8yIHTqqy5kzZ6Rnz56yY8cO6dSpk2OemJgYWbdunSxbtszUDOnYsaMJtGjwBAAAAAAAoM5GgYmOjjbdYDzJzc0tNU2LnWogw1Mwo6LnAQAAAAAAar0GCAAAAAAAQKAhAAIAAAAAACyvSl1gAADWM2XKFDl06FCdvJa+jtaEGjBggOkeWdu08Pbq1atr/XUAAADgvwiAAADqXLNmzaSkpIQ9DwAAgDpDAAQAYNRlhoSOFHbhwgUzslhwcDAtAAAAgFpHDRAAAAAAAGB5BEAAAAAAAIDlEQABAAAAAACWRwAEAAAAAABYHgEQAADg144cOSKDBw82owe1bdtWZs+eLTdv3qxwOR1q+eWXX5bIyEhp2rSp9OvXT/bu3VtqvlOnTsmIESMkNDRUWrVqJRMnTpTLly/X0rsBAAC+QgAEAAD4LR0tKC4uzgQ8srOzZfHixfL666/LjBkzKlz2lVdekblz58rzzz8vOTk5Eh4eLgkJCfLFF1845rl165YMGTJEjh07JuvXrzejIe3YsUPGjBlTy+8MAADUNYbBBQAAfisjI8NkY2zZssVkZ6ji4mKZOnWqpKamSkRERJnLXb9+XZYsWSIzZ840ARD10EMPSZcuXWTp0qWyatUqM23Tpk1y+PBhKSgokK5du5ppOjyzBkXy8/Olb9++dfZeAQBA7SIDBAAA+K1t27bJoEGDHMEPNWrUKCkpKZGdO3eWu1xeXp4JnOi8do0aNZLhw4fL1q1bXdbfo0cPR/BDaXcbfT3n+QAAQOCzdAaIXiFSp0+f9vWmoBbcvn1bLl26JN99950EBwezj4EAwvFbP2i9jpCQkGrX/5gwYYLLtBYtWpjuLPqcp+VUt27dXKZHR0fLV199JdeuXTN1QXQ+93kaNGhgpnlavwZXnOuEfP311+b+m2++MX/fNenW5b9KICgsbOzYL1euVFyjxR98V1jok9cNtDYNoj0rRJta6xhVtGlgtan+HqzMeYelAyBnzpwx96SvAgBQ9zQo0L59+2rXANGAhzvtpnL+/HmPyzVu3FiaNGlSajktjqrPawCkqutfvny5zJ8/v9R0LbRaX93zfa+iwPL23b7eAr8WcG1Ke1aINrUe2tS78w5LB0Duvfde03+3TZs21b4CBf+jmT0a3NI21iuBAAIHx2/9oFdirEqLsOpoMc41R/TEq2PHjvX2nIPj2npoU+uhTa2HNvXuvMPS39B61adPnz6+3gzUMg1+VPcKIwDf4PhFRTQTQ7s7utPMDee6IGUtd+PGDROYcM4C0eW0i4s+X9H6O3ToUO76w8LCzM1ZVFQUDcpxbUl8VlsPbWo9tGnlUAQVAAD4rbJqcWjAQq94udfucF9OHT161GW6risyMtJ0fylv/dpFRpfztH4AABB4CIAAAAC/lZiYKLt27ZKLFy86pmVlZUlQUJAkJCSUu1z//v1NhobOa3fr1i3Jzs6WpKQkl/UfPHhQjh8/7pi2e/duOXfunMt8AAAg8BEAQcDSE9u5c+eWSkEG4P84flFZkydPltDQUBk2bJgZ9jYzM1NSUlLM9IiICMd88fHxLl1QtNvLnDlzZOnSpfLrX/9a9uzZI6NHjzaBjVmzZjnmGzlypMTExMiIESMkJydHNm7caEadGTp0KEXUOa7rPT6rrYc2tR7a1DsNbJrnCQAA4KcKCgokOTlZ8vLyTDBk3LhxkpaWJo0aNXLM8/DDD8vJkyfNzU5PcV5++WVZtWqVGRmuZ8+ekp6eXmqklqKiIpk+fboJsGgB0+HDh5v5CLADAGAtBEAAAAAAAIDl0QUGAAAAAABYHgEQAAAAAABgeQRAAAAAAACA5REAAQAAAAAAlkcABPVebm6uNGjQQPbv31/uvlizZo2Z5+zZs/V+fwE1qTLH1rx58+SOO+5gxwN+Yt26ddK/f38zIo/eHnjgAfn973/vMs+JEyfMUMU68o6OrNO9e3efbS9qpk2zsrLkRz/6kbRv316aNWtm2vY///M/zWhLCMw23bp1qwwcOFDatGkjjRs3lk6dOsmMGTPk0qVLPttuVK9NnV25csUcrxX9zqlvCIAAlTB06FD58MMPpUWLFuwvoI5NnDhR3nvvPfY74Ad0OOKnnnpK/vEf/9H8IN60aZP5/09+8hOZNWuWY77Dhw/Ln//8Z4mKijLPI/DbdPny5fKDH/xAli1bJn/6058kMTFRJk2aJAsWLPDp9qPqbXr+/Hn5f//v/0lGRobs2LHDBD/Wrl0rP/7xj9mtAdqmzhYuXCjFxcV1vq1+zwbUc++9955eurB99NFHvt4UoN7JzMw0x9+ZM2d8vSkAKvDuu++a43Xu3LmlnvvVr35lntu+fbt5fPv2bcdzTz/9tC0mJob9G+BtWtbn9KRJk2xhYWEu7Y3AadOyvP7662aeoqKiWt5S1GabFhQU2Jo1a2bLyMjgd44bMkDqufHjx5u0VO0G0qtXL5PS2LdvXzlw4IBjnuvXr5uIcEREhDRp0sSkPG7ZssXr9ZTnm2++kVGjRskPf/hDs/6OHTvK888/Xyr9/eOPP5Z+/fpJ06ZNpXfv3uaxbtuUKVOkZcuWJsXr1VdfLbX+7Oxss826bn0P+l50OU+2b99urnLMnTu3zDT9kydPmsdvv/22TJs2zbx+eHi4icC6R1p1X3Xt2tW8/v333y//+7//azJJ9H0B/kCv1CYlJck//MM/mL97/Xv9t3/7N5dje9euXdKjRw9z/Gm6rB4DeuVIj92wsDC555575A9/+EOpdb/22mtmfZpae/fdd8uiRYukpKTE4/ZkZmZKo0aN5M033yyzC4y929p//dd/yZgxY0wa6F133eXYZvfX1+f0fQ0ePNh8buiyekwD8I5+x+r3XVlXG1NSUsxzmiWggoI4xbRam7Zu3brUPHrOd/nyZfnuu+/qZHtRs21aFj0XUDdv3mR3B3CbasaIdkPUczC44tsJ8te//lWmT59uDqCNGzea4MDjjz8ut27dMntHU6v0R8Ts2bPlnXfeMelWI0aMkD/+8Y9erac848aNk08//VR+85vfmMDD/Pnz5fbt2y7z6Dqefvpp+dnPfiabN282j4cPH25S4/UHmb7esGHDTOAkLy/PsZxu48iRI80267bre9A0v7Fjx5a7PRow0XVpSqduiye/+MUvzEmevr5+yGha6H/8x384ntcfW5pGqK+v69X38MQTT8iNGzf4y4Pf+Od//me5cOGCCThoyrp+wTqfzOqxPXPmTPP3rv1PP//8c/O5oH/L9957rzkm77vvPnNcFRYWOpZbsWKFOS6GDBli0qU1mKLBDD0Oy2NfRlNwf/rTn3rcbp2vS5cuJsio7+GFF14wnyHOx7/Ok5CQYOYZNGiQCdgA8J4G9/X79ZFHHimzJo9O0+c++OCDUt/hsG6b6nPt2rUzgWgEbpvq//W8XS/S6fnvv/zLv5iLFgjMNtXuMYcOHZJf/epXPtjiAOCeEoL6RdNSGzRoYPvss89KdQn5y1/+Yjt48KD5v6ZPOevXr5+td+/elV6PJ5qe9Zvf/Kbc5zXdS9ezdetWx7Q//elPZtoTTzzhmFZcXGy78847bc8995xjWq9evcy2OnvttdfMsp9++mmpLjBr1661NWzY0LZ69WqPafpffvmlefzjH//YZb6BAwfa4uPjHY/1+aioKJfU0N/97nflprEBdU3/pvXv8Y9//GOZz5d1bK9YscIs88ILLzimXbhwwRYcHGx79dVXHcdj69atbU8++aTL+ubMmWNr1KiR7ezZs6WOrcWLF9saN25sUj2d6bGinxN29mM2JSXFMa2kpMR2991323760586pvXp08cWFxfnsq6FCxeaZfV1AVTe6dOnzbHj/B3rTp/Teb799luX6XSBsV6bKj2/CwoKsqWnp9fylqK227Rdu3Zmmt4effRR25UrV9jpAdqm3333na1Dhw62N9980zxHV//SyACB6RYSExPj2BP2YmXaNeUvf/mL+b97MSS98qvZDc5XiT2tR2nau0Yx7Td71XDtzrJ06VJZvXq1qRpfFs2yiI+PdzzWq75Kr+jaBQcHmzT8r7/+2lH5+JNPPjEZIO7brjRS6uz11183V5z1KrheNa4MvbLsTN+z/f2qjz76SB577DGXVGCtoA74C0111S4ic+bMkbfeesvl77e8Y7us40+7dd15552O4+/IkSOmy1hZnx2aVpufn+8yXbNL0tLSJCcnx1x58vb4024t0dHRju3XqyD6GeW+Lo4/oPbp8Qhrt6l+1urnuV551uxfBHab6mgwmmXwxhtvSEFBgcmqJJMrMNtUuxprWYF//dd/9fXm+C0CICg1son2vVeaCqdp8Q0bNpRWrVq5zKMHlgYwLl68WKn1qAkTJph12W/6Y0tp3QANbugPoM6dO0u3bt1MdxFn2s3Fvj7ndZf1mvbX023TbdRtdda8eXNTj0DrFzjTNP7IyEgz4ktleXp9dfr0aTO0mDNNE9V6IIC/fFnu3LnTBA+effZZ6dChg8TGxsp///d/V3hse/r7188O5X782R+7H3+arqndaR588MFKb7un1z9z5owJtLoffxqkAeA9rf+g351fffVVufPoczpPWbUiYJ021fMrHQFGA+h67kS9l8BvU63xpXX2tGv5u+++a0Zec6/3B/9vU70wrd3xtQu/DmWsx6peEFZ6b/9/fUcABB5p4EPrbdh/zNj97W9/Mz+cvBkWVvv+a0aE/abRZaXFQ3Uceb1arFeFtViPXlX44osvqtU6um26jd9++63LdP1A0Boc7kEdrTkQEhJi6hVoQa+aoO9Nf4g5+7//+78Ki7ACdUkzOnRINT3OtcCofonq8VmdL0r78eV+/Olnh/PzzvU69JjX+kIV1Q2qDA186PHsfvy5bw+AytHj6YEHHjCfEWUVvNRp+txDDz3ELrVwm167ds1ktuq51LZt28xFJVjrONVgiF6oLC8rG/7bpl9++aXJstWLuVoYVW/231uareWcuVufEQCBR/arsfrjyJk+to/2UllaTEmvLNtv9irTjj/GoCDp06ePSd3SK7fV/eDVokA6+oteWXamBUuV+5VmvTK9e/duc2Var2zUREVzfT+a0u886oUWYwX8kZ7w6AgvL774ogkCnjp1qsrr0kCmBiHcPzv0+NNMDR0lyn1+HWlm3759Mnr06Gqn3mqXOP2M0itZzjj+gKr7+c9/br4j9QqjO52mzz3zzDPsYou2qZ6baSFp7SKhBae1+Cmsd5zq97BeiOjUqVMtbylquk31d49m7zjf0tPTzXw6CMSqVavY6RpUYi/AE40C62grOnSsRv31R4oO/ar9BN1/WFSFXkHQjIunnnrKrFujljoKhGZvaG2Q6tKsEx3RRUen0NvRo0clNTXVXGXWdHt3+mWuQZABAwaY2gE6IkZ1uqtoXQUNgujr6Qg2OkKG1jvRdZIyCn+gIzDpCC+adaU1dPSYXLJkiQlY6uPqBCBeeukl0zdcu53oMLt79+6VV155RZ577rlSAVClx6R2x4mLizMjJmlWVnWOk1/+8pem5sekSZNMLRKtCWLvesfxB3hPvxd16Hf9btV6P/YaP9oNQmsH6HFrr7t19epVU1dA6XefBlXtFyQ00OrePQ3+36ZTp041F3X0B5e2p36m22nAWbMHEVhtquf4elHSPsz9wYMH5d///d/NYz1/RuC16cMPP1zmOnS0vpr4bWUJZRRGRT1SVmV2Hc3BeZSEq1evmurCbdu2NaM39OjRw7Z582av11OW69ev2yZOnGjr2rWrrWnTprZWrVrZEhISbPn5+eWOAOE8CktWVlapUViGDh3qMm3Tpk1mm3Xb9T3oe7l27Zrj+bKqIx8/ftwWHh5uS0xMtN24caPcUWDcX//nP/+57a677nKZpvuqS5cuZnSL++67z/bBBx/YQkJCHKNlAL70t7/9zTZ27Fhbp06dzN+ojqQ0YsQI27Fjx8o9tsurKK5/+88++6zLNB1RqXPnzmZ0pcjISDMKi/OoSO7Hlvrwww9td9xxh/ls0NFdyhsFxv31f/SjH5nPAPfX12roTZo0Mc/t3LnTLPvOO+9Ua78B9ZmOZqYjrOlxaR85Ii0tzRyvdvbvybJuegwj8NpUP+PLa1NtbwRemy5ZssTWs2dPW2hoqJlPv+9feukl26VLl3y67ah6m7pjFJjSGug/vg7CAPWJZphoHzztr6dXwQDUHR3lSYu8aT9ZzXIBUD1aV0evIOsoaJodoP3VEdhoU+uhTa2HNq06AiBALdOUUR3lRlP+Dx8+LAsXLjTDiu7fv580fKAWaZ9YrYSuXWp09CUtvqxD7epjaoEANefAgQOmrpZ2NdV0bAQ+2tR6aFProU2rhgAIUMu0oOP7779vRrnRaumPPvqoqQPiPjwogJqlIy7p8acF3XQoOK058Pjjj5s6JFokGQAAAPULARAAAAAAAGB5DIMLAAAAAAAsjwAIAAAAAACwPAIgAAAAAADA8giAAAAAAAAAyyMAAgAAAAAALI8ACAAAAAAAsDwCIAAAAAAAwPIIgAAAAAAAAMsjAAIAAAAAAMTq/j/Gf1CrRsa8HwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axes = plt.subplots(2, 2, figsize=(10, 6))\n", "\n", "ax = axes[0, 0]\n", "ax.hist(tips[\"tip_pct\"], bins=25, color=BLUE, edgecolor=\"white\", linewidth=.4)\n", "ax.axvline(tips[\"tip_pct\"].median(), color=ORANGE, lw=1.8)\n", "ax.set_title(\"1. Median tip 15.4%, long right tail\")\n", "ax.set_xlabel(\"tip rate\")\n", "\n", "ax = axes[0, 1]\n", "ax.scatter(tips[\"total_bill\"], tips[\"tip_pct\"], s=12, color=BLUE, alpha=.45)\n", "ax.plot(cent, qm, color=ORANGE, lw=1.8, marker=\"o\", ms=5)\n", "ax.set_ylim(0, .45)\n", "ax.set_title(\"2. Rate falls as the bill grows\")\n", "ax.set_xlabel(\"bill ($)\")\n", "\n", "ax = axes[1, 0]\n", "g = [tips.loc[tips[\"smoker\"] == v, \"tip_pct\"] for v in [\"No\", \"Yes\"]]\n", "bp = ax.boxplot(g, patch_artist=True, widths=.45, showfliers=False,\n", " medianprops=dict(color=\"white\", lw=1.6))\n", "for p, c in zip(bp[\"boxes\"], [BLUE, ORANGE]):\n", " p.set_facecolor(c); p.set_edgecolor(c)\n", "ax.set_xticks([1, 2]); ax.set_xticklabels([\"non-smoking\", \"smoking\"])\n", "ax.set_title(\"3. Same centre, double the spread\")\n", "\n", "ax = axes[1, 1]\n", "piv = tips.pivot_table(index=\"bill_q\", columns=\"sex\", values=\"tip_pct\",\n", " aggfunc=\"mean\", observed=True)\n", "xs = np.arange(len(piv))\n", "ax.bar(xs - .19, piv[\"Female\"], .36, color=BLUE, label=\"Female\")\n", "ax.bar(xs + .19, piv[\"Male\"], .36, color=ORANGE, label=\"Male\")\n", "ax.set_xticks(xs); ax.set_xticklabels(piv.index)\n", "ax.set_ylim(0, .285); ax.legend(frameon=False, ncol=2, loc=\"upper center\")\n", "ax.set_title(\"4. No sex gap within bill quartiles\")\n", "\n", "fig.tight_layout()\n", "fig.savefig(\"tips_summary.png\", dpi=200, bbox_inches=\"tight\")\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "c111", "metadata": {}, "source": [ "**Figure rules that matter:**\n", "\n", "- One message per panel, and the message goes in the panel **title** — not in a caption\n", " the reader has to hunt for.\n", "- A legend whenever there are two series, and never colour alone to carry meaning.\n", "- Panel 3 hides the outlying points (`showfliers=False`) so the boxes stay readable —\n", " which is fine *because we showed them in full earlier*. Hiding data silently is not.\n", "- These two colours were checked for colour-vision-deficiency separation. Roughly 1 in 12\n", " men cannot distinguish a red/green pair." ] }, { "cell_type": "markdown", "id": "c112", "metadata": {}, "source": [ "---\n", "# Stage 8 — Report\n", "\n", "## The findings\n", "\n", "**1. The norm is a myth here.** The median check tips 15.4%, but only 39% of parties fall\n", "in the 15–20% band and 45% tip less than 15%.\n", "\n", "**2. The tip rate falls with the bill**, from 18.5% on the smallest quarter of checks to\n", "13.3% on the largest. The cause is arithmetic, not generosity: tips behave like\n", "\\$0.92 + 10.5% of the bill, and the fixed part shrinks as a share. In dollars, large\n", "tables are still worth far more.\n", "\n", "**3. Smoking-section parties are not worse tippers — they are more variable ones.** The\n", "means differ by 0.4 points, but they are three times as likely to tip under 10% and six\n", "times as likely to tip over 25%.\n", "\n", "**4. There is no sex difference.** The raw one-point gap disappears entirely once men and\n", "women are compared at the same bill size.\n", "\n", "## What we cannot say\n", "\n", "An analysis is judged as much by its stated limits as by its findings.\n", "\n", "- **Day and meal cannot be separated.** Saturday and Sunday are dinner-only; Thursday is\n", " lunch-only. Any \"weekend effect\" here is also a \"dinner effect\".\n", "- **One restaurant, one server, about ten weeks.** Nothing here generalises to\n", " restaurants in general.\n", "- **234 of 247 checks.** We dropped 10 incomplete records and 3 duplicates. The dropped\n", " rows were spread across days, but we cannot prove they were missing at random.\n", "- **Nothing here is causal.** We observed what happened; we changed nothing.\n", "- **Small cells.** Friday has 18 checks. Treat its average as a hint, not a number.\n", "\n", "## The whole analysis, start to finish" ] }, { "cell_type": "code", "execution_count": 97, "id": "c113", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "bill_q\n", "Q1 0.184\n", "Q2 0.166\n", "Q3 0.157\n", "Q4 0.133\n", "Name: tip_pct, dtype: float64 \n", "\n", " mean std\n", "smoker \n", "No 0.159 0.039\n", "Yes 0.163 0.087 \n", "\n", "sex Female Male\n", "bill_q \n", "Q1 0.187 0.182\n", "Q2 0.175 0.159\n", "Q3 0.152 0.158\n", "Q4 0.137 0.131\n" ] } ], "source": [ "tips_final = (load_tips(\"tips_messy.csv\")\n", " .assign(tip_pct = lambda d: d[\"tip\"] / d[\"total_bill\"],\n", " bill_pp = lambda d: d[\"total_bill\"] / d[\"size\"],\n", " bill_q = lambda d: pd.qcut(d[\"total_bill\"], 4,\n", " labels=[\"Q1\", \"Q2\", \"Q3\", \"Q4\"])))\n", "\n", "headline = tips_final.groupby(\"bill_q\", observed=True)[\"tip_pct\"].mean()\n", "by_smoker = tips_final.groupby(\"smoker\")[\"tip_pct\"].agg([\"mean\", \"std\"])\n", "by_sex = tips_final.pivot_table(index=\"bill_q\", columns=\"sex\",\n", " values=\"tip_pct\", observed=True)\n", "\n", "print(headline.round(4), \"\\n\")\n", "print(by_smoker.round(4), \"\\n\")\n", "print(by_sex.round(4))" ] }, { "cell_type": "markdown", "id": "c114", "metadata": {}, "source": [ "**Twelve lines, from a broken CSV to every number in the report.** That is the goal: an\n", "analysis someone else can re-run and get your answer.\n", "\n", "## A checklist you can reuse\n", "\n", "| Stage | Do not skip |\n", "|---|---|\n", "| **Load** | `shape`, `dtypes`, `isna().sum()`, `duplicated().sum()`, `value_counts()` on every category |\n", "| **Clean** | work on a copy; write the defect inventory first |\n", "| | count `NaN`s after every `map` and every type conversion |\n", "| | `assert` your expectations; check *who* you are dropping |\n", "| **Derive** | choose the outcome deliberately; bin the main driver |\n", "| **Explore** | median beside mean; look before you summarise |\n", "| **Compare** | `crosstab` before `groupby`; stratify every raw gap; spread, not just centre |\n", "| **Report** | state the limits as plainly as the findings |" ] }, { "cell_type": "markdown", "id": "c130", "metadata": {}, "source": [ "---\n", "## References\n", "\n", "- **Bryant, P.G. & Smith, M.A. (1995)** *Practical Data Analysis: Case Studies in Business\n", " Statistics.* Irwin — the original source of the `tips` data.\n", "- **McKinney, W.** *Python for Data Analysis*, 3rd ed.\n", " — [Data cleaning and preparation](https://wesmckinney.com/book/data-cleaning)\n", " · [Data aggregation and group operations](https://wesmckinney.com/book/data-aggregation)\n", " · [Plotting and visualization](https://wesmckinney.com/book/plotting-and-visualization)\n", "- **Wickham, H. (2014)** \"Tidy Data\", *Journal of Statistical Software* 59(10).\n", " [doi:10.18637/jss.v059.i10](https://doi.org/10.18637/jss.v059.i10)\n", "- **Irizarry, R.A.** *Introduction to Data Science* — on confounding and stratification.\n", "- [pandas user guide](https://pandas.pydata.org/docs/user_guide/)" ] }, { "cell_type": "code", "execution_count": null, "id": "1bd7f572-c12a-4369-b64a-e0b7d6a377a2", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "authors": [ { "name": "Yen-Yi Ho" } ], "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.13.3" }, "title": "A Data Analysis with pandas" }, "nbformat": 4, "nbformat_minor": 5 }