diff --git "a/Reference files/Data_cleaning_lab.ipynb" "b/Reference files/Data_cleaning_lab.ipynb" new file mode 100644--- /dev/null +++ "b/Reference files/Data_cleaning_lab.ipynb" @@ -0,0 +1,1738 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "9h8T4N-i8ohf" + }, + "source": [ + "# EDA with Categorical Variables\n", + "CREDIT: https://github.com/hoffm386/eda-with-categorical-variables/blob/master/index.ipynb\n", + "\n", + "https://www.kaggle.com/code/kashnitsky/topic-1-exploratory-data-analysis-with-pandas\n", + "\n", + "Whether EDA (exploratory data analysis) is the main purpose of your project, or is mainly being used for feature selection/feature engineering in a machine learning context, it's important to be able to understand the relationship between your features and your target variable.\n", + "\n", + "Many examples of EDA emphasize numeric features, but this notebook emphasizes categorical features." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "executionInfo": { + "elapsed": 10153, + "status": "ok", + "timestamp": 1716442666417, + "user": { + "displayName": "Raymond Zhang", + "userId": "05735583802406577666" + }, + "user_tz": 420 + }, + "id": "peS7ydrl8ohh" + }, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "import matplotlib.pyplot as plt\n", + "from matplotlib.patches import Patch\n", + "from matplotlib.lines import Line2D\n", + "import seaborn as sns" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "5ubKEJlQ8ohi" + }, + "source": [ + "## The Dataset\n", + "\n", + "This analysis uses the [Titanic dataset](https://www.kaggle.com/c/titanic/data) in order to predict whether a given person survived or not\n", + "\n", + "This dataset has the following columns:\n", + "\n", + "| Variable | Definition | Key |\n", + "| -------- | ---------- | --- |\n", + "| survival | Survival | 0 = No, 1 = Yes |\n", + "| pclass | Ticket class | 1 = 1st, 2 = 2nd, 3 = 3rd |\n", + "| sex | Sex | |\n", + "| Age | Age in years | |\n", + "| sibsp | # of siblings / spouses aboard the Titanic | |\n", + "| parch | # of parents / children aboard the Titanic | |\n", + "| ticket | Ticket number | |\n", + "| fare | Passenger fare | |\n", + "| cabin | Cabin number | |\n", + "| embarked | Port of Embarkation | C = Cherbourg, Q = Queenstown, S = Southampton |\n", + "\n", + "To get started, we'll open up the CSV with Pandas.\n", + "\n", + "(If you were using this for a machine learning project, you would additionally separate the dataframe into `X` and `y`, and then into train and test sets, but for the purposes of this example we'll assume that the entire `titanic.csv` contains training data.)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 206 + }, + "executionInfo": { + "elapsed": 406, + "status": "ok", + "timestamp": 1716442804474, + "user": { + "displayName": "Raymond Zhang", + "userId": "05735583802406577666" + }, + "user_tz": 420 + }, + "id": "r3KpMOHY8ohi", + "outputId": "7d21249e-0696-46f7-cd84-39aeede62c3c" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
0103Braund, Mr. Owen Harrismale22.010A/5 211717.2500NaNS
1211Cumings, Mrs. John Bradley (Florence Briggs Th...female38.010PC 1759971.2833C85C
2313Heikkinen, Miss. Lainafemale26.000STON/O2. 31012827.9250NaNS
3411Futrelle, Mrs. Jacques Heath (Lily May Peel)female35.01011380353.1000C123S
4503Allen, Mr. William Henrymale35.0003734508.0500NaNS
\n", + "
" + ], + "text/plain": [ + " PassengerId Survived Pclass \\\n", + "0 1 0 3 \n", + "1 2 1 1 \n", + "2 3 1 3 \n", + "3 4 1 1 \n", + "4 5 0 3 \n", + "\n", + " Name Sex Age SibSp \\\n", + "0 Braund, Mr. Owen Harris male 22.0 1 \n", + "1 Cumings, Mrs. John Bradley (Florence Briggs Th... female 38.0 1 \n", + "2 Heikkinen, Miss. Laina female 26.0 0 \n", + "3 Futrelle, Mrs. Jacques Heath (Lily May Peel) female 35.0 1 \n", + "4 Allen, Mr. William Henry male 35.0 0 \n", + "\n", + " Parch Ticket Fare Cabin Embarked \n", + "0 0 A/5 21171 7.2500 NaN S \n", + "1 0 PC 17599 71.2833 C85 C \n", + "2 0 STON/O2. 3101282 7.9250 NaN S \n", + "3 0 113803 53.1000 C123 S \n", + "4 0 373450 8.0500 NaN S " + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = pd.read_csv(\"https://raw.githubusercontent.com/hoffm386/eda-with-categorical-variables/master/titanic.csv\")\n", + "\n", + "\n", + "df.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "executionInfo": { + "elapsed": 152, + "status": "ok", + "timestamp": 1716442935670, + "user": { + "displayName": "Raymond Zhang", + "userId": "05735583802406577666" + }, + "user_tz": 420 + }, + "id": "6mqiwa829_p8", + "outputId": "86c1b6c0-7532-4ec6-cb74-8c08ccc9564c" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "(891, 12)" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "id": "pYDEISo--S4l" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Index(['PassengerId', 'Survived', 'Pclass', 'Name', 'Sex', 'Age', 'SibSp',\n", + " 'Parch', 'Ticket', 'Fare', 'Cabin', 'Embarked'],\n", + " dtype='object')" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.columns" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "executionInfo": { + "elapsed": 148, + "status": "ok", + "timestamp": 1716442996543, + "user": { + "displayName": "Raymond Zhang", + "userId": "05735583802406577666" + }, + "user_tz": 420 + }, + "id": "5K88Bw2v-ZUl", + "outputId": "f9481aa9-5e86-4547-9e77-171a8a34f899" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", + "Index: 714 entries, 0 to 890\n", + "Data columns (total 11 columns):\n", + " # Column Non-Null Count Dtype \n", + "--- ------ -------------- ----- \n", + " 0 Survived 714 non-null int64 \n", + " 1 Pclass 714 non-null int64 \n", + " 2 Name 714 non-null object \n", + " 3 Sex 714 non-null object \n", + " 4 Age 714 non-null float64\n", + " 5 SibSp 714 non-null int64 \n", + " 6 Parch 714 non-null int64 \n", + " 7 Ticket 714 non-null object \n", + " 8 Fare 714 non-null float64\n", + " 9 Cabin 185 non-null object \n", + " 10 Embarked 712 non-null object \n", + "dtypes: float64(2), int64(4), object(5)\n", + "memory usage: 66.9+ KB\n" + ] + } + ], + "source": [ + "df.info()" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 300 + }, + "executionInfo": { + "elapsed": 135, + "status": "ok", + "timestamp": 1716443046966, + "user": { + "displayName": "Raymond Zhang", + "userId": "05735583802406577666" + }, + "user_tz": 420 + }, + "id": "YaImmHqs-lIG", + "outputId": "90231216-d1ae-4a6e-8e35-bc67250d9c70" + }, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
PassengerIdSurvivedPclassAgeSibSpParchFare
count891.000000891.000000891.000000714.000000891.000000891.000000891.000000
mean446.0000000.3838382.30864229.6991180.5230080.38159432.204208
std257.3538420.4865920.83607114.5264971.1027430.80605749.693429
min1.0000000.0000001.0000000.4200000.0000000.0000000.000000
25%223.5000000.0000002.00000020.1250000.0000000.0000007.910400
50%446.0000000.0000003.00000028.0000000.0000000.00000014.454200
75%668.5000001.0000003.00000038.0000001.0000000.00000031.000000
max891.0000001.0000003.00000080.0000008.0000006.000000512.329200
\n", + "
" + ], + "text/plain": [ + " PassengerId Survived Pclass Age SibSp \\\n", + "count 891.000000 891.000000 891.000000 714.000000 891.000000 \n", + "mean 446.000000 0.383838 2.308642 29.699118 0.523008 \n", + "std 257.353842 0.486592 0.836071 14.526497 1.102743 \n", + "min 1.000000 0.000000 1.000000 0.420000 0.000000 \n", + "25% 223.500000 0.000000 2.000000 20.125000 0.000000 \n", + "50% 446.000000 0.000000 3.000000 28.000000 0.000000 \n", + "75% 668.500000 1.000000 3.000000 38.000000 1.000000 \n", + "max 891.000000 1.000000 3.000000 80.000000 8.000000 \n", + "\n", + " Parch Fare \n", + "count 891.000000 891.000000 \n", + "mean 0.381594 32.204208 \n", + "std 0.806057 49.693429 \n", + "min 0.000000 0.000000 \n", + "25% 0.000000 7.910400 \n", + "50% 0.000000 14.454200 \n", + "75% 0.000000 31.000000 \n", + "max 6.000000 512.329200 " + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#we only see objects that are numbers\n", + "\n", + "df.describe()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "n3_gniMY_QZQ" + }, + "source": [ + "In order to see statistics on non-numerical features, one has to explicitly indicate data types of interest in the include parameter." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 175 + }, + "executionInfo": { + "elapsed": 151, + "status": "ok", + "timestamp": 1716443236968, + "user": { + "displayName": "Raymond Zhang", + "userId": "05735583802406577666" + }, + "user_tz": 420 + }, + "id": "wbQj5kC4_NLR", + "outputId": "2e6b1cea-ef89-46dd-bfcc-444c7d2b806f" + }, + "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", + "
NameSexTicketCabinEmbarked
count891891891204889
unique89126811473
topBraund, Mr. Owen Harrismale347082B96 B98S
freq157774644
\n", + "
" + ], + "text/plain": [ + " Name Sex Ticket Cabin Embarked\n", + "count 891 891 891 204 889\n", + "unique 891 2 681 147 3\n", + "top Braund, Mr. Owen Harris male 347082 B96 B98 S\n", + "freq 1 577 7 4 644" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df.describe(include=[\"object\"])" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 424 + }, + "executionInfo": { + "elapsed": 113, + "status": "ok", + "timestamp": 1716443268210, + "user": { + "displayName": "Raymond Zhang", + "userId": "05735583802406577666" + }, + "user_tz": 420 + }, + "id": "6D7gAnMA_YwA", + "outputId": "a54e1e70-a799-4479-fdab-d30c63593f96" + }, + "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", + "
SexName
0maleBraund, Mr. Owen Harris
1femaleCumings, Mrs. John Bradley (Florence Briggs Th...
2femaleHeikkinen, Miss. Laina
3femaleFutrelle, Mrs. Jacques Heath (Lily May Peel)
4maleAllen, Mr. William Henry
.........
886maleMontvila, Rev. Juozas
887femaleGraham, Miss. Margaret Edith
888femaleJohnston, Miss. Catherine Helen \"Carrie\"
889maleBehr, Mr. Karl Howell
890maleDooley, Mr. Patrick
\n", + "

891 rows × 2 columns

\n", + "
" + ], + "text/plain": [ + " Sex Name\n", + "0 male Braund, Mr. Owen Harris\n", + "1 female Cumings, Mrs. John Bradley (Florence Briggs Th...\n", + "2 female Heikkinen, Miss. Laina\n", + "3 female Futrelle, Mrs. Jacques Heath (Lily May Peel)\n", + "4 male Allen, Mr. William Henry\n", + ".. ... ...\n", + "886 male Montvila, Rev. Juozas\n", + "887 female Graham, Miss. Margaret Edith\n", + "888 female Johnston, Miss. Catherine Helen \"Carrie\"\n", + "889 male Behr, Mr. Karl Howell\n", + "890 male Dooley, Mr. Patrick\n", + "\n", + "[891 rows x 2 columns]" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df[['Sex','Name']]" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "VNp2qIJZ_mAm" + }, + "source": [ + "Gender Ratio" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "executionInfo": { + "elapsed": 155, + "status": "ok", + "timestamp": 1716443321710, + "user": { + "displayName": "Raymond Zhang", + "userId": "05735583802406577666" + }, + "user_tz": 420 + }, + "id": "5IJWIeyU_lar", + "outputId": "61224172-ca38-47ed-a2bc-984e30078e26" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Sex\n", + "male 577\n", + "female 314\n", + "Name: count, dtype: int64" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df[\"Sex\"].value_counts()" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "executionInfo": { + "elapsed": 133, + "status": "ok", + "timestamp": 1716443415162, + "user": { + "displayName": "Raymond Zhang", + "userId": "05735583802406577666" + }, + "user_tz": 420 + }, + "id": "xX_Y0zZx_-q3", + "outputId": "f9a8d74b-61cc-42cd-d7c0-b163964ceac1" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "Sex\n", + "male 0.647587\n", + "female 0.352413\n", + "Name: proportion, dtype: float64" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df[\"Sex\"].value_counts(normalize=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "ename": "KeyError", + "evalue": "\"['PassengerId'] not found in axis\"", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[21], line 2\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m# PassengerId is a dataset artifact, not something useful for analysis\u001b[39;00m\n\u001b[0;32m----> 2\u001b[0m \u001b[43mdf\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdrop\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mPassengerId\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43maxis\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43minplace\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m)\u001b[49m\n\u001b[1;32m 3\u001b[0m df\n", + "File \u001b[0;32m/opt/anaconda3/envs/nlp/lib/python3.10/site-packages/pandas/core/frame.py:5347\u001b[0m, in \u001b[0;36mDataFrame.drop\u001b[0;34m(self, labels, axis, index, columns, level, inplace, errors)\u001b[0m\n\u001b[1;32m 5199\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mdrop\u001b[39m(\n\u001b[1;32m 5200\u001b[0m \u001b[38;5;28mself\u001b[39m,\n\u001b[1;32m 5201\u001b[0m labels: IndexLabel \u001b[38;5;241m|\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 5208\u001b[0m errors: IgnoreRaise \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mraise\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 5209\u001b[0m ) \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m>\u001b[39m DataFrame \u001b[38;5;241m|\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 5210\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 5211\u001b[0m \u001b[38;5;124;03m Drop specified labels from rows or columns.\u001b[39;00m\n\u001b[1;32m 5212\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 5345\u001b[0m \u001b[38;5;124;03m weight 1.0 0.8\u001b[39;00m\n\u001b[1;32m 5346\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m-> 5347\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43msuper\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdrop\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 5348\u001b[0m \u001b[43m \u001b[49m\u001b[43mlabels\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mlabels\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 5349\u001b[0m \u001b[43m \u001b[49m\u001b[43maxis\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43maxis\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 5350\u001b[0m \u001b[43m \u001b[49m\u001b[43mindex\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mindex\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 5351\u001b[0m \u001b[43m \u001b[49m\u001b[43mcolumns\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcolumns\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 5352\u001b[0m \u001b[43m \u001b[49m\u001b[43mlevel\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mlevel\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 5353\u001b[0m \u001b[43m \u001b[49m\u001b[43minplace\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43minplace\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 5354\u001b[0m \u001b[43m \u001b[49m\u001b[43merrors\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43merrors\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 5355\u001b[0m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/opt/anaconda3/envs/nlp/lib/python3.10/site-packages/pandas/core/generic.py:4711\u001b[0m, in \u001b[0;36mNDFrame.drop\u001b[0;34m(self, labels, axis, index, columns, level, inplace, errors)\u001b[0m\n\u001b[1;32m 4709\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m axis, labels \u001b[38;5;129;01min\u001b[39;00m axes\u001b[38;5;241m.\u001b[39mitems():\n\u001b[1;32m 4710\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m labels \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m-> 4711\u001b[0m obj \u001b[38;5;241m=\u001b[39m \u001b[43mobj\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_drop_axis\u001b[49m\u001b[43m(\u001b[49m\u001b[43mlabels\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43maxis\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mlevel\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mlevel\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43merrors\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43merrors\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 4713\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m inplace:\n\u001b[1;32m 4714\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_update_inplace(obj)\n", + "File \u001b[0;32m/opt/anaconda3/envs/nlp/lib/python3.10/site-packages/pandas/core/generic.py:4753\u001b[0m, in \u001b[0;36mNDFrame._drop_axis\u001b[0;34m(self, labels, axis, level, errors, only_slice)\u001b[0m\n\u001b[1;32m 4751\u001b[0m new_axis \u001b[38;5;241m=\u001b[39m axis\u001b[38;5;241m.\u001b[39mdrop(labels, level\u001b[38;5;241m=\u001b[39mlevel, errors\u001b[38;5;241m=\u001b[39merrors)\n\u001b[1;32m 4752\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m-> 4753\u001b[0m new_axis \u001b[38;5;241m=\u001b[39m \u001b[43maxis\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mdrop\u001b[49m\u001b[43m(\u001b[49m\u001b[43mlabels\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43merrors\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43merrors\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 4754\u001b[0m indexer \u001b[38;5;241m=\u001b[39m axis\u001b[38;5;241m.\u001b[39mget_indexer(new_axis)\n\u001b[1;32m 4756\u001b[0m \u001b[38;5;66;03m# Case for non-unique axis\u001b[39;00m\n\u001b[1;32m 4757\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n", + "File \u001b[0;32m/opt/anaconda3/envs/nlp/lib/python3.10/site-packages/pandas/core/indexes/base.py:6992\u001b[0m, in \u001b[0;36mIndex.drop\u001b[0;34m(self, labels, errors)\u001b[0m\n\u001b[1;32m 6990\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m mask\u001b[38;5;241m.\u001b[39many():\n\u001b[1;32m 6991\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m errors \u001b[38;5;241m!=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mignore\u001b[39m\u001b[38;5;124m\"\u001b[39m:\n\u001b[0;32m-> 6992\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mKeyError\u001b[39;00m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mlabels[mask]\u001b[38;5;241m.\u001b[39mtolist()\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m not found in axis\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 6993\u001b[0m indexer \u001b[38;5;241m=\u001b[39m indexer[\u001b[38;5;241m~\u001b[39mmask]\n\u001b[1;32m 6994\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdelete(indexer)\n", + "\u001b[0;31mKeyError\u001b[0m: \"['PassengerId'] not found in axis\"" + ] + } + ], + "source": [ + "# PassengerId is a dataset artifact, not something useful for analysis\n", + "df.drop(\"PassengerId\", axis=1, inplace=True)\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "id": "pKrM2OZw97Fp" + }, + "outputs": [], + "source": [ + "# We want to use Age as one of the main examples, drop rows that are missing Age values\n", + "df.dropna(subset=[\"Age\"], inplace=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df[['Age']].boxplot()\n", + "#plt.show(df[['Age']].hist())\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "h14MkI748ohj" + }, + "source": [ + "## Numeric vs. Categorical EDA\n", + "\n", + "Here we are trying to see the relationship between a given numeric feature and the target, which is categorical. Let's use the `Age` column as an example.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "J0Mqld_X8ohj" + }, + "source": [ + "### Multiple Histograms\n", + "\n", + "Rather than using the y axis to represent the two categories, let's use two different colors. That means that we can use the y axis to represent counts rather than trying to discern this information from the density of dots." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": { + "id": "ZixaQbWc8ohj", + "outputId": "66c8f491-163e-408b-c5d2-70947d1b325b" + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots()\n", + "\n", + "ax.hist(df[df[\"Survived\"]==1][\"Age\"], bins=15, alpha=0.5, color=\"blue\", label=\"survived\")\n", + "ax.hist(df[df[\"Survived\"]==0][\"Age\"], bins=15, alpha=0.5, color=\"green\", label=\"did not survive\")\n", + "\n", + "ax.set_xlabel(\"Age\")\n", + "ax.set_ylabel(\"Count of passengers\")\n", + "\n", + "fig.suptitle(\"Age vs. Survival for Titanic Passengers\")\n", + "\n", + "ax.legend();" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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VJqwsDCYmZmJHwcHh8rbMSIiItIojYedS5cuwcTEBPr6+vj444+xa9cuuLq6IjU1FXp6ejA3N1fqb2Njg9TUVABAamqqUtApnl8871VCQ0ORmZkpfm7fvq3enSIiIqIqQ0fTBdSvXx/nz59HZmYmtm/fjsDAQBw5cqRSt6mvrw99ff1K3QYRERFVDRoPO3p6eqhTpw4AoHnz5jh9+jSWLVuGQYMGoaCgABkZGUpnd9LS0mBrawsAsLW1xalTp5TWV3y3VnEfIiIi+m/T+GWslykUCuTn56N58+bQ1dXFwYMHxXkJCQlITk6Gh4cHAMDDwwOXLl1Cenq62Cc6OhpyuRyurq5vvXYiIiKqejR6Zic0NBR+fn6oVasWsrOzERERgdjYWERFRcHMzAwjRozApEmTYGlpCblcjnHjxsHDwwNt2rQBAPj4+MDV1RXDhg3D4sWLkZqaihkzZiAkJISXqYiIiAiAhsNOeno6hg8fjpSUFJiZmaFx48aIiopC165dAQDffvsttLS04O/vj/z8fPj6+uL7778Xl9fW1sa+ffsQHBwMDw8PGBsbIzAwEPPmzdPULhEREVEVU+Wes6MJZb1Pn4iI6F3G5+wQERERSRDDDhEREUkaww4RERFJGsMOERERSRrDDhEREUkaww4RERFJGsMOERERSRrDDhEREUkaww4RERFJGsMOERERSRrDDhEREUkaww4RERFJGsMOERERSRrDDhEREUkaww4RERFJGsMOERERSRrDDhEREUkaww4RERFJGsMOERERSRrDDhEREUkaww4RERFJGsMOERERSRrDDhEREUkaww4RERFJGsMOERERSRrDDhEREUkaww4RERFJGsMOERERSRrDDhEREUkaww4RERFJGsMOERERSZpawk5GRoY6VkNERESkdiqHnUWLFmHLli3i9MCBA1GtWjXUqFEDFy5cUGtxRERERBWlcthZvXo1HBwcAADR0dGIjo7G/v374efnhylTpqi9QCIiIqKK0FF1gdTUVDHs7Nu3DwMHDoSPjw+cnJzQunVrtRdIREREVBEqn9mxsLDA7du3AQCRkZHw9vYGAAiCgKKiIvVWR0RERFRBKp/Z6devH4YOHYq6devi4cOH8PPzAwCcO3cOderUUXuBRERERBWhctj59ttv4ezsjOTkZCxevBgmJiYAgJSUFHzyySdqL5CI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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots()\n", + "\n", + "ax.hist(df[df[\"Survived\"]==1][\"Sex\"], bins=15, alpha=0.5, color=\"blue\", label=\"survived\")\n", + "ax.hist(df[df[\"Survived\"]==0][\"Sex\"], bins=15, alpha=0.5, color=\"green\", label=\"did not survive\")\n", + "\n", + "ax.set_xlabel(\"Sex\")\n", + "ax.set_ylabel(\"Count of passengers\")\n", + "\n", + "fig.suptitle(\"Age vs. Survival for Titanic Passengers\")\n", + "\n", + "ax.legend();" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "v3l2bgk_8ohk" + }, + "source": [ + "### Multiple Density Estimate Plots\n", + "\n", + "This is showing largely the same information as the histograms, except that it's a density estimate (estimate of the probability density function) rather than a count across bins. Seaborn has nice built-in functionality for this." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "id": "LUfCRUzg8ohk", + "outputId": "5199887f-4fc5-4585-a6b5-2353466935c5" + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/opt/anaconda3/envs/nlp/lib/python3.10/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead\n", + " if pd.api.types.is_categorical_dtype(vector):\n", + "/opt/anaconda3/envs/nlp/lib/python3.10/site-packages/seaborn/_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n", + "/opt/anaconda3/envs/nlp/lib/python3.10/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead\n", + " if pd.api.types.is_categorical_dtype(vector):\n", + "/opt/anaconda3/envs/nlp/lib/python3.10/site-packages/seaborn/_oldcore.py:1119: FutureWarning: use_inf_as_na option is deprecated and will be removed in a future version. Convert inf values to NaN before operating instead.\n", + " with pd.option_context('mode.use_inf_as_na', True):\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots()\n", + "\n", + "sns.kdeplot(df[df[\"Survived\"]==1][\"Age\"], fill=True, color=\"blue\", label=\"survived\", ax=ax)\n", + "sns.kdeplot(df[df[\"Survived\"]==0][\"Age\"], fill=True, color=\"green\", label=\"did not survive\", ax=ax)\n", + "\n", + "ax.set_xlabel(\"Age\")\n", + "ax.set_ylabel(\"Density\")\n", + "\n", + "fig.suptitle(\"Age vs. Survival for Titanic Passengers\");" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "QFfsAqW78ohk" + }, + "source": [ + "### Multiple Box Plots\n", + "\n", + "Here we lose some of the information about the distribution overall in order to focus in on particular summary statistics of the distribution\n", + "\n", + "\"Box\n", + "\n", + "Matplotlib and Seaborn both have methods for this. The Seaborn one is built on top of the Matplotlib one." + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "id": "CEB3nbqZ8ohk", + "outputId": "be3bcdf0-8e66-4d2d-fc94-6f992946b717" + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/opt/anaconda3/envs/nlp/lib/python3.10/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead\n", + " if pd.api.types.is_categorical_dtype(vector):\n", + "/opt/anaconda3/envs/nlp/lib/python3.10/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead\n", + " if pd.api.types.is_categorical_dtype(vector):\n", + "/opt/anaconda3/envs/nlp/lib/python3.10/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead\n", + " if pd.api.types.is_categorical_dtype(vector):\n" + ] + }, + { + "ename": "KeyError", + "evalue": "0", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[23], line 3\u001b[0m\n\u001b[1;32m 1\u001b[0m fig, ax \u001b[38;5;241m=\u001b[39m plt\u001b[38;5;241m.\u001b[39msubplots()\n\u001b[0;32m----> 3\u001b[0m \u001b[43msns\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mboxplot\u001b[49m\u001b[43m(\u001b[49m\u001b[43mx\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mAge\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43my\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mSurvived\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdata\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdf\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43morient\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mh\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpalette\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m{\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43m1\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m \u001b[49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mblue\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43m0\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m \u001b[49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mgreen\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m}\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43max\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43max\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 5\u001b[0m ax\u001b[38;5;241m.\u001b[39mget_yaxis()\u001b[38;5;241m.\u001b[39mset_visible(\u001b[38;5;28;01mFalse\u001b[39;00m)\n\u001b[1;32m 7\u001b[0m fig\u001b[38;5;241m.\u001b[39msuptitle(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mAge vs. Survival for Titanic Passengers\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", + "File \u001b[0;32m/opt/anaconda3/envs/nlp/lib/python3.10/site-packages/seaborn/categorical.py:2231\u001b[0m, in \u001b[0;36mboxplot\u001b[0;34m(data, x, y, hue, order, hue_order, orient, color, palette, saturation, width, dodge, fliersize, linewidth, whis, ax, **kwargs)\u001b[0m\n\u001b[1;32m 2224\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mboxplot\u001b[39m(\n\u001b[1;32m 2225\u001b[0m data\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, \u001b[38;5;241m*\u001b[39m, x\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, y\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, hue\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, order\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, hue_order\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[1;32m 2226\u001b[0m orient\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, color\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, palette\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, saturation\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m.75\u001b[39m, width\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m.8\u001b[39m,\n\u001b[1;32m 2227\u001b[0m dodge\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m, fliersize\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m5\u001b[39m, linewidth\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, whis\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m1.5\u001b[39m, ax\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m,\n\u001b[1;32m 2228\u001b[0m \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs\n\u001b[1;32m 2229\u001b[0m ):\n\u001b[0;32m-> 2231\u001b[0m plotter \u001b[38;5;241m=\u001b[39m \u001b[43m_BoxPlotter\u001b[49m\u001b[43m(\u001b[49m\u001b[43mx\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43my\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mhue\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdata\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43morder\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mhue_order\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 2232\u001b[0m \u001b[43m \u001b[49m\u001b[43morient\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcolor\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpalette\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msaturation\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 2233\u001b[0m \u001b[43m \u001b[49m\u001b[43mwidth\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdodge\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mfliersize\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mlinewidth\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 2235\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m ax \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 2236\u001b[0m ax \u001b[38;5;241m=\u001b[39m plt\u001b[38;5;241m.\u001b[39mgca()\n", + "File \u001b[0;32m/opt/anaconda3/envs/nlp/lib/python3.10/site-packages/seaborn/categorical.py:786\u001b[0m, in \u001b[0;36m_BoxPlotter.__init__\u001b[0;34m(self, x, y, hue, data, order, hue_order, orient, color, palette, saturation, width, dodge, fliersize, linewidth)\u001b[0m\n\u001b[1;32m 781\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21m__init__\u001b[39m(\u001b[38;5;28mself\u001b[39m, x, y, hue, data, order, hue_order,\n\u001b[1;32m 782\u001b[0m orient, color, palette, saturation,\n\u001b[1;32m 783\u001b[0m width, dodge, fliersize, linewidth):\n\u001b[1;32m 785\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mestablish_variables(x, y, hue, data, orient, order, hue_order)\n\u001b[0;32m--> 786\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mestablish_colors\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcolor\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpalette\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43msaturation\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 788\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdodge \u001b[38;5;241m=\u001b[39m dodge\n\u001b[1;32m 789\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mwidth \u001b[38;5;241m=\u001b[39m width\n", + "File \u001b[0;32m/opt/anaconda3/envs/nlp/lib/python3.10/site-packages/seaborn/categorical.py:694\u001b[0m, in \u001b[0;36m_CategoricalPlotter.establish_colors\u001b[0;34m(self, color, palette, saturation)\u001b[0m\n\u001b[1;32m 692\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 693\u001b[0m levels \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhue_names\n\u001b[0;32m--> 694\u001b[0m palette \u001b[38;5;241m=\u001b[39m [palette[l] \u001b[38;5;28;01mfor\u001b[39;00m l \u001b[38;5;129;01min\u001b[39;00m levels]\n\u001b[1;32m 696\u001b[0m colors \u001b[38;5;241m=\u001b[39m color_palette(palette, n_colors)\n\u001b[1;32m 698\u001b[0m \u001b[38;5;66;03m# Desaturate a bit because these are patches\u001b[39;00m\n", + "File \u001b[0;32m/opt/anaconda3/envs/nlp/lib/python3.10/site-packages/seaborn/categorical.py:694\u001b[0m, in \u001b[0;36m\u001b[0;34m(.0)\u001b[0m\n\u001b[1;32m 692\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 693\u001b[0m levels \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhue_names\n\u001b[0;32m--> 694\u001b[0m palette \u001b[38;5;241m=\u001b[39m [\u001b[43mpalette\u001b[49m\u001b[43m[\u001b[49m\u001b[43ml\u001b[49m\u001b[43m]\u001b[49m \u001b[38;5;28;01mfor\u001b[39;00m l \u001b[38;5;129;01min\u001b[39;00m levels]\n\u001b[1;32m 696\u001b[0m colors \u001b[38;5;241m=\u001b[39m color_palette(palette, n_colors)\n\u001b[1;32m 698\u001b[0m \u001b[38;5;66;03m# Desaturate a bit because these are patches\u001b[39;00m\n", + "\u001b[0;31mKeyError\u001b[0m: 0" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots()\n", + "\n", + "sns.boxplot(x=\"Age\", y=\"Survived\", data=df, orient=\"h\", palette={'1' : \"blue\", '0' : \"green\"}, ax=ax)\n", + "\n", + "ax.get_yaxis().set_visible(False)\n", + "\n", + "fig.suptitle(\"Age vs. Survival for Titanic Passengers\")\n", + "\n", + "color_patches = [\n", + " Patch(facecolor=\"blue\", label=\"survived\"),\n", + " Patch(facecolor=\"green\", label=\"did not survive\")\n", + "]\n", + "ax.legend(handles=color_patches);" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "JyMIiiAT8ohk" + }, + "source": [ + "## Categorical vs. Categorical EDA\n", + "\n", + "Here we are trying to see the relationship between a given categorical variable and the target (which is also categorical). Let's use the `Pclass` (passenger class) feature as an example." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Z21VQ_gt8ohk" + }, + "source": [ + "### Grouped Bar Charts\n", + "\n", + "This shows the distribution across the categories, similar to the \"multiple histograms\" example for numeric vs. categorical" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "id": "gr6vsXrk8ohk", + "outputId": "04ef5003-1b10-41b1-8b13-d85ee7ad853a" + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/opt/anaconda3/envs/nlp/lib/python3.10/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead\n", + " if pd.api.types.is_categorical_dtype(vector):\n", + "/opt/anaconda3/envs/nlp/lib/python3.10/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead\n", + " if pd.api.types.is_categorical_dtype(vector):\n", + "/opt/anaconda3/envs/nlp/lib/python3.10/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead\n", + " if pd.api.types.is_categorical_dtype(vector):\n", + "/opt/anaconda3/envs/nlp/lib/python3.10/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead\n", + " if pd.api.types.is_categorical_dtype(vector):\n" + ] + }, + { + "ename": "AttributeError", + "evalue": "'numpy.int64' object has no attribute 'startswith'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[24], line 4\u001b[0m\n\u001b[1;32m 1\u001b[0m fig, ax \u001b[38;5;241m=\u001b[39m plt\u001b[38;5;241m.\u001b[39msubplots()\n\u001b[1;32m 3\u001b[0m \u001b[38;5;66;03m# Use countplot instead of catplot\u001b[39;00m\n\u001b[0;32m----> 4\u001b[0m \u001b[43msns\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcountplot\u001b[49m\u001b[43m(\u001b[49m\u001b[43mx\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mPclass\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mhue\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mSurvived\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdata\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdf\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpalette\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m{\u001b[49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mblue\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mgreen\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m}\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43max\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43max\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 6\u001b[0m \u001b[38;5;66;03m# Set the labels\u001b[39;00m\n\u001b[1;32m 7\u001b[0m ax\u001b[38;5;241m.\u001b[39mset_xlabel(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mPassenger Class\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", + "File \u001b[0;32m/opt/anaconda3/envs/nlp/lib/python3.10/site-packages/seaborn/categorical.py:2955\u001b[0m, in \u001b[0;36mcountplot\u001b[0;34m(data, x, y, hue, order, hue_order, orient, color, palette, saturation, width, dodge, ax, **kwargs)\u001b[0m\n\u001b[1;32m 2952\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m ax \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 2953\u001b[0m ax \u001b[38;5;241m=\u001b[39m plt\u001b[38;5;241m.\u001b[39mgca()\n\u001b[0;32m-> 2955\u001b[0m \u001b[43mplotter\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mplot\u001b[49m\u001b[43m(\u001b[49m\u001b[43max\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 2956\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m ax\n", + "File \u001b[0;32m/opt/anaconda3/envs/nlp/lib/python3.10/site-packages/seaborn/categorical.py:1587\u001b[0m, in \u001b[0;36m_BarPlotter.plot\u001b[0;34m(self, ax, bar_kws)\u001b[0m\n\u001b[1;32m 1585\u001b[0m \u001b[38;5;124;03m\"\"\"Make the plot.\"\"\"\u001b[39;00m\n\u001b[1;32m 1586\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdraw_bars(ax, bar_kws)\n\u001b[0;32m-> 1587\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mannotate_axes\u001b[49m\u001b[43m(\u001b[49m\u001b[43max\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1588\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39morient \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mh\u001b[39m\u001b[38;5;124m\"\u001b[39m:\n\u001b[1;32m 1589\u001b[0m ax\u001b[38;5;241m.\u001b[39minvert_yaxis()\n", + "File \u001b[0;32m/opt/anaconda3/envs/nlp/lib/python3.10/site-packages/seaborn/categorical.py:767\u001b[0m, in \u001b[0;36m_CategoricalPlotter.annotate_axes\u001b[0;34m(self, ax)\u001b[0m\n\u001b[1;32m 764\u001b[0m ax\u001b[38;5;241m.\u001b[39mset_ylim(\u001b[38;5;241m-\u001b[39m\u001b[38;5;241m.5\u001b[39m, \u001b[38;5;28mlen\u001b[39m(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mplot_data) \u001b[38;5;241m-\u001b[39m \u001b[38;5;241m.5\u001b[39m, auto\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m)\n\u001b[1;32m 766\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhue_names \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m--> 767\u001b[0m \u001b[43max\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mlegend\u001b[49m\u001b[43m(\u001b[49m\u001b[43mloc\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mbest\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtitle\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mhue_title\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/opt/anaconda3/envs/nlp/lib/python3.10/site-packages/matplotlib/axes/_axes.py:322\u001b[0m, in \u001b[0;36mAxes.legend\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 204\u001b[0m \u001b[38;5;129m@_docstring\u001b[39m\u001b[38;5;241m.\u001b[39mdedent_interpd\n\u001b[1;32m 205\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mlegend\u001b[39m(\u001b[38;5;28mself\u001b[39m, \u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 206\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 207\u001b[0m \u001b[38;5;124;03m Place a legend on the Axes.\u001b[39;00m\n\u001b[1;32m 208\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 320\u001b[0m \u001b[38;5;124;03m .. plot:: gallery/text_labels_and_annotations/legend.py\u001b[39;00m\n\u001b[1;32m 321\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 322\u001b[0m handles, labels, kwargs \u001b[38;5;241m=\u001b[39m \u001b[43mmlegend\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_parse_legend_args\u001b[49m\u001b[43m(\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 323\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mlegend_ \u001b[38;5;241m=\u001b[39m mlegend\u001b[38;5;241m.\u001b[39mLegend(\u001b[38;5;28mself\u001b[39m, handles, labels, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[1;32m 324\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mlegend_\u001b[38;5;241m.\u001b[39m_remove_method \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_remove_legend\n", + "File \u001b[0;32m/opt/anaconda3/envs/nlp/lib/python3.10/site-packages/matplotlib/legend.py:1361\u001b[0m, in \u001b[0;36m_parse_legend_args\u001b[0;34m(axs, handles, labels, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1357\u001b[0m handles \u001b[38;5;241m=\u001b[39m [handle \u001b[38;5;28;01mfor\u001b[39;00m handle, label\n\u001b[1;32m 1358\u001b[0m \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mzip\u001b[39m(_get_legend_handles(axs, handlers), labels)]\n\u001b[1;32m 1360\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(args) \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m0\u001b[39m: \u001b[38;5;66;03m# 0 args: automatically detect labels and handles.\u001b[39;00m\n\u001b[0;32m-> 1361\u001b[0m handles, labels \u001b[38;5;241m=\u001b[39m \u001b[43m_get_legend_handles_labels\u001b[49m\u001b[43m(\u001b[49m\u001b[43maxs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mhandlers\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1362\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m handles:\n\u001b[1;32m 1363\u001b[0m log\u001b[38;5;241m.\u001b[39mwarning(\n\u001b[1;32m 1364\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mNo artists with labels found to put in legend. Note that \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 1365\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124martists whose label start with an underscore are ignored \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 1366\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mwhen legend() is called with no argument.\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", + "File \u001b[0;32m/opt/anaconda3/envs/nlp/lib/python3.10/site-packages/matplotlib/legend.py:1291\u001b[0m, in \u001b[0;36m_get_legend_handles_labels\u001b[0;34m(axs, legend_handler_map)\u001b[0m\n\u001b[1;32m 1289\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m handle \u001b[38;5;129;01min\u001b[39;00m _get_legend_handles(axs, legend_handler_map):\n\u001b[1;32m 1290\u001b[0m label \u001b[38;5;241m=\u001b[39m handle\u001b[38;5;241m.\u001b[39mget_label()\n\u001b[0;32m-> 1291\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m label \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[43mlabel\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mstartswith\u001b[49m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m_\u001b[39m\u001b[38;5;124m'\u001b[39m):\n\u001b[1;32m 1292\u001b[0m handles\u001b[38;5;241m.\u001b[39mappend(handle)\n\u001b[1;32m 1293\u001b[0m labels\u001b[38;5;241m.\u001b[39mappend(label)\n", + "\u001b[0;31mAttributeError\u001b[0m: 'numpy.int64' object has no attribute 'startswith'" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots()\n", + "\n", + "# Use countplot instead of catplot\n", + "sns.countplot(x=\"Pclass\", hue=\"Survived\", data=df, palette={1: \"blue\", 0: \"green\"}, ax=ax)\n", + "\n", + "# Set the labels\n", + "ax.set_xlabel(\"Passenger Class\")\n", + "\n", + "# Create custom legend\n", + "color_patches = [\n", + " Patch(facecolor=\"blue\", label=\"Survived\"),\n", + " Patch(facecolor=\"green\", label=\"Did Not Survive\")\n", + "]\n", + "ax.legend(handles=color_patches)\n", + "\n", + "# Set the title\n", + "fig.suptitle(\"Passenger Class vs. Survival for Titanic Passengers\")\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "id": "kXl-Z3hp8ohk", + "outputId": "a462ad14-a951-478d-ebc2-12c2116bcd19" + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/opt/anaconda3/envs/nlp/lib/python3.10/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead\n", + " if pd.api.types.is_categorical_dtype(vector):\n", + "/opt/anaconda3/envs/nlp/lib/python3.10/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead\n", + " if pd.api.types.is_categorical_dtype(vector):\n", + "/opt/anaconda3/envs/nlp/lib/python3.10/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead\n", + " if pd.api.types.is_categorical_dtype(vector):\n", + "/opt/anaconda3/envs/nlp/lib/python3.10/site-packages/seaborn/_oldcore.py:1498: FutureWarning: is_categorical_dtype is deprecated and will be removed in a future version. Use isinstance(dtype, CategoricalDtype) instead\n", + " if pd.api.types.is_categorical_dtype(vector):\n" + ] + }, + { + "ename": "AttributeError", + "evalue": "'numpy.int64' object has no attribute 'startswith'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[25], line 4\u001b[0m\n\u001b[1;32m 1\u001b[0m fig, ax \u001b[38;5;241m=\u001b[39m plt\u001b[38;5;241m.\u001b[39msubplots()\n\u001b[1;32m 3\u001b[0m \u001b[38;5;66;03m# Corrected countplot usage\u001b[39;00m\n\u001b[0;32m----> 4\u001b[0m \u001b[43msns\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mcountplot\u001b[49m\u001b[43m(\u001b[49m\u001b[43mx\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mSurvived\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mhue\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mPclass\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdata\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mdf\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mpalette\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m{\u001b[49m\u001b[38;5;241;43m1\u001b[39;49m\u001b[43m:\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43myellow\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m2\u001b[39;49m\u001b[43m:\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43morange\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m3\u001b[39;49m\u001b[43m:\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mred\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m}\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43max\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43max\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 6\u001b[0m \u001b[38;5;66;03m# Remove plt.close(2) as it is unnecessary\u001b[39;00m\n\u001b[1;32m 7\u001b[0m \n\u001b[1;32m 8\u001b[0m \u001b[38;5;66;03m# Set legend title\u001b[39;00m\n\u001b[1;32m 9\u001b[0m ax\u001b[38;5;241m.\u001b[39mlegend(title\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mPassenger Class\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", + "File \u001b[0;32m/opt/anaconda3/envs/nlp/lib/python3.10/site-packages/seaborn/categorical.py:2955\u001b[0m, in \u001b[0;36mcountplot\u001b[0;34m(data, x, y, hue, order, hue_order, orient, color, palette, saturation, width, dodge, ax, **kwargs)\u001b[0m\n\u001b[1;32m 2952\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m ax \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 2953\u001b[0m ax \u001b[38;5;241m=\u001b[39m plt\u001b[38;5;241m.\u001b[39mgca()\n\u001b[0;32m-> 2955\u001b[0m \u001b[43mplotter\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mplot\u001b[49m\u001b[43m(\u001b[49m\u001b[43max\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 2956\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m ax\n", + "File \u001b[0;32m/opt/anaconda3/envs/nlp/lib/python3.10/site-packages/seaborn/categorical.py:1587\u001b[0m, in \u001b[0;36m_BarPlotter.plot\u001b[0;34m(self, ax, bar_kws)\u001b[0m\n\u001b[1;32m 1585\u001b[0m \u001b[38;5;124;03m\"\"\"Make the plot.\"\"\"\u001b[39;00m\n\u001b[1;32m 1586\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mdraw_bars(ax, bar_kws)\n\u001b[0;32m-> 1587\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mannotate_axes\u001b[49m\u001b[43m(\u001b[49m\u001b[43max\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1588\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39morient \u001b[38;5;241m==\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mh\u001b[39m\u001b[38;5;124m\"\u001b[39m:\n\u001b[1;32m 1589\u001b[0m ax\u001b[38;5;241m.\u001b[39minvert_yaxis()\n", + "File \u001b[0;32m/opt/anaconda3/envs/nlp/lib/python3.10/site-packages/seaborn/categorical.py:767\u001b[0m, in \u001b[0;36m_CategoricalPlotter.annotate_axes\u001b[0;34m(self, ax)\u001b[0m\n\u001b[1;32m 764\u001b[0m ax\u001b[38;5;241m.\u001b[39mset_ylim(\u001b[38;5;241m-\u001b[39m\u001b[38;5;241m.5\u001b[39m, \u001b[38;5;28mlen\u001b[39m(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mplot_data) \u001b[38;5;241m-\u001b[39m \u001b[38;5;241m.5\u001b[39m, auto\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m)\n\u001b[1;32m 766\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhue_names \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m--> 767\u001b[0m \u001b[43max\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mlegend\u001b[49m\u001b[43m(\u001b[49m\u001b[43mloc\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mbest\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mtitle\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mhue_title\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m/opt/anaconda3/envs/nlp/lib/python3.10/site-packages/matplotlib/axes/_axes.py:322\u001b[0m, in \u001b[0;36mAxes.legend\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 204\u001b[0m \u001b[38;5;129m@_docstring\u001b[39m\u001b[38;5;241m.\u001b[39mdedent_interpd\n\u001b[1;32m 205\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mlegend\u001b[39m(\u001b[38;5;28mself\u001b[39m, \u001b[38;5;241m*\u001b[39margs, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs):\n\u001b[1;32m 206\u001b[0m \u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m 207\u001b[0m \u001b[38;5;124;03m Place a legend on the Axes.\u001b[39;00m\n\u001b[1;32m 208\u001b[0m \n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 320\u001b[0m \u001b[38;5;124;03m .. plot:: gallery/text_labels_and_annotations/legend.py\u001b[39;00m\n\u001b[1;32m 321\u001b[0m \u001b[38;5;124;03m \"\"\"\u001b[39;00m\n\u001b[0;32m--> 322\u001b[0m handles, labels, kwargs \u001b[38;5;241m=\u001b[39m \u001b[43mmlegend\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_parse_legend_args\u001b[49m\u001b[43m(\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43margs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwargs\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 323\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mlegend_ \u001b[38;5;241m=\u001b[39m mlegend\u001b[38;5;241m.\u001b[39mLegend(\u001b[38;5;28mself\u001b[39m, handles, labels, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mkwargs)\n\u001b[1;32m 324\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mlegend_\u001b[38;5;241m.\u001b[39m_remove_method \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_remove_legend\n", + "File \u001b[0;32m/opt/anaconda3/envs/nlp/lib/python3.10/site-packages/matplotlib/legend.py:1361\u001b[0m, in \u001b[0;36m_parse_legend_args\u001b[0;34m(axs, handles, labels, *args, **kwargs)\u001b[0m\n\u001b[1;32m 1357\u001b[0m handles \u001b[38;5;241m=\u001b[39m [handle \u001b[38;5;28;01mfor\u001b[39;00m handle, label\n\u001b[1;32m 1358\u001b[0m \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mzip\u001b[39m(_get_legend_handles(axs, handlers), labels)]\n\u001b[1;32m 1360\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(args) \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m0\u001b[39m: \u001b[38;5;66;03m# 0 args: automatically detect labels and handles.\u001b[39;00m\n\u001b[0;32m-> 1361\u001b[0m handles, labels \u001b[38;5;241m=\u001b[39m \u001b[43m_get_legend_handles_labels\u001b[49m\u001b[43m(\u001b[49m\u001b[43maxs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mhandlers\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1362\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m handles:\n\u001b[1;32m 1363\u001b[0m log\u001b[38;5;241m.\u001b[39mwarning(\n\u001b[1;32m 1364\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mNo artists with labels found to put in legend. Note that \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 1365\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124martists whose label start with an underscore are ignored \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 1366\u001b[0m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mwhen legend() is called with no argument.\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n", + "File \u001b[0;32m/opt/anaconda3/envs/nlp/lib/python3.10/site-packages/matplotlib/legend.py:1291\u001b[0m, in \u001b[0;36m_get_legend_handles_labels\u001b[0;34m(axs, legend_handler_map)\u001b[0m\n\u001b[1;32m 1289\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m handle \u001b[38;5;129;01min\u001b[39;00m _get_legend_handles(axs, legend_handler_map):\n\u001b[1;32m 1290\u001b[0m label \u001b[38;5;241m=\u001b[39m handle\u001b[38;5;241m.\u001b[39mget_label()\n\u001b[0;32m-> 1291\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m label \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[43mlabel\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mstartswith\u001b[49m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m_\u001b[39m\u001b[38;5;124m'\u001b[39m):\n\u001b[1;32m 1292\u001b[0m handles\u001b[38;5;241m.\u001b[39mappend(handle)\n\u001b[1;32m 1293\u001b[0m labels\u001b[38;5;241m.\u001b[39mappend(label)\n", + "\u001b[0;31mAttributeError\u001b[0m: 'numpy.int64' object has no attribute 'startswith'" + ] + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAGwCAYAAABPSaTdAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAiXElEQVR4nO3de3BU9f3/8deGkCWQ7KaBJJuUAAFtAUGoAUOqZSRGEkAqEi9gagMyMMVEi1HBOFxEaWNpLQwVodMW4kxJpdaCgmNGGkxADGCjiCAgYCgwZAOCyZJQciH7/YMf+3NL5JLbbj48HzM7w55z9uz7qDHPOefsYnG73W4BAAAYKsDXAwAAALQlYgcAABiN2AEAAEYjdgAAgNGIHQAAYDRiBwAAGI3YAQAARgv09QD+oLGxUSdOnFBoaKgsFouvxwEAANfA7Xbr7NmziomJUUDAd5+/IXYknThxQrGxsb4eAwAANMOxY8fUs2fP71xP7EgKDQ2VdPEfls1m8/E0AADgWrhcLsXGxnp+j38XYkfyXLqy2WzEDgAAHczVbkHhBmUAAGA0YgcAABiN2AEAAEYjdgAAgNGIHQAAYDRiBwAAGI3YAQAARiN2AACA0YgdAABgNGIHAAAYjdgBAABGI3YAAIDRiB0AAGA0YgcAABiN2AEAAEYL9PUAwI3qSFycr0fwC33Kynw9AgDDcWYHAAAYjdgBAABGI3YAAIDRiB0AAGA0YgcAABiN2AEAAEYjdgAAgNGIHQAAYDRiBwAAGI3YAQAARiN2AACA0YgdAABgNGIHAAAYjdgBAABGI3YAAIDRiB0AAGA0YgcAABiN2AEAAEYjdgAAgNGIHQAAYDRiBwAAGM2nsZObm6vhw4crNDRUkZGRmjBhgg4cOOC1zV133SWLxeL1+MUvfuG1zdGjRzVu3Dh17dpVkZGRevbZZ9XQ0NCehwIAAPxUoC/fvLi4WJmZmRo+fLgaGhr0/PPPa/To0friiy/UrVs3z3bTp0/Xiy++6HnetWtXz58vXLigcePGyeFw6KOPPlJ5ebl+/vOfq3Pnzvr1r3/drscDAAD8j09jp6CgwOt5Xl6eIiMjVVpaqpEjR3qWd+3aVQ6Ho8l9vP/++/riiy/0r3/9S1FRURo6dKheeuklzZkzRy+88IKCgoLa9BgAAIB/86t7dqqqqiRJ4eHhXsvXrFmjHj16aNCgQcrJydG5c+c860pKSjR48GBFRUV5lqWkpMjlcmnv3r1Nvk9tba1cLpfXAwAAmMmnZ3a+rbGxUbNmzdIdd9yhQYMGeZY/8sgj6t27t2JiYrR7927NmTNHBw4c0D//+U9JktPp9AodSZ7nTqezyffKzc3VwoUL2+hIAACAP/Gb2MnMzNSePXv04Ycfei2fMWOG58+DBw9WdHS07r77bh0+fFj9+vVr1nvl5OQoOzvb89zlcik2NrZ5gwMAAL/mF5exsrKytHHjRn3wwQfq2bPnFbdNSEiQJB06dEiS5HA4VFFR4bXNpeffdZ+P1WqVzWbzegAAADP5NHbcbreysrK0bt06bd68WXFxcVd9za5duyRJ0dHRkqTExER9/vnnOnnypGebTZs2yWazaeDAgW0yNwAA6Dh8ehkrMzNT+fn5evvttxUaGuq5x8Zutys4OFiHDx9Wfn6+xo4dq+7du2v37t166qmnNHLkSN16662SpNGjR2vgwIF69NFHtXjxYjmdTs2dO1eZmZmyWq2+PDwAAOAHLG632+2zN7dYmly+evVqTZkyRceOHdPPfvYz7dmzRzU1NYqNjdX999+vuXPnel16+s9//qOZM2eqqKhI3bp1U0ZGhl5++WUFBl5by7lcLtntdlVVVXFJC+3myDWcybwR9Ckr8/UIADqoa/397dPY8RfEDnyB2LmI2AHQXNf6+9svblAGAABoK8QOAAAwGrEDAACMRuwAAACjETsAAMBoxA4AADAasQMAAIxG7AAAAKMROwAAwGjEDgAAMBqxAwAAjEbsAAAAoxE7AADAaMQOAAAwGrEDAACMRuwAAACjETsAAMBoxA4AADAasQMAAIxG7AAAAKMROwAAwGjEDgAAMBqxAwAAjEbsAAAAoxE7AADAaMQOAAAwGrEDAACMRuwAAACjETsAAMBoxA4AADAasQMAAIxG7AAAAKMROwAAwGjEDgAAMBqxAwAAjEbsAAAAoxE7AADAaMQOAAAwGrEDAACMRuwAAACjETsAAMBoxA4AADAasQMAAIxG7AAAAKMROwAAwGjEDgAAMBqxAwAAjEbsAAAAoxE7AADAaMQOAAAwGrEDAACMRuwAAACjETsAAMBoxA4AADCaT2MnNzdXw4cPV2hoqCIjIzVhwgQdOHDAa5vz588rMzNT3bt3V0hIiNLS0lRRUeG1zdGjRzVu3Dh17dpVkZGRevbZZ9XQ0NCehwIAAPyUT2OnuLhYmZmZ2r59uzZt2qT6+nqNHj1aNTU1nm2eeuopbdiwQW+++aaKi4t14sQJTZw40bP+woULGjdunOrq6vTRRx/p9ddfV15enubPn++LQwIAAH7G4na73b4e4pJTp04pMjJSxcXFGjlypKqqqhQREaH8/Hw98MADkqT9+/drwIABKikp0YgRI/Tee+/p3nvv1YkTJxQVFSVJWrlypebMmaNTp04pKCjoqu/rcrlkt9tVVVUlm83WpscIXHIkLs7XI/iFPmVlvh4BQAd1rb+//eqenaqqKklSeHi4JKm0tFT19fVKTk72bNO/f3/16tVLJSUlkqSSkhINHjzYEzqSlJKSIpfLpb179zb5PrW1tXK5XF4PAABgJr+JncbGRs2aNUt33HGHBg0aJElyOp0KCgpSWFiY17ZRUVFyOp2ebb4dOpfWX1rXlNzcXNntds8jNja2lY8GAAD4C7+JnczMTO3Zs0dvvPFGm79XTk6OqqqqPI9jx461+XsCAADfCPT1AJKUlZWljRs3asuWLerZs6dnucPhUF1dnSorK73O7lRUVMjhcHi22blzp9f+Ln1a69I2/8tqtcpqtbbyUQAAAH/k0zM7brdbWVlZWrdunTZv3qy4/7lhMz4+Xp07d1ZhYaFn2YEDB3T06FElJiZKkhITE/X555/r5MmTnm02bdokm82mgQMHts+BAAAAv+XTMzuZmZnKz8/X22+/rdDQUM89Nna7XcHBwbLb7Zo2bZqys7MVHh4um82mJ554QomJiRoxYoQkafTo0Ro4cKAeffRRLV68WE6nU3PnzlVmZiZnbwAAgG9jZ8WKFZKku+66y2v56tWrNWXKFEnSkiVLFBAQoLS0NNXW1iolJUWvvfaaZ9tOnTpp48aNmjlzphITE9WtWzdlZGToxRdfbK/DAAAAfsyvvmfHV/ieHfgC37NzEd+zA6C5OuT37AAAALQ2YgcAABiN2AEAAEYjdgAAgNGIHQAAYDRiBwAAGI3YAQAARiN2AACA0YgdAABgNGIHAAAYjdgBAABGI3YAAIDRiB0AAGA0YgcAABiN2AEAAEYjdgAAgNGIHQAAYDRiBwAAGI3YAQAARiN2AACA0YgdAABgNGIHAAAYjdgBAABGI3YAAIDRiB0AAGA0YgcAABiN2AEAAEYjdgAAgNGIHQAAYDRiBwAAGI3YAQAARiN2AACA0YgdAABgNGIHAAAYjdgBAABGI3YAAIDRiB0AAGA0YgcAABiN2AEAAEYjdgAAgNGIHQAAYDRiBwAAGI3YAQAARiN2AACA0YgdAABgNGIHAAAYjdgBAABGI3YAAIDRiB0AAGA0YgcAABiN2AEAAEYjdgAAgNGaFTtJSUmqrKy8bLnL5VJSUlJLZwIAAGg1zYqdoqIi1dXVXbb8/Pnz2rp1a4uHAgAAaC2B17Px7t27PX/+4osv5HQ6Pc8vXLiggoICff/732+96QAAAFrous7sDB06VD/60Y9ksViUlJSkoUOHeh7x8fFatGiR5s+ff83727Jli8aPH6+YmBhZLBatX7/ea/2UKVNksVi8HqmpqV7bnDlzRunp6bLZbAoLC9O0adNUXV19PYcFAAAMdl1ndsrKyuR2u9W3b1/t3LlTERERnnVBQUGKjIxUp06drnl/NTU1GjJkiB577DFNnDixyW1SU1O1evVqz3Or1eq1Pj09XeXl5dq0aZPq6+s1depUzZgxQ/n5+ddzaAAAwFDXFTu9e/eWJDU2NrbKm48ZM0Zjxoy54jZWq1UOh6PJdfv27VNBQYE+/vhjDRs2TJL0hz/8QWPHjtXvfvc7xcTENPm62tpa1dbWep67XK5mHgEAAPB31xU733bw4EF98MEHOnny5GXxcz2Xsq6mqKhIkZGR+t73vqekpCQtWrRI3bt3lySVlJQoLCzMEzqSlJycrICAAO3YsUP3339/k/vMzc3VwoULW21GAADgv5oVO3/60580c+ZM9ejRQw6HQxaLxbPOYrG0WuykpqZq4sSJiouL0+HDh/X8889rzJgxKikpUadOneR0OhUZGen1msDAQIWHh3vdPP2/cnJylJ2d7XnucrkUGxvbKjMDAAD/0qzYWbRokX71q19pzpw5rT2Pl0mTJnn+PHjwYN16663q16+fioqKdPfddzd7v1ar9bJ7fwAAgJma9T0733zzjR588MHWnuWq+vbtqx49eujQoUOSJIfDoZMnT3pt09DQoDNnznznfT4AAODG0qzYefDBB/X++++39ixXdfz4cZ0+fVrR0dGSpMTERFVWVqq0tNSzzebNm9XY2KiEhIR2nw8AAPifZl3GuummmzRv3jxt375dgwcPVufOnb3WP/nkk9e0n+rqas9ZGuniR9t37dql8PBwhYeHa+HChUpLS5PD4dDhw4c1e/Zs3XTTTUpJSZEkDRgwQKmpqZo+fbpWrlyp+vp6ZWVladKkSd/5SSwAAHBjsbjdbvf1viguLu67d2ix6Kuvvrqm/RQVFWnUqFGXLc/IyNCKFSs0YcIEffrpp6qsrFRMTIxGjx6tl156SVFRUZ5tz5w5o6ysLG3YsEEBAQFKS0vTsmXLFBIScs3H43K5ZLfbVVVVJZvNds2vA1riyBV+jm4kfcrKfD0CgA7qWn9/Nyt2TEPswBeInYuIHQDNda2/v5t1zw4AAEBH0ax7dh577LErrl+1alWzhgEAAGhtzYqdb775xut5fX299uzZo8rKSiUlJbXKYAAAAK2hWbGzbt26y5Y1NjZq5syZ6tevX4uHAgAAaC2tds9OQECAsrOztWTJktbaJQAAQIu16g3Khw8fVkNDQ2vuEgAAoEWadRnr23+JpiS53W6Vl5fr3XffVUZGRqsMBgAA0BqaFTuffvqp1/OAgABFRETolVdeueontQAAANpTs2Lngw8+aO05AAAA2kSzYueSU6dO6cCBA5KkH/7wh4qIiGiVoQAAAFpLs25Qrqmp0WOPPabo6GiNHDlSI0eOVExMjKZNm6Zz58619owAAADN1qzYyc7OVnFxsTZs2KDKykpVVlbq7bffVnFxsZ5++unWnhEAAKDZmnUZ66233tI//vEP3XXXXZ5lY8eOVXBwsB566CGtWLGiteYDAABokWad2Tl37pyioqIuWx4ZGcllLAAA4FeaFTuJiYlasGCBzp8/71n23//+VwsXLlRiYmKrDQcAANBSzbqMtXTpUqWmpqpnz54aMmSIJOmzzz6T1WrV+++/36oDAgAAtESzYmfw4ME6ePCg1qxZo/3790uSJk+erPT0dAUHB7fqgAAAAC3RrNjJzc1VVFSUpk+f7rV81apVOnXqlObMmdMqwwEAALRUs+7Z+eMf/6j+/ftftvyWW27RypUrWzwUAABAa2lW7DidTkVHR1+2PCIiQuXl5S0eCgAAoLU0K3ZiY2O1bdu2y5Zv27ZNMTExLR4KAACgtTTrnp3p06dr1qxZqq+vV1JSkiSpsLBQs2fP5huUAQCAX2lW7Dz77LM6ffq0Hn/8cdXV1UmSunTpojlz5ignJ6dVBwQAAGgJi9vtdjf3xdXV1dq3b5+Cg4N18803y2q1tuZs7cblcslut6uqqko2m83X4+AGcSQuztcj+IU+ZWW+HgFAB3Wtv7+bdWbnkpCQEA0fPrwluwAAAGhTzbpBGQAAoKMgdgAAgNGIHQAAYDRiBwAAGK1FNygDAKQjR/hk3SV9+vDpOvgfzuwAAACjETsAAMBoxA4AADAasQMAAIxG7AAAAKMROwAAwGjEDgAAMBqxAwAAjEbsAAAAoxE7AADAaMQOAAAwGrEDAACMRuwAAACjETsAAMBoxA4AADAasQMAAIxG7AAAAKMROwAAwGjEDgAAMBqxAwAAjEbsAAAAoxE7AADAaMQOAAAwGrEDAACM5tPY2bJli8aPH6+YmBhZLBatX7/ea73b7db8+fMVHR2t4OBgJScn6+DBg17bnDlzRunp6bLZbAoLC9O0adNUXV3djkcBAAD8mU9jp6amRkOGDNHy5cubXL948WItW7ZMK1eu1I4dO9StWzelpKTo/Pnznm3S09O1d+9ebdq0SRs3btSWLVs0Y8aM9joEAADg5yxut9vt6yEkyWKxaN26dZowYYKki2d1YmJi9PTTT+uZZ56RJFVVVSkqKkp5eXmaNGmS9u3bp4EDB+rjjz/WsGHDJEkFBQUaO3asjh8/rpiYmCbfq7a2VrW1tZ7nLpdLsbGxqqqqks1ma9sDBf6fI3Fxvh7BL/QpK/P1CC125Aj/Li/p06fj//tEx+FyuWS326/6+9tv79kpKyuT0+lUcnKyZ5ndbldCQoJKSkokSSUlJQoLC/OEjiQlJycrICBAO3bs+M595+bmym63ex6xsbFtdyAAAMCn/DZ2nE6nJCkqKspreVRUlGed0+lUZGSk1/rAwECFh4d7tmlKTk6OqqqqPI9jx4618vQAAMBfBPp6AF+wWq2yWq2+HgMAALQDvz2z43A4JEkVFRVeyysqKjzrHA6HTp486bW+oaFBZ86c8WwDAABubH4bO3FxcXI4HCosLPQsc7lc2rFjhxITEyVJiYmJqqysVGlpqWebzZs3q7GxUQkJCe0+MwAA8D8+vYxVXV2tQ4cOeZ6XlZVp165dCg8PV69evTRr1iwtWrRIN998s+Li4jRv3jzFxMR4PrE1YMAApaamavr06Vq5cqXq6+uVlZWlSZMmfecnsQAAwI3Fp7Hz73//W6NGjfI8z87OliRlZGQoLy9Ps2fPVk1NjWbMmKHKykrdeeedKigoUJcuXTyvWbNmjbKysnT33XcrICBAaWlpWrZsWbsfCwAA8E9+8z07vnStn9MHWhPfs3MR37NjFr5nB+2pw3/PDgAAQGsgdgAAgNGIHQAAYDRiBwAAGI3YAQAARrsh/7oI+NaRv/DJFQBA++HMDgAAMBqxAwAAjEbsAAAAoxE7AADAaMQOAAAwGrEDAACMxkfPAQBoZfxFvxf5y1/0y5kdAABgNGIHAAAYjctYAIBWwzekwx9xZgcAABiN2AEAAEYjdgAAgNGIHQAAYDRiBwAAGI3YAQAARiN2AACA0YgdAABgNGIHAAAYjdgBAABGI3YAAIDRiB0AAGA0YgcAABiN2AEAAEYjdgAAgNGIHQAAYDRiBwAAGI3YAQAARiN2AACA0YgdAABgNGIHAAAYjdgBAABGI3YAAIDRAn09wI3iyJE4X48AAMANiTM7AADAaMQOAAAwGrEDAACMRuwAAACjETsAAMBoxA4AADAasQMAAIxG7AAAAKMROwAAwGjEDgAAMBqxAwAAjEbsAAAAoxE7AADAaMQOAAAwml/HzgsvvCCLxeL16N+/v2f9+fPnlZmZqe7duyskJERpaWmqqKjw4cQAAMDf+HXsSNItt9yi8vJyz+PDDz/0rHvqqae0YcMGvfnmmyouLtaJEyc0ceJEH04LAAD8TaCvB7iawMBAORyOy5ZXVVXpL3/5i/Lz85WUlCRJWr16tQYMGKDt27drxIgR7T0qAADwQ35/ZufgwYOKiYlR3759lZ6erqNHj0qSSktLVV9fr+TkZM+2/fv3V69evVRSUnLFfdbW1srlcnk9AACAmfw6dhISEpSXl6eCggKtWLFCZWVl+slPfqKzZ8/K6XQqKChIYWFhXq+JioqS0+m84n5zc3Nlt9s9j9jY2DY8CgAA4Et+fRlrzJgxnj/feuutSkhIUO/evfX3v/9dwcHBzd5vTk6OsrOzPc9dLhfBAwCAofz6zM7/CgsL0w9+8AMdOnRIDodDdXV1qqys9NqmoqKiyXt8vs1qtcpms3k9AACAmTpU7FRXV+vw4cOKjo5WfHy8OnfurMLCQs/6AwcO6OjRo0pMTPThlAAAwJ/49WWsZ555RuPHj1fv3r114sQJLViwQJ06ddLkyZNlt9s1bdo0ZWdnKzw8XDabTU888YQSExP5JBYAAPDw69g5fvy4Jk+erNOnTysiIkJ33nmntm/froiICEnSkiVLFBAQoLS0NNXW1iolJUWvvfaaj6cGAAD+xK9j54033rji+i5dumj58uVavnx5O00EAAA6mg51zw4AAMD1InYAAIDRiB0AAGA0YgcAABiN2AEAAEYjdgAAgNGIHQAAYDRiBwAAGI3YAQAARiN2AACA0YgdAABgNGIHAAAYjdgBAABGI3YAAIDRiB0AAGA0YgcAABiN2AEAAEYjdgAAgNGIHQAAYDRiBwAAGI3YAQAARiN2AACA0YgdAABgNGIHAAAYjdgBAABGI3YAAIDRiB0AAGA0YgcAABiN2AEAAEYjdgAAgNGIHQAAYDRiBwAAGI3YAQAARiN2AACA0YgdAABgNGIHAAAYjdgBAABGI3YAAIDRiB0AAGA0YgcAABiN2AEAAEYjdgAAgNGIHQAAYDRiBwAAGI3YAQAARiN2AACA0YgdAABgNGIHAAAYjdgBAABGI3YAAIDRiB0AAGA0YgcAABiN2AEAAEYjdgAAgNGMiZ3ly5erT58+6tKlixISErRz505fjwQAAPyAEbGzdu1aZWdna8GCBfrkk080ZMgQpaSk6OTJk74eDQAA+JgRsfP73/9e06dP19SpUzVw4ECtXLlSXbt21apVq3w9GgAA8LFAXw/QUnV1dSotLVVOTo5nWUBAgJKTk1VSUtLka2pra1VbW+t5XlVVJUlyuVxtNufZs41ttu8O57++HsBP8J+EpLb9uWsv/Hx/Cz/fF/GfhKS2//m+tH+3233F7Tp87Hz99de6cOGCoqKivJZHRUVp//79Tb4mNzdXCxcuvGx5bGxsm8wI4Arsdl9PAKCttNPP99mzZ2W/wnt1+NhpjpycHGVnZ3ueNzY26syZM+revbssFosPJ0N7cLlcio2N1bFjx2Sz2Xw9DoBWxM/3jcXtduvs2bOKiYm54nYdPnZ69OihTp06qaKiwmt5RUWFHA5Hk6+xWq2yWq1ey8LCwtpqRPgpm83G/wwBQ/HzfeO40hmdSzr8DcpBQUGKj49XYWGhZ1ljY6MKCwuVmJjow8kAAIA/6PBndiQpOztbGRkZGjZsmG6//XYtXbpUNTU1mjp1qq9HAwAAPmZE7Dz88MM6deqU5s+fL6fTqaFDh6qgoOCym5YB6eJlzAULFlx2KRNAx8fPN5picV/t81oAAAAdWIe/ZwcAAOBKiB0AAGA0YgcAABiN2AEAAEYjdnBDWb58ufr06aMuXbooISFBO3fu9PVIAFrBli1bNH78eMXExMhisWj9+vW+Hgl+hNjBDWPt2rXKzs7WggUL9Mknn2jIkCFKSUnRyZMnfT0agBaqqanRkCFDtHz5cl+PAj/ER89xw0hISNDw4cP16quvSrr4TduxsbF64okn9Nxzz/l4OgCtxWKxaN26dZowYYKvR4Gf4MwObgh1dXUqLS1VcnKyZ1lAQICSk5NVUlLiw8kAAG2N2MEN4euvv9aFCxcu+1btqKgoOZ1OH00FAGgPxA4AADAasYMbQo8ePdSpUydVVFR4La+oqJDD4fDRVACA9kDs4IYQFBSk+Ph4FRYWepY1NjaqsLBQiYmJPpwMANDWjPhbz4FrkZ2drYyMDA0bNky33367li5dqpqaGk2dOtXXowFooerqah06dMjzvKysTLt27VJ4eLh69erlw8ngD/joOW4or776qn7729/K6XRq6NChWrZsmRISEnw9FoAWKioq0qhRoy5bnpGRoby8vPYfCH6F2AEAAEbjnh0AAGA0YgcAABiN2AEAAEYjdgAAgNGIHQAAYDRiBwAAGI3YAQAARiN2AACA0YgdADeEoqIiWSwWVVZWtun7TJkyRRMmTGjT9wBwfYgdAO3q1KlTmjlzpnr16iWr1SqHw6GUlBRt27atTd/3xz/+scrLy2W329v0fQD4H/4iUADtKi0tTXV1dXr99dfVt29fVVRUqLCwUKdPn27W/txuty5cuKDAwCv/7ywoKEgOh6NZ7wGgY+PMDoB2U1lZqa1bt+o3v/mNRo0apd69e+v2229XTk6OfvrTn+rIkSOyWCzatWuX12ssFouKiook/f/LUe+9957i4+NltVq1atUqWSwW7d+/3+v9lixZon79+nm9rrKyUi6XS8HBwXrvvfe8tl+3bp1CQ0N17tw5SdKxY8f00EMPKSwsTOHh4brvvvt05MgRz/YXLlxQdna2wsLC1L17d82ePVv8dYOA/yF2ALSbkJAQhYSEaP369aqtrW3Rvp577jm9/PLL2rdvnx544AENGzZMa9as8dpmzZo1euSRRy57rc1m07333qv8/PzLtp8wYYK6du2q+vp6paSkKDQ0VFu3btW2bdsUEhKi1NRU1dXVSZJeeeUV5eXladWqVfrwww915swZrVu3rkXHBaD1ETsA2k1gYKDy8vL0+uuvKywsTHfccYeef/557d69+7r39eKLL+qee+5Rv379FB4ervT0dP3tb3/zrP/yyy9VWlqq9PT0Jl+fnp6u9evXe87iuFwuvfvuu57t165dq8bGRv35z3/W4MGDNWDAAK1evVpHjx71nGVaunSpcnJyNHHiRA0YMEArV67kniDADxE7ANpVWlqaTpw4oXfeeUepqakqKirSbbfdpry8vOvaz7Bhw7yeT5o0SUeOHNH27dslXTxLc9ttt6l///5Nvn7s2LHq3Lmz3nnnHUnSW2+9JZvNpuTkZEnSZ599pkOHDik0NNRzRio8PFznz5/X4cOHVVVVpfLyciUkJHj2GRgYeNlcAHyP2AHQ7rp06aJ77rlH8+bN00cffaQpU6ZowYIFCgi4+L+kb9/3Ul9f3+Q+unXr5vXc4XAoKSnJc2kqPz//O8/qSBdvWH7ggQe8tn/44Yc9NzpXV1crPj5eu3bt8np8+eWXTV4aA+C/iB0APjdw4EDV1NQoIiJCklReXu5Z9+2bla8mPT1da9euVUlJib766itNmjTpqtsXFBRo79692rx5s1cc3XbbbTp48KAiIyN10003eT3sdrvsdruio6O1Y8cOz2saGhpUWlp6zfMCaB/EDoB2c/r0aSUlJemvf/2rdu/erbKyMr355ptavHix7rvvPgUHB2vEiBGeG4+Li4s1d+7ca97/xIkTdfbsWc2cOVOjRo1STEzMFbcfOXKkHA6H0tPTFRcX53VJKj09XT169NB9992nrVu3qqysTEVFRXryySd1/PhxSdIvf/lLvfzyy1q/fr3279+vxx9/vM2/tBDA9SN2ALSbkJAQJSQkaMmSJRo5cqQGDRqkefPmafr06Xr11VclSatWrVJDQ4Pi4+M1a9YsLVq06Jr3HxoaqvHjx+uzzz674iWsSywWiyZPntzk9l27dtWWLVvUq1cvzw3I06ZN0/nz52Wz2SRJTz/9tB599FFlZGQoMTFRoaGhuv/++6/jnwiA9mBx86UQAADAYJzZAQAARiN2AACA0YgdAABgNGIHAAAYjdgBAABGI3YAAIDRiB0AAGA0YgcAABiN2AEAAEYjdgAAgNGIHQAAYLT/A0fYziWlRVifAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots()\n", + "\n", + "# Corrected countplot usage\n", + "sns.countplot(x=\"Survived\", hue=\"Pclass\", data=df, palette={1:\"yellow\", 2:\"orange\", 3:\"red\"}, ax=ax)\n", + "\n", + "# Remove plt.close(2) as it is unnecessary\n", + "\n", + "# Set legend title\n", + "ax.legend(title=\"Passenger Class\")\n", + "\n", + "# Set x-axis tick labels\n", + "ax.set_xticklabels([\"did not survive\", \"survived\"])\n", + "\n", + "# Remove x-axis label\n", + "ax.set_xlabel(\"test\")\n", + "\n", + "# Set the title\n", + "fig.suptitle(\"Passenger Class vs. Survival for Titanic Passengers\")\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Lxo7qCr88ohk" + }, + "source": [ + "### Stacked Bar Charts\n", + "\n", + "These can be used for counts (same as grouped bar charts) but if you use percentages rather than counts, they show proportions" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": { + "id": "0cmk7ufu8ohk", + "outputId": "b92e8aa5-a102-4215-b197-dc79e7b459b7" + }, + "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", + "
Survived01
Pclass
164122
29083
327085
\n", + "
" + ], + "text/plain": [ + "Survived 0 1\n", + "Pclass \n", + "1 64 122\n", + "2 90 83\n", + "3 270 85" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Create a dataframe with the counts by passenger class and survival\n", + "counts_df = df.groupby([\"Pclass\", \"Survived\"])[\"Name\"].count().unstack()\n", + "counts_df" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": { + "id": "TGar4aVn8ohk", + "outputId": "254a4687-28b5-44e1-d3c1-49f23eda0a98" + }, + "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", + "
Pclass123
Survived
00.1509430.2122640.636792
10.4206900.2862070.293103
\n", + "
" + ], + "text/plain": [ + "Pclass 1 2 3\n", + "Survived \n", + "0 0.150943 0.212264 0.636792\n", + "1 0.420690 0.286207 0.293103" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Divide by the total number and transpose for plotting\n", + "pclass_percents_df = counts_df.div(counts_df.sum()).T\n", + "pclass_percents_df" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": { + "id": "WZPiABOg8ohl", + "outputId": "babed050-c8de-4a33-b962-cbe382163f08" + }, + "outputs": [ + { + "data": { + "image/png": "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ffp0AMDt27eloAMA9evXx++//449e/bA2dkZ8+bNww8//MDLwImIiEiiEKJqTbnOzMyEubk5MjIyYGZmpu1yKhavpqhaqtahTTy+q5YqeHyX5vP7tZpzQ0RERPQiDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkK1oPN4sXL4aDgwMMDAzQvn17HDly5Ln9Fy5ciKZNm8LQ0BD29vaYMGECcnJyKqhaIiIiquy0Gm6ioqIQEhKC0NBQnDhxAs7OzvDy8sKdO3eK7b927Vp8+umnCA0Nxblz5/Djjz8iKioKU6dOreDKiYiIqLLSariZP38+goODMWjQIDRr1gzLli2DkZERVqxYUWz/Q4cOwc3NDQMGDICDgwN69OgBf3//F57tISIioqpDa+EmLy8Px48fh6en5/+K0dGBp6cn4uPji12mY8eOOH78uBRmrl69ih07duDtt9+ukJqJiIio8qumrQ3fvXsXBQUFsLW1VWm3tbXF+fPni11mwIABuHv3Ljp16gQhBB4/fozhw4c/d1gqNzcXubm50v3MzMzy2QEiIiKqlLQ+obg04uLiMHv2bCxZsgQnTpzApk2b8Pvvv+OLL74ocZnw8HCYm5tLN3t7+wqsmIiIiCqaQgghtLHhvLw8GBkZYcOGDfD19ZXag4KCkJ6ejq1bt6ot07lzZ3To0AFz586V2n7+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HjzARx99hIiICFhZWWm0zJQpU5CRkSHdkpKSXnGVREREpE2l+p6b8mZlZQVdXV2kpKSotKekpKBmzZpq/a9cuYLr16/D29tbaiv60c5q1arhwoULaNiwocoySqVS5RuViYiISN60euZGX18fLi4uiImJkdoKCwsRExMDV1dXtf6Ojo74559/kJCQIN3effddvPXWW0hISOCQExEREWn3zA0AhISEICgoCG3btkW7du2wcOFCZGVlYdCgQQCAwMBA1K5dG+Hh4TAwMECLFi1UlrewsAAAtXYiIiKqmrQebvz8/JCamorp06cjOTkZrVu3xq5du6RJxomJidDRea2mBhEREZEWKYQQQttFVKTMzEyYm5sjIyMDZmZm2i6nYikU2q6AKlLVOrQJPL6rlqp3fJfm85unRIiIiEhWGG6IiIhIVhhuiIiISFYYboiIiEhWGG6IiIhIVhhuiIiISFa0/j03VIEitV0AERHRq8czN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQrDDdEREQkKww3REREJCsMN0RERCQr1bRdABG9egUFBcjPz9d2GfQK6OnpQVdXV9tlEFUqDDdEMiaEQHJyMtLT07VdCr1CFhYWqFlTAYVCaLsUokqB4YZIxoqCjY2NDYyMjKBQKLRdEpUjIQSys7Nx584dAINgZ7dC2yURVQoMN0QyVVBQIAUbS0tLbZdDr4ihoSEA4M6dd2Fjsw66utlarohI+zihmEimiubYGBkZabkSetWevMb6yM+30nYpRJUCww2RzHEoSv6evMZFNyJiuCEiIiJZYbghIioHAwcOhK+vr7bLICIw3BBVSQMHDoRCoYBCoYC+vj4aNWqEmTNn4vHjx9ourVISQmD58uVo3749TExMYGFhgbZt22LhwoXIzuYEXqLKhuGGqIrq2bMnbt++jUuXLuHjjz9GWFgY5s6dq+2ytCYvL6/Exz766COMHz8e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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots()\n", + "\n", + "pclass_percents_df.plot(kind=\"bar\", stacked=True, color=[\"yellow\", \"orange\", \"red\"], ax=ax)\n", + "\n", + "ax.legend(title=\"Passenger Class\")\n", + "ax.set_xticklabels([\"did not survive\", \"survived\"], rotation=0)\n", + "ax.set_xlabel(\"\")\n", + "ax.set_ylabel(\"Proportion\")\n", + "\n", + "fig.suptitle(\"Passenger Class vs. Survival for Titanic Passengers\");" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": { + "id": "yl3ngAnP8ohl", + "outputId": "15ffc132-8e8c-4b37-f66d-7448e5e4327a" + }, + "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", + "
Survived01
Pclass
10.3440860.655914
20.5202310.479769
30.7605630.239437
\n", + "
" + ], + "text/plain": [ + "Survived 0 1\n", + "Pclass \n", + "1 0.344086 0.655914\n", + "2 0.520231 0.479769\n", + "3 0.760563 0.239437" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Use the same counts df, but now survived + did not survive add up to 1\n", + "survived_percents_df = counts_df.T.div(counts_df.T.sum()).T\n", + "survived_percents_df" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": { + "id": "D6ZvGPHa8ohl", + "outputId": "4afe257d-96d9-42b9-9fea-e9e3cb1ad5fe" + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHgCAYAAABZ+0ykAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABTW0lEQVR4nO3deXwM9/8H8Nfm2mxucl8kBIkr7ogjUaJxhbSOiJRQoiUooVVaElVSVFB1lNbVRkmdrSKupCh1R913UCQSR0Ii9+f3h1/2ayVhE2Fj8no+Hvt42NnPzLxndnbzMp/PzMqEEAJEREREEqGl6QKIiIiIyhPDDREREUkKww0RERFJCsMNERERSQrDDREREUkKww0RERFJCsMNERERSQrDDREREUkKww0RERFJCsMNVWrx8fGQyWSIj4/XdClUAicnJwwcOPC1Lb80x8CRI0fQqlUrGBoaQiaTISEh4bXVpa6IiAjIZDKNrb9du3Zo166dxtZPVByGmzdkxYoVkMlkyoe+vj5q166NESNGIDk5WdPlSdLGjRvRuXNnWFhYQE9PD3Z2dujTpw/27Nmj6dIqrD/++APe3t6wsrKCgYEBatSogT59+mD79u2aLk3jcnNz0bt3b9y/fx9z5szBzz//jOrVq7+WdTk5Oal8X5T0WLFiRbHzT58+HZs2bXottb1O7dq1U9m+qlWronnz5li2bBkKCgo0XR69RXQ0XUBl89VXX8HZ2RlZWVnYv38/Fi1ahK1bt+L06dMwMDDQdHmSIITAhx9+iBUrVqBx48YICwuDjY0N7ty5g40bN6JDhw74+++/0apVK02XWqF8++23+PTTT+Ht7Y0JEybAwMAAly9fxq5du7BmzRp06tRJI3VduHABWlqa/3/YlStXcP36dSxduhRDhgx5reuaO3cuHj9+rHy+detW/Prrr5gzZw4sLCyU01u1aoUPPvgAn3/+ucr806dPR69eveDv7/9a6wSAHTt2lOvyHBwcEBkZCQBISUnBqlWrMHjwYFy8eBHffPNNua6LpIvh5g3r3LkzmjVrBgAYMmQIzM3NERUVhc2bNyMwMFDD1b0dCgoKkJOTA319/WJfnz17NlasWIHRo0cjKipK5ZT9F198gZ9//hk6Ojz0n5WXl4epU6eiY8eOxf6xunv3brmtKzMzs1RBXi6Xl9u6X0XhPjAzMyu3ZWZkZMDQ0LDI9OdDSVJSEn799Vf4+/vDycmpSHtNHs96enrlujxTU1N88MEHyucfffQR6tSpg++//x5Tp06Frq5uua5Pqko6tioLzf93qJJr3749AODatWsAnv7vuVWrVjA3N4dCoUDTpk2xbt26IvPt3LkTbdq0gZmZGYyMjFCnTh1MnDhRpc38+fNRr149GBgYoEqVKmjWrBlWr16t0ubWrVv48MMPYW1tDblcjnr16mHZsmUqbQrHJMTExGDatGlwcHCAvr4+OnTogMuXLxepbcGCBahRowYUCgVatGiBffv2Fdsvn52djfDwcLi4uEAul8PR0RGfffYZsrOzVdrJZDKMGDEC0dHRqFevHuRyeYndJE+ePEFkZCRcXV3x7bffFjsWoX///mjRokWx8wPAvn370Lt3b1SrVk1Z15gxY/DkyROVdklJSRg0aBAcHBwgl8tha2uLHj16IDExUdnm6NGj8PX1hYWFBRQKBZydnfHhhx+WuG4A6NatG2rUqFHsa56enspwDKh3HKgjNTUV6enpaN26dbGvW1lZKf9d2MX67HYCxY9dadeuHerXr49jx47By8sLBgYGmDhxYqm28dkxN0ePHoVMJsPKlSuLzBcbGwuZTIYtW7YAAK5fv47hw4ejTp06UCgUMDc3R+/evYvUrY6BAwfC29sbANC7d2/IZDKV43nPnj1o27YtDA0NYWZmhh49euDcuXMqyygcG3P27Fn069cPVapUQZs2bUpdy/OeH3Mjk8mQkZGBlStXKrt3Cvefuvuk8D3++++/ERYWBktLSxgaGuK9995DSkqKStviPttZWVmIiIhA7dq1oa+vD1tbW7z//vu4cuVKqbfPwMAALVu2REZGBlJSUtTehtzcXEyZMgW1atWCvr4+zM3N0aZNG+zcuVPZRp3PMABs27ZN+f4aGxuja9euOHPmjEqbgQMHwsjICLdu3YK/vz+MjIxgaWmJcePGIT8/X6XtvXv30L9/f5iYmMDMzAzBwcE4efJksV2N58+fR69evVC1alXo6+ujWbNm+P3331XaFL5ff/31F4YPHw4rKys4ODgAAB49eoTRo0fDyckJcrkcVlZW6NixI44fP17q9+Jtwv++aljhh93c3BwAMG/ePHTv3h1BQUHIycnBmjVr0Lt3b2zZsgVdu3YFAJw5cwbdunVDw4YN8dVXX0Eul+Py5cv4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wHBDREREksJwQ0RERJLCcENERESSwnBDREREksJwQ0RERJKi0fvcEBERvZIIXgtefir4teClwDM3REREJCkMN0RERCQpDDdEREQkKQw3REREJCkMN0RERCQpDDdEREQkKQw3REREJCkMN0RERCQpDDdEREQkKQw3REREJCkMN0RERCQpDDdEREQkKQw3REREJCkMN0RERCQpDDdEREQkKQw3REREJCkMN0RERCQpDDdEREQkKQw3REREJCkMN0RERCQpDDdEREQkKQw3REREJCkMN0RERCQpDDdEREQkKQw3REREJCkMN0RERCQpDDdEREQkKQw3REREJCkMN0RERCQpDDdEREQkKQw3REREJCkMN0RERCQpDDdEREQkKQw3REREJCkMN0RERCQpDDdEREQkKQw3REREJCkMN0RERCQpDDdEREQkKQw3REREJCkMN0RERCQpDDdEREQkKQw3REREJCkMN0RERCQpDDdEREQkKQw3REREJCkMN0RERCQpDDdEREQkKQw3REREJCkMN0RERCQpDDdEREQkKTplmSk/Px8rVqzA7t27cffuXRQUFKi8vmfPnnIpjoiIiKi0ynTm5pNPPsEnn3yC/Px81K9fH+7u7iqP0liwYAGcnJygr68PDw8PHD58+IXtHz58iNDQUNja2kIul6N27drYunVrWTaDiIiIJKhMZ27WrFmDmJgYdOnS5ZVWvnbtWoSFhWHx4sXw8PDA3Llz4evriwsXLsDKyqpI+5ycHHTs2BFWVlZYt24d7O3tcf36dZiZmb1SHURERCQdZQo3enp6cHFxeeWVR0VFISQkBIMGDQIALF68GH/++SeWLVuGzz//vEj7ZcuW4f79+zhw4AB0dXUBAE5OTq9cBxEREUlHmbqlxo4di3nz5kEIUeYV5+Tk4NixY/Dx8flfMVpa8PHxwcGDB4ud5/fff4enpydCQ0NhbW2N+vXrY/r06cjPzy9xPdnZ2UhPT1d5EBERkXSV6czN/v37ERcXh23btqFevXrKsyiFNmzY8NJlpKamIj8/H9bW1irTra2tcf78+WLnuXr1Kvbs2YOgoCBs3boVly9fxvDhw5Gbm4vw8PBi54mMjMSUKVPU3DIiIiJ625Up3JiZmeG9994r71peqqCgAFZWVliyZAm0tbXRtGlT3Lp1C7NmzSox3EyYMAFhYWHK5+np6XB0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dcWWLVsQEhLyOmoiIiIiKrNSj7nR1dVVGWtDREREVJGUaUBxaGgoZsyYgby8vPKuh4iIiOiVlGnMzZEjR7B7927s2LEDDRo0gKGhocrr/CVwIiIi0pRy+1VwIiIiooqgVOGmoKAAs2bNwsWLF5GTk4P27dsjIiKCV0gRERFRhVGqMTfTpk3DxIkTYWRkBHt7e3z33XcIDQ19XbURERERlVqpws2qVauwcOFCxMbGYtOmTfjjjz8QHR2NgoKC11UfERERUamUKtzcuHEDXbp0UT738fGBTCbD7du3y70wIiIiorIoVbjJy8uDvr6+yjRdXV3k5uaWa1FEREREZVWqAcVCCAwcOBByuVw5LSsrCx9//LHK5eC8FJyIiIg0pVThJjg4uMi0Dz74oNyKISIiInpVpQo3y5cvf111EBEREZWLMv38AhEREVFFVSHCzYIFC+Dk5AR9fX14eHjg8OHDas23Zs0ayGQy+Pv7v94CiYiI6K2h8XCzdu1ahIWFITw8HMePH4e7uzt8fX1x9+7dF86XmJiIcePGoW3btm+oUiIiInobaDzcREVFISQkBIMGDULdunWxePFiGBgYYNmyZSXOk5+fj6CgIEyZMgU1atR4g9USERFRRafRcJOTk4Njx47Bx8dHOU1LSws+Pj44ePBgifN99dVXsLKywuDBg1+6juzsbKSnp6s8iIiISLo0Gm5SU1ORn58Pa2trlenW1tZISkoqdp79+/fjp59+wtKlS9VaR2RkJExNTZUPR0fHV66biIiIKi6Nd0uVxqNHj9C/f38sXboUFhYWas0zYcIEpKWlKR83b958zVUSERGRJpXqPjflzcLCAtra2khOTlaZnpycDBsbmyLtr1y5gsTERPj5+SmnFf5op46ODi5cuICaNWuqzCOXy1XuqExERETSptEzN3p6emjatCl2796tnFZQUIDdu3fD09OzSHtXV1ecOnUKCQkJykf37t3xzjvvICEhgV1OREREpNkzNwAQFhaG4OBgNGvWDC1atMDcuXORkZGBQYMGAQAGDBgAe3t7REZGQl9fH/Xr11eZ38zMDACKTCciIqLKSePhJiAgACkpKZg8eTKSkpLQqFEjbN++XTnI+MaNG9DSequGBhEREZEGyYQQQtNFvEnp6ekwNTVFWloaTExMNF3OC8lkmq5AGirXEf56yabwoCwvIpwHZnngMVl+KvoxWZq/3zwlQkRERJLCcENERESSwnBDREREksJwQ0RERJLCcENERESSwnBDREREksJwQ0RERJLCcENERESSwnBDREREksJwQ0RERJLCcENERESSwnBDREREksJwQ0RERJKio+kC6AUi+Gu35aNi/9ItERGVL565ISIiIklhuCEiIiJJYbghIiIiSWG4ISIiIklhuCEiIiJJYbghIiIiSWG4ISIiIklhuCEiIiJJYbghIiIiSWG4ISIiIklhuCEiIiJJYbghIiIiSWG4ISIiIklhuCEiIiJJYbghIiIiSWG4ISIiIklhuCEiIiJJYbghIiIiSWG4ISIiIklhuCEiIiJJYbghIiIiSWG4ISIiIklhuCEiIiJJYbghIiIiSWG4ISIiIklhuCEiIiJJYbghIiIiSWG4ISIiIklhuCEiIiJJYbghIiIiSWG4ISIiIklhuCEiIiJJYbghIiIiSWG4ISIiIklhuCEiIiJJYbghIiIiSWG4ISIiIklhuCEiIiJJYbghIiIiSWG4ISIiIklhuCEiIiJJYbghIiIiSWG4ISIiIklhuCEiIiJJYbghIiIiSWG4ISIiIkmpEOFmwYIFcHJygr6+Pjw8PHD48OES2y5duhRt27ZFlSpVUKVKFfj4+LywPREREVUuGg83a9euRVhYGMLDw3H8+HG4u7vD19cXd+/eLbZ9fHw8AgMDERcXh4MHD8LR0RHvvvsubt269YYrJyIioopI4+EmKioKISEhGDRoEOrWrYvFixfDwMAAy5YtK7Z9dHQ0hg8fjkaNGsHV1RU//vgjCgoKsHv37mLbZ2dnIz09XeVBRERE0qXRcJOTk4Njx47Bx8dHOU1LSws+Pj44ePCgWsvIzMxEbm4uqlatWuzrkZGRMDU1VT4cHR3LpXYiIiKqmDQablJTU5Gfnw9ra2uV6dbW1khKSlJrGePHj4ednZ1KQHrWhAkTkJaWpnzcvHnzlesmIiKiiktH0wW8im+++QZr1qxBfHw89PX1i20jl8shl8vfcGVERESkKRoNNxYWFtDW1kZycrLK9OTkZNjY2Lxw3m+//RbffPMNdu3ahYYNG77OMomIiOgtotFuKT09PTRt2lRlMHDh4GBPT88S55s5cyamTp2K7du3o1mzZm+iVCIiInpLaLxbKiwsDMHBwWjWrBlatGiBuXPnIiMjA4MGDQIADBgwAPb29oiMjAQAzJgxA5MnT8bq1avh5OSkHJtjZGQEIyMjjW0HERERVQwaDzcBAQFISUnB5MmTkZSUhEaNGmH79u3KQcY3btyAltb/TjAtWrQIOTk56NWrl8pywsPDERER8SZLJyIiogpI4+EGAEaMGIERI0YU+1p8fLzK88TExNdfEBEREb21NH4TPyIiIqLyxHBDREREksJwQ0RERJLCcENERESSwnBDREREksJwQ0RERJLCcENERESSwnBDREREksJwQ0RERJLCcENERESSwnBDREREksJwQ0RERJLCcENERESSwnBDREREksJwQ0RERJLCcENERESSwnBDREREksJwQ0RERJLCcENERESSwnBDREREksJwQ0RERJLCcENERESSwnBDREREksJwQ0RERJLCcENERESSwnBDREREksJwQ0RERJLCcENERESSwnBDREREksJwQ0RERJLCcENERESSwnBDREREksJwQ0RERJLCcENERESSwnBDREREksJwQ0RERJLCcENERESSwnBDREREksJwQ0RERJLCcENERESSwnBDREREksJwQ0RERJLCcENERESSwnBDREREksJwQ0RERJLCcENERESSwnBDREREksJwQ0RERJLCcENERESSwnBDREREksJwQ0RERJLCcENERESSwnBDREREksJwQ0RERJLCcENERESSwnBDREREksJwQ0RERJLCcENERESSwnBDREREklIhws2CBQvg5OQEfX19eHh44PDhwy9s/9tvv8HV1RX6+vpo0KABtm7d+oYqJSIioopO4+Fm7dq1CAsLQ3h4OI4fPw53d3f4+vri7t27xbY/cOAAAgMDMXjwYJw4cQL+/v7w9/fH6dOn33DlREREVBFpPNxERUUhJCQEgwYNQt26dbF48WIYGBhg2bJlxbafN28eOnXqhE8//RRubm6YOnUqmjRpgu+///4NV05EREQVkY4mV56Tk4Njx45hwoQJymlaWlrw8fHBwYMHi53n4MGDCAsLU5nm6+uLTZs2Fds+Ozsb2dnZyudpaWkAgPT09Fes/g3I0nQB0vBWvNdvCx6T5YbHZTnhMVluKvoxWVifEOKlbTUablJTU5Gfnw9ra2uV6dbW1jh//nyx8yQlJRXbPikpqdj2kZGRmDJlSpHpjo6OZaya3jam35hqugSiInhcUkXzthyTjx49gqnp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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots()\n", + "\n", + "survived_percents_df.plot(kind=\"bar\", stacked=True, color=[\"green\", \"blue\"], ax=ax)\n", + "\n", + "ax.set_xlabel(\"Passenger Class\")\n", + "ax.set_xticklabels([1, 2, 3], rotation=0)\n", + "ax.set_ylabel(\"Proportion\")\n", + "\n", + "color_patches = [\n", + " Patch(facecolor=\"blue\", label=\"survived\"),\n", + " Patch(facecolor=\"green\", label=\"did not survive\")\n", + "]\n", + "ax.legend(handles=color_patches)\n", + "\n", + "fig.suptitle(\"Passenger Class vs. Survival for Titanic Passengers\");" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "D4y_6o0W8ohl" + }, + "source": [ + "\n", + "### Scatterplot with Color to Distinguish Categories\n", + "\n", + "This kind of plot could help you understand how the two features relate to the target" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": { + "id": "F3bwHGiM8ohl", + "outputId": "1d2e6528-3ac3-4f11-b008-4e0bbebf6e0f" + }, + "outputs": [ + { + "data": { + "image/png": "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MGHCBOzbtw8RERG488478dRTT+GDDz7AwoULna+rr6/Hhg0bMGPGjHZb5evq6rBx40Y8/PDDAIBZs2bhrrvuQklJCRITE53bWa1WXHfddSguLsbvfvc7JCYmYt26dS0Gi19//TVuvPFGjBgxAsuWLYNUKsU777yD6667Dv/73/9w5ZVXtloeT6/lunXrYLFYcP/990MikeDZZ5/F9OnTceLECWcP4xdffIEZM2YgIyMDK1aswNmzZ50VWXc1NjbCZDK5PKZUKhEVFYXVq1cjKioKDz30EKKiovD111/jySefRFVVFZ577jmX15w9exY33ngjbr/9dvzmN79BQkIC7HY7pk6diu+//x733Xcf9Ho9Dhw4gOeffx5HjhxBbm5uq+V64YUXsGbNGuTk5ODVV19FVFQULrnkEgBi48Ly5csxYcIEPPDAAzh8+DBeffVV7N69G9u3b3fpgW2pXL6k1+vx1FNP4cknn8R9992HsWPHAgCuuuoqAMD69etRXV2NBx54AD179sSPP/6Il156CUVFRVi/fr3LvhobG5GZmYmRI0fi73//O7788kusXLkSqampeOCBB1otw5kzZ3DllVeisrIS9913H9LT03H69Gls2LAB1dXVLp9xd1RUVKCiosI5nNLdc5gxYwYOHTqERYsWISUlBWVlZdi6dSuMRqPz94kTJyIuLg5/+MMfEB0djVOnTmHTpk0ux7///vuxevVq3HXXXVi8eDFOnjyJl19+GXl5ec3u77FjxzBz5kzMnz8fc+fOxb/+9S/MmzcPI0aMwODBgwGIQea1114LiUSCxx57DCqVCm+99RYUCkWzc3/vvfcwd+5cZGZm4m9/+xuqq6vx6quvYsyYMcjLy3NJ4mKz2ZCZmels2IqMjER9fT0yMzNRV1eHRYsWITExEadPn8bHH3+MyspKaLVaj+4FEbVDIKIu44svvhBkMpkgk8mE0aNHC48++qjw+eefC/X19S7bnTx5UgAgvPPOO832AUBYtmyZ8/dly5YJAIRZs2Y123b06NHCiBEjXB778ccfBQDCmjVrnI/NnTtX6Nu3r/P3zz//XAAgbNmyxeW1N910k9C/f3/n7zabTairq3PZpqKiQkhISBDuvvvuNsvdkm+++UYAIPTp00eoqqpyPv7hhx8KAIQXX3zR5dxGjhzp8vpNmzYJAIRvvvmmzeMIgiBs2LBBACAcPXpUEARBqKqqEpRKpfD888+7bLdy5UoBgJCbm+t8rKamRkhPT3c5lt1uFwYOHChkZmYKdrvduW11dbXQr18/4YYbbmizPO5eS8d7o2fPnsK5c+ecj2/evLnZPbvsssuEXr16CZWVlc7HvvjiCwGAy/1uzbhx4wQAzX7mzp3rPLem7r//fiEyMlKora1ttp/XXnvNZdv33ntPkEqlwv/+9z+Xx1977TUBgLB9+/Y2y+d475eXlzsfKysrE8LDw4WJEycKjY2NzsdffvllAYDwr3/9q91yuWPy5MmtXsNx48YJ48aNc/6+e/fuVj/PLV3DFStWCBKJRPjll1+cj82dO1cAIDz11FMu2w4bNqzZZ7zpZ23OnDmCVCoVdu/e3exYF79XWwJAmD9/vlBeXi6UlZUJu3btEq6//noBgLBy5Uq3z6GiokIAIDz33HOtHisnJ0cA0GI5Hf73v/8JAIS1a9e6PP7ZZ581e7xv374CAOG7775zPlZWViYoFArh4Ycfdj62aNEiQSKRCHl5ec7Hzp49K8TExAgAhJMnTwqCIAgWi0WIjo4W7r33Xpdjl5SUCFqt1uVxx/36wx/+4LJtXl6eAEBYv359q+dIRL7DoX1EXcgNN9yAHTt2YOrUqdi/fz+effZZZGZmok+fPvjoo4+82vdvf/vbZo/ddttt2LNnD44fP+587IMPPoBCocC0adNa3dd1112H2NhYfPDBB87HKioqsHXrVpfsdjKZzNmabbfbce7cOdhsNlx++eXYu3dvh89lzpw5LkkfZs6ciV69euG///2vyza7du1yObe1a9ciOTkZ48aNa/cYa9euxeWXX+5sVXcM0Wk6vO+zzz5Dnz59MHXqVOdjSqUS9957r8t2+/btw9GjR3HHHXfg7NmzMJlMMJlMsFqtuP766/Hdd9+1mdDD02t52223ufQoOno6Tpw4AQAoLi7Gvn37MHfuXJdW7htuuAEZGRntXh+HlJQUbN261eXn0UcfBQBEREQ4t7NYLDCZTBg7diyqq6ubZfVTKBTNhouuX78eer0e6enpzutlMplw3XXXAUCHhoh++eWXqK+vx5IlSyCVXvgKvffee6HRaPDJJ5+0Wy5/uvgaWq1WmEwmXHXVVRAEAXl5ec22b/o5Hzt2rPOet8RutyM3Nxc333wzLr/88mbPSySSdsv49ttvIy4uDvHx8Rg5ciS2b9+Ohx56CEuWLHH7HCIiIhAeHo5t27Y1G4Ln4Bjy/PHHH6OhoaHFbdavXw+tVosbbrjB5T0zYsQIREVFNXvPZGRkOD8bgDgMNC0tzeWaffbZZxg9erRLr29MTIxzKJ7D1q1bUVlZiVmzZrkcWyaTYeTIkS2+X5v2FDo+i59//jmqq6tbPEci8h0GUkRdzBVXXIFNmzahoqICP/74Ix577DFYLBbMnDkT+fn5Hd5vv379mj12yy23QCqVOgMiQRCwfv163HjjjdBoNK3uSy6XY8aMGdi8ebNzrsqmTZvQ0NDQLE34u+++i0suuQRKpRI9e/ZEXFwcPvnkE6/G+w8cONDld4lEggEDBrjMVbjtttugUCicgY/ZbMbHH3+M2bNnt1s5rKysxH//+1+MGzcOx44dc/5cffXV+Omnn3DkyBHntr/88gtSU1Ob7bNplrijR48CAObOnYu4uDiXn7feegt1dXXtXhNPrqVOp3P53RFUOSqpjrlxTa8lAKSlpbVZjoupVCpMmDDB5ccRiB06dAjZ2dnQarXQaDSIi4tzJiVoWuY+ffo0G0J29OhRHDp0qNn1GjRoEICOJWBxnHfTcwwPD0f//v2bzRlsqVz+ZDQaMW/ePMTExDjnPTkaAppeQ6VSibi4OJfHevTo0WpgAgDl5eWoqqryaijxtGnTsHXrVnz55ZfYtWsXTCYTVq5c6QxU3TkHhUKBv/3tb/j000+RkJCAa665Bs8++yxKSkqcxxk3bhxmzJiB5cuXIzY2FtOmTcM777zjMl/u6NGjMJvNiI+Pb/a+OX/+fLP3TNPPSUvX7Jdffmkx62Nrn/Hrrruu2bG/+OKLZseWy+XNhtH269cPDz30EN566y3ExsYiMzMT//znPzk/iqiTcI4UURcVHh6OK664AldccQUGDRqEu+66C+vXr8eyZctaDQSaTiq/2MWtwg69e/fG2LFj8eGHH+KPf/wjdu7cCaPRiL/97W/tlu/222/H66+/jk8//RRZWVn48MMPkZ6ejksvvdS5zb///W/MmzcPWVlZeOSRRxAfHw+ZTIYVK1a49BR1hh49emDKlClYu3YtnnzySWzYsAF1dXVuZVFbv3496urqsHLlSqxcubLZ82vXrsXy5cs9Ko+jt+m5555rdW5YVFRUq6/39FrKZLIW9yMIgkfl7qjKykqMGzcOGo0GTz31FFJTU6FUKrF3714sXbq0We9bS+9Pu92OoUOH4h//+EeLx0hOTu6Usl+spXL5S2NjI2644QacO3cOS5cuRXp6OlQqFU6fPo158+Y1u4at3fPOlpSUhAkTJrT4nCfnsGTJEtx8883Izc3F559/jieeeAIrVqzA119/jWHDhjkX4965cye2bNmCzz//HHfffTdWrlyJnTt3IioqCna7HfHx8a0mhmkaaPryc+I4l/fee89lHqVD05TzCoXCpVfUYeXKlZg3bx42b96ML774AosXL8aKFSuwc+dOj+YvElH7GEgRdQOOITfFxcUALvQuNM0y1lIGvvbcdttt+H//7//h8OHD+OCDDxAZGYmbb7653dddc8016NWrFz744AOMGTMGX3/9Nf7v//7PZZsNGzagf//+2LRpk0vw58im1lGOll8HQRBw7NgxZzIBhzlz5mDatGnYvXs31q5di2HDhjknkLdl7dq1GDJkSIvlfP3117Fu3TpnINW3b1/k5+dDEASXczx27JjL61JTUwEAGo2m1UpnW3x9Lfv27Qug+bUEgMOHD3donxfbtm0bzp49i02bNuGaa65xPu7I5OaO1NRU7N+/H9dff71bQ8zc4Tjvw4cPo3///s7H6+vrcfLkyQ7dG2+1dm4HDhzAkSNH8O6772LOnDnOx7du3eqzY8fFxUGj0eDgwYM+2+fFPD2H1NRUPPzww3j44Ydx9OhRXHbZZVi5ciX+/e9/O7cZNWoURo0ahb/+9a9Yt24dZs+ejf/85z+45557kJqaii+//BJXX321z4Lgvn37Nvs8A61/xuPj471+Hw0dOhRDhw7F448/jh9++AFXX301XnvtNfzlL3/xar9E5IpD+4i6kG+++abFllDH3B/HcCSNRoPY2Fh89913Ltu98sorHh9zxowZkMlkeP/997F+/XpMmTLFrbVMpFIpZs6ciS1btuC9996DzWZrNqzP0dp78Tnt2rULO3bs8LicF1uzZg0sFovz9w0bNqC4uLjZmjU33ngjYmNj8be//Q3ffvutW71RhYWF+O6773Drrbdi5syZzX7uuusuHDt2DLt27QIAZGZm4vTp0y5z2Gpra/Hmm2+67HfEiBFITU3F3//+d5w/f77ZcVtK1X4xX1/LXr164bLLLsO7777rMmxo69atXg0hdWipvPX19R69R2+99VacPn262bUExEVlrVarx+WaMGECwsPDsWrVKpeyvf322zCbzZg8ebLH+/SW4/PWtGGkpWsoCAJefPFFnx1bKpUiKysLW7ZswU8//dTseW97MN09h+rq6mZLEqSmpkKtVjuH7lVUVDQrj6N317HNrbfeisbGRvz5z39uVhabzdbsGrsjMzMTO3bswL59+5yPnTt3rlmvV2ZmJjQaDZ5++ukW53C19xkHxOycNpvN5bGhQ4dCKpW2m/KfiDzHHimiLmTRokWorq5GdnY20tPTUV9fjx9++AEffPABUlJSXCa933PPPXjmmWdwzz334PLLL8d3333nMnfHXfHx8bj22mvxj3/8AxaLpVkw1JbbbrsNL730EpYtW4ahQ4dCr9e7PD9lyhRs2rQJ2dnZmDx5Mk6ePInXXnsNGRkZLQYT7oqJicGYMWNw1113obS0FC+88AIGDBjQLMFDWFgYbr/9drz88suQyWSYNWtWu/tet24dBEFwSR5xsZtuuglyuRxr167FyJEjcf/99+Pll1/GrFmz8Lvf/Q69evXC2rVrnenVHb0NUqkUb731Fm688UYMHjwYd911F/r06YPTp0/jm2++gUajwZYtW1otV2dcyxUrVmDy5MkYM2YM7r77bpw7dw4vvfQSBg8e7NX9AcT03T169MDcuXOxePFiSCQSvPfeex5VzO+88058+OGH+O1vf4tvvvkGV199NRobG1FQUIAPP/wQn3/+eYsJEtoSFxeHxx57DMuXL8ekSZMwdepUHD58GK+88gquuOKKgCygm5qaiujoaLz22mtQq9VQqVQYOXIk0tPTkZqait///vc4ffo0NBoNNm7c2Oacp454+umn8cUXX2DcuHHONPPFxcVYv349vv/+e68WNHb3HI4cOYLrr78et956KzIyMiCXy5GTk4PS0lLncgrvvvsuXnnlFWRnZyM1NRUWiwVvvvkmNBoNbrrpJgDiPKr7778fK1aswL59+zBx4kSEhYXh6NGjWL9+PV588UXMnDnTo3N49NFH8e9//xs33HADFi1a5Ex/rtPpcO7cOednXKPR4NVXX8Wdd96J4cOH4/bbb0dcXByMRiM++eQTXH311Xj55ZfbPNbXX3+NhQsX4pZbbsGgQYNgs9nw3nvvQSaTYcaMGR6Vm4jc4N8kgUTUmT799FPh7rvvFtLT04WoqCghPDxcGDBggLBo0SKhtLTUZdvq6mph/vz5glarFdRqtXDrrbcKZWVlraY/vzgFdFNvvvmmAEBQq9VCTU1Ns+ebpj93sNvtQnJysgBA+Mtf/tLi808//bTQt29fQaFQCMOGDRM+/vjjFvfXtNwtcaQ/f//994XHHntMiI+PFyIiIoTJkye7pIK+mCOd+8SJE9vct8PQoUMFnU7X5jbjx48X4uPjhYaGBkEQBOHEiRPC5MmThYiICCEuLk54+OGHhY0bNwoAhJ07d7q8Ni8vT5g+fbrQs2dPQaFQCH379hVuvfVW4auvvmrzmO5eS0f685bSSLd0jTdu3Cjo9XpBoVAIGRkZwqZNm1q9302NGzdOGDx4cKvPb9++XRg1apQQEREh9O7d25nOH01S0Le1n/r6euFvf/ubMHjwYEGhUAg9evQQRowYISxfvlwwm81tlq+t9/7LL78spKenC2FhYUJCQoLwwAMPCBUVFR6dX1s8SX8uCGJ6+oyMDEEul7ukQs/PzxcmTJggREVFCbGxscK9994r7N+/v1m69Llz5woqlarZsRzX4GItvQ9++eUXYc6cOUJcXJygUCiE/v37CwsWLGiWcr8pAMKCBQva3MadczCZTMKCBQuE9PR0QaVSCVqtVhg5cqTw4YcfOvezd+9eYdasWYJOpxMUCoUQHx8vTJkyRfjpp5+aHfONN94QRowYIURERAhqtVoYOnSo8OijjwpnzpxxbtO3b19h8uTJzV7b0v3Jy8sTxo4dKygUCiEpKUlYsWKFsGrVKgGAUFJS4rLtN998I2RmZgparVZQKpVCamqqMG/ePJdytna/Tpw4Idx9991CamqqoFQqhZiYGOHaa68VvvzyyzavMRF1jEQQ/DRzmIgoBO3fvx+XXXYZ1qxZgzvvvNNvx33hhRfw4IMPoqioCH369PHbcYnIP5YsWYLXX38d58+fD1iiDyLyDgMpIqI2LFy4EO+++y5KSkrcmvvVETU1NS4T22trazFs2DA0NjZ2aLglEQWXpp/xs2fPYtCgQRg+fLhPk38QkX9xjhQRUQu2bNmC/Px8vPHGG1i4cGGnBVEAMH36dOh0Olx22WUwm83497//jYKCglZTMBNRaBk9ejTGjx8PvV6P0tJSvP3226iqqsITTzwR6KIRkRfYI0VE1IKUlBSUlpYiMzMT7733HtRqdacd64UXXsBbb72FU6dOobGxERkZGXj00Uc9StxBRMHrj3/8IzZs2ICioiJIJBIMHz4cy5YtC0i6fCLyHQZSREREREREHuI6UkRERERERB5iIEVEREREROQhBlJEREREREQeYiBFRERERETkIQZSREREREREHmIgRURERERE5CEGUkRERERERB5iIEVEREREROQhBlJEREREREQeYiBFRERERETkIQZSREREREREHmIgRURERERE5CEGUkRERERERB5iIEVEREREROQhBlJEREREREQeYiBFRERERETkIQZSREREREREHmIgRURERERE5CEGUkRERERERB5iIEVEREREROQhBlJEREREREQeYiBFRERERETkIQZSREREREREHmIgRURERERE5CEGUkRERERERB5iIEVEREREROQhBlJEREREREQeYiBFRERERETkIQZSREREREREHmIgRURERERE5CF5oAsQDOx2O86cOQO1Wg2JRBLo4hARERERUYAIggCLxYLevXtDKm2934mBFIAzZ84gOTk50MUgIiIiIqIgUVhYiKSkpFafZyAFQK1WAxAvlkajCXBpiIiIiIgoUKqqqpCcnOyMEVrDQApwDufTaDQMpIiIiIiIqN0pP0w2QURERERE5CEGUkRERERERB5iIEVEREREROQhzpEiIiIioqAjCAJsNhsaGxsDXRTqYmQyGeRyudfLHjGQIiIiIqKgUl9fj+LiYlRXVwe6KNRFRUZGolevXggPD+/wPhhIEREREVHQsNvtOHnyJGQyGXr37o3w8HCvew6IHARBQH19PcrLy3Hy5EkMHDiwzUV328JAioiIiIiCRn19Pex2O5KTkxEZGRno4lAXFBERgbCwMPzyyy+or6+HUqns0H6YbIKIiIiIgk5HewmI3OGL9xffoURERETUJTU0tP07kTc4tI+IiHzGZgN27gRKS4GEBGDUKEDe5JvGbgeMRsBiAdRqQKcD2PBMRL5ks4n/btoEbNgAVFQAPXoAM2cCM2aIzzX920TkKb6FiIjIJz7+GFi1Cjh2TGz1DQsDBgwAFi8GpkwRtzEYgJwcoKAAqK0FlEogPR3Izgb0+sCWn4i6Brsd+OIL4O67xUadi23YIDby/OtfwKRJXaMRJyUlBUuWLMGSJUs67Rjbtm3Dtddei4qKCkRHR3facUINAykiIvLaxx8DS5cCZjMQHw9ERgLV1UB+vvg4AKSm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kJmZiSeeeAKPPvoorrjiClgsFmeQ5Y7Zs2cjPz8fffr0wdVXX93u9jNnzsTZs2dRXV3dLO36Pffcg7feegvvvPMOhg4dinHjxmH16tWd2iMlEZoObOyGqqqqoNVqYTabodFoAl0cIiIiom6rtrYWJ0+eRL9+/aBUKj1+vV2w47Njn2H+R/NRcr6k2fOJUYl4e+rbmDRgEqQS9il0V229z9yNDTi0j4iIiIi6DKlEiompE1H4YCE2GTZhQ/4GVNRWoIeyB2ZmzMR0/XTndkTeYCBFRERERF2KY95Tdnq2yzpRDY0NPpsTRcRQnIiIiIi6pDBZWJu/E3mDgRQREREREZGHGEgRERERERF5iIEUEREREQUdJpamzuSL9xcDKSIiIiIKGmFh4jym6urqAJeEujLH+8vxfusIpi0hIiIioqAhk8kQHR2NsrIyAOKisBKJJMCloq5CEARUV1ejrKwM0dHRkMnaXry5LQykiIiIiCioJCYmAoAzmCLytejoaOf7rKMYSBERERFRUJFIJOjVqxfi4+PR0NAQ6OJQFxMWFuZVT5QDAykiIiIiCkoymcwnFV6izsBkE0RERERERB5iIEVEREREROQhBlJEREREREQeYiBFRERERETkIQZSREREREREHmIgRURERERE5CEGUkRERERERB5iIEVEREREROQhBlJEREREREQeYiBFRERERETkIQZSREREREREHmIgRURERERE5CEGUkRERERERB5iIEVEREREROQhBlJEREREREQeYiBFRERERETkIQZSREREREREHmIgRURERERE5CEGUkRERERERB5iIEVEREREROQhBlJEREREREQeYiBFRERERETkIQZSREREREREHmIgRURERERE5CEGUkRERERERB5iIEVEREREROQhBlJEREREREQeYiBFRERERETkIQZSREREREREHmIgRURERERE5CEGUkRERERERB5iIEVEREREROQhBlJEREREREQeYiBFRERERETkoaAJpJ555hlIJBIsWbLE+VhtbS0WLFiAnj17IioqCjNmzEBpaanL64xGIyZPnozIyEjEx8fjkUcegc1m83PpiYiIiIioOwmKQGr37t14/fXXcckll7g8/uCDD2LLli1Yv349vv32W5w5cwbTp093Pt/Y2IjJkyejvr4eP/zwA959912sXr0aTz75pL9P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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(figsize=(10, 5))\n", + "\n", + "ax.scatter(df[df[\"Survived\"]==1][\"Age\"], df[df[\"Survived\"]==1][\"Fare\"], c=\"blue\", alpha=0.5)\n", + "ax.scatter(df[df[\"Survived\"]==0][\"Age\"], df[df[\"Survived\"]==0][\"Fare\"], c=\"green\", alpha=0.5)\n", + "\n", + "ax.set_xlabel(\"Age\")\n", + "ax.set_ylabel(\"Fare\")\n", + "\n", + "color_patches = [\n", + " Line2D([0], [0], marker='o', color='w', label='survived', markerfacecolor='b', markersize=10),\n", + " Line2D([0], [0], marker='o', color='w', label='did not survive', markerfacecolor='g', markersize=10)\n", + "]\n", + "ax.legend(handles=color_patches)\n", + "\n", + "fig.suptitle(\"Survival by Age and Fare for Titanic Passengers\");" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "GFXGXrh78ohl" + }, + "source": [ + "## Summary\n", + "\n", + "Most of the time if your target is a categorical variable, the best EDA visualization isn't going to be a basic scatter plot. Instead, consider:\n", + "\n", + "#### Numeric vs. Categorical (e.g. `Survived` vs. `Age`)\n", + " - Multiple histograms\n", + " - Multiple density estimate plots\n", + " - Multiple box plots\n", + "\n", + "#### Categorical vs. Categorical (e.g. `Survived` vs. `Pclass`)\n", + " - Grouped bar charts\n", + " - Stacked bar charts\n", + "\n", + "#### Numeric vs. Numeric vs. Categorical (e.g. `Age` vs. `Fare` vs. `Survived`)\n", + " - Color-coded scatter plots" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "id": "8lvDlWsN8ohl" + }, + "outputs": [ + { + "ename": "AttributeError", + "evalue": "'DataFrame' object has no attribute 'boxplots'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[3], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mdf\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mboxplots\u001b[49m()\n", + "File \u001b[0;32m/opt/anaconda3/envs/nlp/lib/python3.10/site-packages/pandas/core/generic.py:6204\u001b[0m, in \u001b[0;36mNDFrame.__getattr__\u001b[0;34m(self, name)\u001b[0m\n\u001b[1;32m 6197\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m (\n\u001b[1;32m 6198\u001b[0m name \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_internal_names_set\n\u001b[1;32m 6199\u001b[0m \u001b[38;5;129;01mand\u001b[39;00m name \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_metadata\n\u001b[1;32m 6200\u001b[0m \u001b[38;5;129;01mand\u001b[39;00m name \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_accessors\n\u001b[1;32m 6201\u001b[0m \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_info_axis\u001b[38;5;241m.\u001b[39m_can_hold_identifiers_and_holds_name(name)\n\u001b[1;32m 6202\u001b[0m ):\n\u001b[1;32m 6203\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28mself\u001b[39m[name]\n\u001b[0;32m-> 6204\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;28;43mobject\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[38;5;21;43m__getattribute__\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mname\u001b[49m\u001b[43m)\u001b[49m\n", + "\u001b[0;31mAttributeError\u001b[0m: 'DataFrame' object has no attribute 'boxplots'" + ] + } + ], + "source": [ + "df.boxplots()" + ] + } + ], + "metadata": { + "colab": { + "provenance": [] + }, + "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.10.4" + } + }, + "nbformat": 4, + "nbformat_minor": 1 +}