{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# [UNIT 1. Import and Visualitzation of data with Python](#toc0_)\n", "\n", "This Unit includes some fast shortcuts to representing data in Python, closely following {cite:p}`kroese2020` and the corresponding [GitHub repo](https://github.com/DSML-book/).\n", "\n", "NOTE: being this a training tool, we assume the user will have installed all the needed requirements. In case some package is missing, use a terminal to install it apart using your favorite package manager.\n", "\n", "These notebooks have been tested in Linux Ubuntu using Anaconda as the package manager in most cases. The notebooks are self-containing." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Table of contents** \n", "- [UNIT 1. Import and Visualitzation of data with Python](#toc1_) \n", " - [Retrieving data](#toc1_1_) \n", " - [Reformating tables](#toc1_2_) \n", " - [Structuring features](#toc1_3_) \n", " - [Summary tables and statistics](#toc1_4_) \n", " - [Data visualization](#toc1_5_) \n", " - [Qualitative variables](#toc1_5_1_) \n", " - [Quantitative variables](#toc1_5_2_) \n", "\n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## [Retrieving data](#toc0_)\n", "\n", "Typically the files containing data to be analyzed are stored in comma separated value (CSV) format. To work with them, the first thing to do is downloading the data. But before we ensure we have a proper folder to download the file." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "folder datasets exists\n", "folder output exists\n", "El fitxer ‘datasets/wine.zip’ ja existeix, no es baixa.\n", "\n" ] } ], "source": [ "import os\n", "\n", "input_directory = \"datasets\"\n", "output_directory = 'output'\n", "\n", "# Check if the directories exist\n", "if not os.path.exists(input_directory):\n", " # If it doesn't exist, create it\n", " os.makedirs(input_directory)\n", "else:\n", " print('folder ',input_directory,' exists')\n", "\n", "if not os.path.exists(output_directory):\n", " # If it doesn't exist, create it\n", " os.makedirs(output_directory)\n", "else:\n", " print('folder ',output_directory,' exists')\n", "\n", "# now use wget to download the file into the datasets folder\n", "!wget -P $input_directory -nc https://archive.ics.uci.edu/static/public/109/wine.zip " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, we read the content of the zip file using the `pandas` module. Information of the data can be found in the [ML repository at UCI](https://archive.ics.uci.edu/dataset/109/wine)." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
012345678910111213
0114.231.712.4315.61272.803.060.282.295.641.043.921065
1113.201.782.1411.21002.652.760.261.284.381.053.401050
2113.162.362.6718.61012.803.240.302.815.681.033.171185
3114.371.952.5016.81133.853.490.242.187.800.863.451480
4113.242.592.8721.01182.802.690.391.824.321.042.93735
\n", "
" ], "text/plain": [ " 0 1 2 3 4 5 6 7 8 9 10 11 12 \\\n", "0 1 14.23 1.71 2.43 15.6 127 2.80 3.06 0.28 2.29 5.64 1.04 3.92 \n", "1 1 13.20 1.78 2.14 11.2 100 2.65 2.76 0.26 1.28 4.38 1.05 3.40 \n", "2 1 13.16 2.36 2.67 18.6 101 2.80 3.24 0.30 2.81 5.68 1.03 3.17 \n", "3 1 14.37 1.95 2.50 16.8 113 3.85 3.49 0.24 2.18 7.80 0.86 3.45 \n", "4 1 13.24 2.59 2.87 21.0 118 2.80 2.69 0.39 1.82 4.32 1.04 2.93 \n", "\n", " 13 \n", "0 1065 \n", "1 1050 \n", "2 1185 \n", "3 1480 \n", "4 735 " ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "from zipfile import ZipFile\n", "\n", "with ZipFile('datasets/wine.zip', 'r') as f:\n", "\n", "#extract in current directory\n", " f.extractall(input_directory, members =['wine.names',\"wine.data\"])\n", "\n", "wine = pd.read_csv('datasets/wine.data',header=None)\n", "wine.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "as we do not have the names of the columns, we can manually assign them based on the information contained in the web link." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
classAlcoholMaliacidAshAlcalinity_of_ashMagnesiumTotal_phenolsFlavanoidsNonflavonoid_phenolsProanthocyaninsColor_intensityHue0D280_0D315_of_diluted_winesProline
0114.231.712.4315.61272.803.060.282.295.641.043.921065
1113.201.782.1411.21002.652.760.261.284.381.053.401050
2113.162.362.6718.61012.803.240.302.815.681.033.171185
3114.371.952.5016.81133.853.490.242.187.800.863.451480
4113.242.592.8721.01182.802.690.391.824.321.042.93735
\n", "
" ], "text/plain": [ " class Alcohol Maliacid Ash Alcalinity_of_ash Magnesium \\\n", "0 1 14.23 1.71 2.43 15.6 127 \n", "1 1 13.20 1.78 2.14 11.2 100 \n", "2 1 13.16 2.36 2.67 18.6 101 \n", "3 1 14.37 1.95 2.50 16.8 113 \n", "4 1 13.24 2.59 2.87 21.0 118 \n", "\n", " Total_phenols Flavanoids Nonflavonoid_phenols Proanthocyanins \\\n", "0 2.80 3.06 0.28 2.29 \n", "1 2.65 2.76 0.26 1.28 \n", "2 2.80 3.24 0.30 2.81 \n", "3 3.85 3.49 0.24 2.18 \n", "4 2.80 2.69 0.39 1.82 \n", "\n", " Color_intensity Hue 0D280_0D315_of_diluted_wines Proline \n", "0 5.64 1.04 3.92 1065 \n", "1 4.38 1.05 3.40 1050 \n", "2 5.68 1.03 3.17 1185 \n", "3 7.80 0.86 3.45 1480 \n", "4 4.32 1.04 2.93 735 " ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "wine.columns = ['class','Alcohol','Maliacid','Ash','Alcalinity_of_ash','Magnesium','Total_phenols','Flavanoids','Nonflavonoid_phenols','Proanthocyanins','Color_intensity','Hue','0D280_0D315_of_diluted_wines','Proline']\n", "wine.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Alternatively, we can directly read the CSV from its URL, without previously downloading it. We will use [Fisher's `iris` data](https://vincentarelbundock.github.io/Rdatasets/doc/datasets/iris.html). Here we already have the name of the columns/features so we read them directly from the dataset.\n" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
rownamesSepal.LengthSepal.WidthPetal.LengthPetal.WidthSpecies
015.13.51.40.2setosa
124.93.01.40.2setosa
234.73.21.30.2setosa
344.63.11.50.2setosa
455.03.61.40.2setosa
\n", "
" ], "text/plain": [ " rownames Sepal.Length Sepal.Width Petal.Length Petal.Width Species\n", "0 1 5.1 3.5 1.4 0.2 setosa\n", "1 2 4.9 3.0 1.4 0.2 setosa\n", "2 3 4.7 3.2 1.3 0.2 setosa\n", "3 4 4.6 3.1 1.5 0.2 setosa\n", "4 5 5.0 3.6 1.4 0.2 setosa" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dataname = 'https://vincentarelbundock.github.io/Rdatasets/csv/datasets/iris.csv'\n", "\n", "iris = pd.read_csv(dataname)\n", "iris.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "as the first column is a duplicated index column, we can remove it" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Sepal.LengthSepal.WidthPetal.LengthPetal.WidthSpecies
05.13.51.40.2setosa
14.93.01.40.2setosa
24.73.21.30.2setosa
34.63.11.50.2setosa
45.03.61.40.2setosa
..................
1456.73.05.22.3virginica
1466.32.55.01.9virginica
1476.53.05.22.0virginica
1486.23.45.42.3virginica
1495.93.05.11.8virginica
\n", "

150 rows × 5 columns

\n", "
" ], "text/plain": [ " Sepal.Length Sepal.Width Petal.Length Petal.Width Species\n", "0 5.1 3.5 1.4 0.2 setosa\n", "1 4.9 3.0 1.4 0.2 setosa\n", "2 4.7 3.2 1.3 0.2 setosa\n", "3 4.6 3.1 1.5 0.2 setosa\n", "4 5.0 3.6 1.4 0.2 setosa\n", ".. ... ... ... ... ...\n", "145 6.7 3.0 5.2 2.3 virginica\n", "146 6.3 2.5 5.0 1.9 virginica\n", "147 6.5 3.0 5.2 2.0 virginica\n", "148 6.2 3.4 5.4 2.3 virginica\n", "149 5.9 3.0 5.1 1.8 virginica\n", "\n", "[150 rows x 5 columns]" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "iris.drop('rownames', axis=1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## [Reformating tables](#toc0_)\n", "\n", "Some times tha data comes in odd formats, not useful for analysis.\n", "\n", "For example, consider the table with scores given here, with values obtained before and after some particular training:\n", "\n", "![scores](../figures/scores.png)\n", "\n", "We want to reformat it in such a way that the score data is in a single column. Let us create a table that uses three features: *Score* (continuous data), *Time* (before or after) and *Student* (integer values from 1 to 5). We will use the `pandas.melt` method, [speciffically devoted to this goal](https://pandas.pydata.org/docs/reference/api/pandas.melt.html).\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " Student Time value\n", "0 1 Before 75\n", "1 2 Before 30\n", "2 3 Before 100\n", "3 4 Before 50\n", "4 5 Before 60\n", "5 1 After 85\n", "6 2 After 50\n", "7 3 After 100\n", "8 4 After 52\n", "9 5 After 65\n" ] } ], "source": [ "# manually create dataframe with data from table\n", "values = [[1 ,75 ,85] ,[2 ,30 ,50] ,[3 ,100 ,100] ,[4 ,50 ,52] ,[5 ,60 ,65]]\n", "import pandas as pd\n", "df = pd. DataFrame (values , columns =['Student ','Before ', 'After '])\n", "# format dataframe as required\n", "df = pd.melt(df , id_vars =['Student '], var_name =\"Time\", value_vars =['Before ','After '])\n", "print(df)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## [Structuring features](#toc0_)\n", "\n", "Types of features:\n", "* Quantitive (with possible discrete or continuous values)\n", "* Qualitative; can be eventually divided into a fixed number of categories: that is why they are referred as **categorical** or **factors**.\n", "\n", "Here we will work with data from {cite:p}`lafaye_de_micheaux_r_2013`. In particular, we will download the file containing nutritional measurements of thirteen features (columns) for 226 elderly individuals (rows). Note the [file](http://www.biostatisticien.eu/springeR/nutrition_elderly.xls) is now an excel file." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
gendersituationteacoffee...raw_fruitcooked_fruit_vegchocolfat
02100...1456
12111...5514
22104...5254
32100...4032
42121...5532
\n", "

5 rows × 13 columns

\n", "
" ], "text/plain": [ " gender situation tea coffee ... raw_fruit cooked_fruit_veg chocol \\\n", "0 2 1 0 0 ... 1 4 5 \n", "1 2 1 1 1 ... 5 5 1 \n", "2 2 1 0 4 ... 5 2 5 \n", "3 2 1 0 0 ... 4 0 3 \n", "4 2 1 2 1 ... 5 5 3 \n", "\n", " fat \n", "0 6 \n", "1 4 \n", "2 4 \n", "3 2 \n", "4 2 \n", "\n", "[5 rows x 13 columns]" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "xls = 'http://www.biostatisticien.eu/springeR/nutrition_elderly.xls'\n", "nutri = pd.read_excel(xls)\n", "\n", "pd.set_option('display.max_columns', 8)\n", "nutri.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "to check the structure of the data we can use the `info` attribute of the `pandas` dataframe, which matches the description that is given in the original source\n", "\n", "![description](../figures/nutriage-en.png)\n", "\n", "Note the features can be classified as\n", "\n", "* qualitative\n", " * ordinal (meat, fish, raw_fruit, cooked_fruit_veg,chocol)\n", " * nominal (gender, situation), fat\n", "* quantitative\n", " * discrete (tea, coffee)\n", " * continuous (height, weight, age)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 226 entries, 0 to 225\n", "Data columns (total 13 columns):\n", " # Column Non-Null Count Dtype\n", "--- ------ -------------- -----\n", " 0 gender 226 non-null int64\n", " 1 situation 226 non-null int64\n", " 2 tea 226 non-null int64\n", " 3 coffee 226 non-null int64\n", " 4 height 226 non-null int64\n", " 5 weight 226 non-null int64\n", " 6 age 226 non-null int64\n", " 7 meat 226 non-null int64\n", " 8 fish 226 non-null int64\n", " 9 raw_fruit 226 non-null int64\n", " 10 cooked_fruit_veg 226 non-null int64\n", " 11 chocol 226 non-null int64\n", " 12 fat 226 non-null int64\n", "dtypes: int64(13)\n", "memory usage: 23.1 KB\n" ] } ], "source": [ "nutri.info()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "let us change now the data value and type of different features by means of the `replace` and the `astype` methods, and finally save the data in CSV format." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
gendersituationteacoffee...raw_fruitcooked_fruit_vegchocolfat
0Femalesingle00...less than once a week4-6 times a weekevery dayMix of vegetable oils
1Femalesingle11...every dayevery dayless than once a weekSunflower oil
2Femalesingle04...every dayonce a weekevery daySunflower oil
3Femalesingle00...4-6 times a weeknever2-3 times a weekMargarine
4Femalesingle21...every dayevery day2-3 times a weekMargarine
\n", "

5 rows × 13 columns

\n", "
" ], "text/plain": [ " gender situation tea coffee ... raw_fruit \\\n", "0 Female single 0 0 ... less than once a week \n", "1 Female single 1 1 ... every day \n", "2 Female single 0 4 ... every day \n", "3 Female single 0 0 ... 4-6 times a week \n", "4 Female single 2 1 ... every day \n", "\n", " cooked_fruit_veg chocol fat \n", "0 4-6 times a week every day Mix of vegetable oils \n", "1 every day less than once a week Sunflower oil \n", "2 once a week every day Sunflower oil \n", "3 never 2-3 times a week Margarine \n", "4 every day 2-3 times a week Margarine \n", "\n", "[5 rows x 13 columns]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# gender, situation, meat, fish, raw_fruit, cooked_fruit_veg chocol and fat feature are categorical\n", "DICT = {1:'Male',2:'Female'}\n", "nutri['gender'] = nutri['gender'].replace(DICT).astype('category')\n", "\n", "DICT = {1:'single',2:'couple',3:'family',4:'other'}\n", "nutri['situation'] = nutri['situation'].replace(DICT).astype('category')\n", "\n", "DICT = {0:'never',1:'less than once a week',2:'once a week',3:'2-3 times a week',4:'4-6 times a week', 5:'every day'}\n", "nutri['meat'] = nutri['meat'].replace(DICT).astype('category')\n", "nutri['fish'] = nutri['fish'].replace(DICT).astype('category')\n", "nutri['raw_fruit'] = nutri['raw_fruit'].replace(DICT).astype('category')\n", "nutri['cooked_fruit_veg'] = nutri['cooked_fruit_veg'].replace(DICT).astype('category')\n", "nutri['chocol'] = nutri['chocol'].replace(DICT).astype('category')\n", "\n", "DICT = {1:'Butter',2:'Margarine',3:'Peanut oil', 4:'Sunflower oil', 5:'Olive oil', 6:'Mix of vegetable oils', 7:'Colza oil',8:'Duck or goose fat'}\n", "nutri['fat'] = nutri['fat'].replace(DICT).astype('category')\n", "\n", "# tea and coffee are integer\n", "nutri['tea'] = nutri['tea'].astype(int)\n", "nutri['coffee'] = nutri['coffee'].astype(int)\n", "\n", "# height, weigth, age are float\n", "nutri['height'] = nutri['height'].astype(float)\n", "nutri['weight'] = nutri['weight'].astype(float)\n", "nutri['age'] = nutri['age'].astype(float)\n", "\n", "nutri.head()\n" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 226 entries, 0 to 225\n", "Data columns (total 13 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 gender 226 non-null category\n", " 1 situation 226 non-null category\n", " 2 tea 226 non-null int64 \n", " 3 coffee 226 non-null int64 \n", " 4 height 226 non-null float64 \n", " 5 weight 226 non-null float64 \n", " 6 age 226 non-null float64 \n", " 7 meat 226 non-null category\n", " 8 fish 226 non-null category\n", " 9 raw_fruit 226 non-null category\n", " 10 cooked_fruit_veg 226 non-null category\n", " 11 chocol 226 non-null category\n", " 12 fat 226 non-null category\n", "dtypes: category(8), float64(3), int64(2)\n", "memory usage: 12.4 KB\n" ] } ], "source": [ "\n", "nutri.info()\n", "\n", "nutri.to_csv('output/nutri.csv',index=False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## [Summary tables and statistics](#toc0_)\n", "\n", "It is extremely important to know your data before any analysis. Apart from the descriptive tools shown above, descriptive statistical measurements can be obtained from pandas with two simple methods: `describe` and `value_counts`. Interesting to note that the outcome of both `describe` and `value_counts` are pandas *series*, one-dimensional ndarrays with axis labels." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "count 226\n", "unique 8\n", "top Sunflower oil\n", "freq 68\n", "Name: fat, dtype: object" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nutri = pd.read_csv('output/nutri.csv')\n", "nutri['fat'].describe()\n" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "fat\n", "Sunflower oil 68\n", "Peanut oil 48\n", "Olive oil 40\n", "Margarine 27\n", "Mix of vegetable oils 23\n", "Butter 15\n", "Duck or goose fat 4\n", "Colza oil 1\n", "Name: count, dtype: int64" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nutri['fat'].value_counts()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also generate a contingey table by *cross tabulating* between two or more variables:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
situationcouplefamilysingleAll
gender
Female56778141
Male6322085
All119998226
\n", "
" ], "text/plain": [ "situation couple family single All\n", "gender \n", "Female 56 7 78 141\n", "Male 63 2 20 85\n", "All 119 9 98 226" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pd.crosstab(nutri.gender,nutri.situation,margins=True) # the margins attribute adds the rows/columns totals" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "we can now turn to descriptive statistics like the *sample mean*, $\\bar{x}$:\n", "$$\\bar{x}=\\frac{1}{n}\\sum_{i=1}^n x_i$$\n" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "163.96017699115043" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nutri.height.mean()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "and the *p-sample quantile* of $\\mathbf{x}$, being $0

[Data visualization](#toc0_)\n", "\n", "Depending on the data type, data visualization will differ. In order to use the visualization power of Python , first we will import the `matplotlib.pyplot` module, as well as `numpy`, in addition to the already imported `pandas` module." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### [Qualitative variables](#toc0_)\n", "\n", "here we can show the data in a simple bar plot, taking itno account that the category (x-axis) is not per se a numerical value, so we should manually place the different categories in the plot. " ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "image/png": "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NsT/R7gy3ONXjnvcbNzjV66h7vFzx7Is6+KDrUZw7NgxS5K1fft2j+0LFy60br755lrjn3nmGUsSCwsLCwsLSzNYCgoKLtoKjfIE5RybzeaxbllWrW2SlJSUpFmzZrnXa2pq9MMPPyg4OLjO8c1ZWVmZQkNDVVBQoICAgMaeDuB13ONo7q7le9yyLJ08eVIul+uiYxslUEJCQtSyZUsVFhZ6bC8qKpLD4ag13m63y263e2xr165dQ07ReAEBAdfcjY1rC/c4mrtr9R4PDAy8pHGN8iHZ6667TlFRUcrOzvbYnp2drejo6MaYEgAAMEijvcUza9YsTZgwQb1799add96p5cuXKz8/X48//nhjTQkAABii0QJlzJgxOnHihBYsWKDjx48rMjJS7733njp16tRYU2oS7Ha7nnnmmVpveQHNBfc4mjvu8Utjs6xL+VkfAACAq4fv4gEAAMYhUAAAgHEIFAAAYBwC5Rpgs9m0bt26xp4GrmETJ07UyJEjvXrMr776SjabTXv37vXqcYG6WJalxx57TEFBQQ16353/ZyU2NlYJCQkNci7TNepvkgVwbXjhhRcu7bs3AEOtX79eq1at0kcffaQuXbooJCSkQc7Dn5X/IlAANLhL/c2RgKmOHj2qjh07NvgvE+XPyn/xFk8Dq6mp0aJFi3TTTTfJbrcrLCxMCxculCR9/vnnuvvuu+Xr66vg4GA99thj7m/hlOp+tDdy5EhNnDjRvd65c2c9++yzGjdunNq2bSuXy6WlS5f+7JyOHTumMWPGqH379goODtaIESP01VdfeeuScQ3729/+ph49erjv6UGDBun06dN1PrZ+8sknlZiYqKCgIDmdTqWkpHgc64svvlD//v3VunVr3XLLLfrwww8v+nblgQMHdO+996pt27ZyOByaMGGCiouLG+Zicc2YOHGipk+frvz8fNlsNnXu3Fnr169X//791a5dOwUHB2vYsGE6evSo+zXn3oL861//qrvuuku+vr7q06ePDh8+rJycHPXu3Vtt27bVPffco++//97jXBd6O3TBggXq0aNHre1RUVGaP3++16+7sREoDSwpKUmLFi3SvHnzdODAAa1evVoOh0Pl5eW655571L59e+Xk5OjNN9/Uhx9+qCeeeKLe53juued06623avfu3UpKStLMmTNrfY3AOeXl5RowYIDatm2rrVu3atu2be4/JFVVVVd6ubiGHT9+XGPHjtWkSZN08OBBffTRRxo1atQFH1dnZWWpTZs22rlzp9LT07VgwQL3fVtTU6ORI0fKz89PO3fu1PLly5WcnHzR88fExOi2227Trl27tH79en333XcaPXq0168V15YXXnhBCxYs0A033KDjx48rJydHp0+f1qxZs5STk6ONGzeqRYsW+tWvfqWamhqP1z7zzDOaO3eudu/eLR8fH40dO1aJiYl64YUX9PHHH+vo0aOXHBeTJk3SgQMHlJOT49722Wefac+ePR7/4dpsXPT7jnHZysrKLLvdbq1YsaLWvuXLl1vt27e3Tp065d727rvvWi1atLAKCwsty7KsmJgYa8aMGR6vGzFihBUfH+9e79Spk3XPPfd4jBkzZow1dOhQ97oka+3atZZlWdZLL71kde3a1aqpqXHvr6ystHx9fa0PPvjgci8VsHJzcy1J1ldffVVrX3x8vDVixAj3ekxMjNW/f3+PMX369LHmzJljWZZlvf/++5aPj491/Phx9/7s7GyPezkvL8+SZO3Zs8eyLMuaN2+eFRcX53HMgoICS5J16NAhL1whrmXPP/+81alTpwvuLyoqsiRZn3/+uWVZ/70///KXv7jHvP7665Yka+PGje5taWlpVteuXd3rdf1Z+d+/B4YOHWr97ne/c68nJCRYsbGxV3Bl5uIJSgM6ePCgKisrNXDgwDr39ezZU23atHFv69evn2pqanTo0KF6nefOO++stX7w4ME6x+bm5urIkSPy9/dX27Zt1bZtWwUFBenMmTMejyeB+urZs6cGDhyoHj166MEHH9SKFStUUlJywfG33nqrx3rHjh1VVFQkSTp06JBCQ0PldDrd+++4446fPX9ubq42b97svq/btm2rbt26SRL3Nrzu6NGjGjdunLp06aKAgACFh4dLkvLz8z3G/e997nA4JMnjbRqHw+G+7y/Fo48+qtdff11nzpxRdXW1XnvtNU2aNOlKLsVYfEi2Afn6+l5wn2VZstlsde47t71Fixa1Ho9XV1df0rkvdOyamhpFRUXptddeq7Xv+uuvv6RjA3Vp2bKlsrOztWPHDm3YsEFLly5VcnKydu7cWef4Vq1aeazbbDb34/Gf+/NxITU1NRo+fLgWLVpUa1/Hjh3rdSzgYoYPH67Q0FCtWLFCLpdLNTU1ioyMrPVW+f/e5+fu6fO3nf+20MXOa7fbtXbtWtntdlVWVurXv/71FV6NmQiUBhQRESFfX19t3LhRkydP9th3yy23KCsrS6dPn3Y/Rdm+fbtatGihm2++WdJPwXD8+HH3a86ePat9+/ZpwIABHsf65JNPaq2f+y/H8/Xq1UtvvPGGOnTooICAgCu+RuB/2Ww29evXT/369dP8+fPVqVMnrV27tt7H6datm/Lz8/Xdd9+5/6vzf993r0uvXr3097//XZ07d5aPD/9qQ8M5ceKEDh48qD//+c+66667JEnbtm27Kuf28fFRfHy8Vq5cKbvdroceekh+fn5X5dxXG2/xNKDWrVtrzpw5SkxM1Msvv6yjR4/qk08+0UsvvaTx48erdevWio+P1759+7R582ZNnz5dEyZMcP8L+e6779a7776rd999V1988YWmTp2q//znP7XOs337dqWnp+vw4cP64x//qDfffFMzZsyoc07jx49XSEiIRowYoY8//lh5eXnasmWLZsyYoW+++aYh/3Ggmdu5c6dSU1O1a9cu5efn66233tL333+v7t271/tYgwcP1o033qj4+Hh99tln2r59u/tDshd6sjJt2jT98MMPGjt2rD799FN9+eWX2rBhgyZNmqSzZ89e0bUB/+vcT0AuX75cR44c0aZNmzRr1qyrdv7Jkydr06ZNev/995vt2zsSgdLg5s2bp9mzZ2v+/Pnq3r27xowZo6KiIvn5+emDDz7QDz/8oD59+uiBBx7QwIEDlZmZ6X7tpEmTFB8fr4cfflgxMTEKDw+v9fREkmbPnq3c3FzdfvvtevbZZ7V48WINGTKkzvn4+flp69atCgsL06hRo9S9e3dNmjRJFRUVPFHBFQkICNDWrVt177336uabb9bcuXO1ePFiDR06tN7HatmypdatW6dTp06pT58+mjx5subOnSvpp/Cvi8vl0vbt23X27FkNGTJEkZGRmjFjhgIDA9WiBf+qg/e0aNFCa9asUW5uriIjIzVz5kw999xzV+38ERERio6OVteuXdW3b9+rdt6rzWad/yEHNCmdO3dWQkLCNfurkHHt2L59u/r3768jR47oxhtvbOzpAI3Gsix169ZNU6ZMuapPbq423qgFYKS1a9eqbdu2ioiI0JEjRzRjxgz169ePOME1raioSK+88oqOHTum3/72t409nQZFoAAw0smTJ5WYmKiCggKFhIRo0KBBWrx4cWNPC2hUDodDISEhWr58udq3b9/Y02lQvMUDAACMwyfHAACAcQgUAABgHAIFAAAYh0ABAADGIVAAAIBxCBQAAGAcAgUAABiHQAEAAMYhUAAAgHH+H2Bz3J/f1CN2AAAAAElFTkSuQmCC", "text/plain": [ "

" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "\n", "width = 0.35 # the width of the bars\n", "x = [0, 0.8, 1.6] # position of the bars\n", "situation_counts = nutri.situation.value_counts() # note that situation_counts is a pandas series\n", "plt.bar(x,situation_counts,width,edgecolor='black')\n", "plt.xticks(x,situation_counts.index)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### [Quantitative variables](#toc0_)\n", "\n", "Such type oif variables allow for more complex graphical representation. We will see some possibilities. We are in particular interested in visualizing the location, dispersion and shae of the data.\n", "\n", "The first example is visualizing data with a boxplot, that gives information on the location and dispersion, showing also outliers (data $x_i$ that is beyond the whiskers of the boxplot, this is, $x_iQ_3+1.5 (Q_3-Q_1)$, being $Q_3-Q_1$ called *interquantile range* or IQR)." ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhYAAAGwCAYAAAD16iy9AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAWXklEQVR4nO3dbWzV9fn48aulUoq0bLIBRQoK0bQGJzJnvJu6PdB5Q9yWqFPZYEZnotkUFmGbDjfF6HSJe2DchP0yYyBuWTBmkky8mdOgiTegjmzlVrxhiG46bRWFQD//BwsnfyYIlKs9bX29Eh70fE/P9+rHDz1vv+e01JRSSgAAJKit9gAAwMAhLACANMICAEgjLACANMICAEgjLACANMICAEhT19sn7Orqik2bNkVjY2PU1NT09ukBgG4opURnZ2eMGTMmamv3fF2i18Ni06ZN0dLS0tunBQASvP766zF27Ng9Hu/1sGhsbIyI/w7W1NTU26cHALqho6MjWlpaKs/je9LrYbHz5Y+mpiZhAQD9zN7exuDNmwBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKSpq/YA9A9r166Nzs7Oao/RZ9Rs/yiGvP9afDRsXJS6IdUep09pbGyMI444otpjAFUiLNirtWvXxpFHHlntMfqUY0fXxoorhsWUu9+PFzZ3VXucPmfNmjXiAj6lhAV7tfNKxcKFC6Otra3K0/QNDe+uiXjyili0aFF8+BnRtVN7e3tMmzbN1S34FBMW7LO2traYMmVKtcfoGzbVRjwZ0dbaGjFmcrWnAegzvHkTAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgzYMJiy5YtsWLFitiyZUu1RwGA/TZQnscGTFisWrUqvvjFL8aqVauqPQoA7LeB8jw2YMICAKg+YQEApBEWAEAaYQEApBEWAEAaYQEApBEWAEAaYQEApBEWAEAaYQEApBEWAEAaYQEApBEWAEAaYQEApBEWAEAaYQEApBEWAEAaYQEApBEWAEAaYQEApBEWAEAaYQEApBEWAEAaYQEApBEWAEAaYQEApKmr9gAAwIHbtm1b3HXXXbF+/fqYOHFiXHnllTF48OBen2O/r1g8+eSTMXXq1BgzZkzU1NTEAw880ANjAQD7avbs2XHwwQfHzJkz484774yZM2fGwQcfHLNnz+71WfY7LD744IM45phj4s477+yJeQCA/TB79uy4/fbbY8SIEbFgwYJ44403YsGCBTFixIi4/fbbez0u9vulkLPOOivOOuusnpgFANgP27ZtizvuuCNGjRoVGzdujLq6/z6tX3bZZTFjxowYO3Zs3HHHHTFv3rxee1mkx99jsXXr1ti6dWvl446Ojh45z4cffhgREe3t7T3y+J9mO9d05xrDnvh7CN3Xne+1d911V2zfvj3mzZtXiYqd6urq4sYbb4wrrrgi7rrrrrjmmmsyx92jHg+LW265JX7+85/39GnilVdeiYiIadOm9fi5Pq1eeeWVOPnkk6s9Bn2Yv4dw4Pbne+369esjIuLcc8/d7fGdt++8X2/o8bD48Y9/HLNmzap83NHRES0tLennOeywwyIiYuHChdHW1pb++J9m7e3tMW3atMoaw574ewjd153vtRMnToyIiCVLlsRll132seNLlizZ5X69ocfDor6+Purr63v6NNHQ0BAREW1tbTFlypQeP9+n0c41hj3x9xAO3P58r73yyivj2muvjeuvvz5mzJixy8sh27dvj7lz50ZdXV1ceeWVPTHqbvkFWQDQTw0ePDhmzpwZb775ZowdOzbmz58fmzZtivnz58fYsWPjzTffjJkzZ/bq77PY7ysW77//fqxbt67y8YYNG+LFF1+MQw45JMaNG5c6HADwyW677baIiLjjjjviiiuuqNxeV1cX1157beV4b9nvsHj++efjK1/5SuXjne+fmD59etxzzz1pgwEA++a2226LefPm9YnfvLnfYXH66adHKaUnZgEAumnw4MG99iOln8R7LACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgjLACANMICAEgzYMKitbU1li9fHq2trdUeBQD220B5Hqur9gBZhg4dGlOmTKn2GADQLQPleWzAXLEAAKpPWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJCmrtoD0Pdt2bIlIiJWrFhR5Un6joZ310RbRLSvWhUfbu6q9jh9Rnt7e7VHAKpMWLBXq1atioiIyy+/vMqT9B3Hjq6NFVcMi0suuSReEBYf09jYWO0RgCoRFuzV17/+9YiIaG1tjaFDh1Z3mD6iZvtH0f7+a/F/Z4+LUjek2uP0KY2NjXHEEUdUewygSmpKKaU3T9jR0RHDhw+P9957L5qamnrz1ABAN+3r87c3bwIAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJCmrrdPWEqJiIiOjo7ePjUA0E07n7d3Po/vSa+HRWdnZ0REtLS09PapAYAD1NnZGcOHD9/j8Zqyt/RI1tXVFZs2bYrGxsaoqalJe9yOjo5oaWmJ119/PZqamtIeF2vbk6xtz7CuPcfa9py+vrallOjs7IwxY8ZEbe2e30nR61csamtrY+zYsT32+E1NTX3yP8hAYG17jrXtGda151jbntOX1/aTrlTs5M2bAEAaYQEApBkwYVFfXx833HBD1NfXV3uUAcfa9hxr2zOsa8+xtj1noKxtr795EwAYuAbMFQsAoPqEBQCQRlgAAGmEBQCQpt+FxT//+c+YNm1ajBgxIoYOHRqTJ0+O5cuXV47PmDEjampqdvlzwgknVHHi/uGwww772LrV1NTEVVddFRH//Y1rP/vZz2LMmDHR0NAQp59+evz973+v8tT9w97W1p7tnu3bt8f1118fhx9+eDQ0NMSECRPixhtvjK6ursp97Nvu2Ze1tW+7r7OzM6655poYP358NDQ0xEknnRTPPfdc5Xi/37elH3nnnXfK+PHjy4wZM8ozzzxTNmzYUB599NGybt26yn2mT59evva1r5U33nij8uftt9+u4tT9w1tvvbXLmj3yyCMlIsrjjz9eSinl1ltvLY2NjWXx4sVl5cqV5cILLyzNzc2lo6OjuoP3A3tbW3u2e+bNm1dGjBhRlixZUjZs2FD++Mc/lmHDhpVf/epXlfvYt92zL2tr33bfBRdcUI466qjyxBNPlLVr15YbbrihNDU1lY0bN5ZS+v++7VdhMWfOnHLKKad84n2mT59ezjvvvN4ZaAC7+uqry8SJE0tXV1fp6uoqo0ePLrfeemvl+EcffVSGDx9efvOb31Rxyv7p/1/bUuzZ7jrnnHPKpZdeustt3/zmN8u0adNKKcW+PQB7W9tS7Nvu2rJlSxk0aFBZsmTJLrcfc8wx5brrrhsQ+7ZfvRTypz/9KY477rg4//zzY+TIkXHsscfGggULPna/v/71rzFy5Mg48sgj4/LLL4+33nqrCtP2X9u2bYuFCxfGpZdeGjU1NbFhw4bYvHlznHHGGZX71NfXx2mnnRZPP/10FSftf/53bXeyZ/ffKaecEo899lisWbMmIiJeeumlWLZsWZx99tkREfbtAdjb2u5k3+6/7du3x44dO2LIkCG73N7Q0BDLli0bEPu21/8RsgPx8ssvx69//euYNWtW/OQnP4lnn302fvCDH0R9fX185zvfiYiIs846K84///wYP358bNiwIX7605/GV7/61Vi+fHm//21mveWBBx6Id999N2bMmBEREZs3b46IiFGjRu1yv1GjRsWrr77a2+P1a/+7thH2bHfNmTMn3nvvvWhtbY1BgwbFjh074uabb46LLrooIuzbA7G3tY2wb7ursbExTjzxxLjpppuira0tRo0aFffdd18888wzccQRRwyMfVvtSyb746CDDionnnjiLrd9//vfLyeccMIeP2fTpk3loIMOKosXL+7p8QaMM844o5x77rmVj5966qkSEWXTpk273O+yyy4rZ555Zm+P16/979rujj27b+67774yduzYct9995W//e1v5d577y2HHHJIueeee0op9u2B2Nva7o59u+/WrVtXTj311BIRZdCgQeVLX/pSueSSS0pbW9uA2Lf96opFc3NzHHXUUbvc1tbWFosXL/7Ezxk/fnysXbu2p8cbEF599dV49NFH4/7776/cNnr06Ij47/8BNjc3V25/6623PlbV7Nnu1nZ37Nl9c+2118aPfvSj+Na3vhUREUcffXS8+uqrccstt8T06dPt2wOwt7XdHft2302cODGeeOKJ+OCDD6KjoyOam5vjwgsvjMMPP3xA7Nt+9R6Lk08+OVavXr3LbWvWrInx48fv8XPefvvteP3113f5D8Se/e53v4uRI0fGOeecU7lt52Z/5JFHKrdt27YtnnjiiTjppJOqMWa/tLu13R17dt9s2bIlamt3/RY2aNCgyo9E2rfdt7e13R37dv8dfPDB0dzcHP/5z39i6dKlcd555w2MfVvtSyb749lnny11dXXl5ptvLmvXri2LFi0qQ4cOLQsXLiyllNLZ2Vl++MMflqeffrps2LChPP744+XEE08shx56aL/5MZ1q2rFjRxk3blyZM2fOx47deuutZfjw4eX+++8vK1euLBdddFG/+vGnatvT2tqz3Td9+vRy6KGHVn4k8v777y+f+9znyuzZsyv3sW+7Z29ra98emIceeqj8+c9/Li+//HJ5+OGHyzHHHFOOP/74sm3btlJK/9+3/SosSinlwQcfLJMmTSr19fWltbW1zJ8/v3Jsy5Yt5Ywzziif//zny0EHHVTGjRtXpk+fXl577bUqTtx/LF26tEREWb169ceOdXV1lRtuuKGMHj261NfXl1NPPbWsXLmyClP2T3taW3u2+zo6OsrVV19dxo0bV4YMGVImTJhQrrvuurJ169bKfezb7tnb2tq3B+YPf/hDmTBhQhk8eHAZPXp0ueqqq8q7775bOd7f961/Nh0ASNOv3mMBAPRtwgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgL4RA899FCccsop8ZnPfCZGjBgR5557bqxfv75y/Omnn47JkyfHkCFD4rjjjosHHnggampq4sUXX6zc5x//+EecffbZMWzYsBg1alR8+9vfjn//+99V+GqAniYsgE/0wQcfxKxZs+K5556Lxx57LGpra+Mb3/hGdHV1RWdnZ0ydOjWOPvroWLFiRdx0000xZ86cXT7/jTfeiNNOOy0mT54czz//fDz00EPx5ptvxgUXXFClrwjoSf51U2C//Otf/4qRI0fGypUrY9myZXH99dfHxo0bY8iQIRER8dvf/jYuv/zyeOGFF2Ly5Mkxd+7ceOaZZ2Lp0qWVx9i4cWO0tLTE6tWr48gjj6zWlwL0AFcsgE+0fv36uPjii2PChAnR1NQUhx9+eEREvPbaa7F69er4whe+UImKiIjjjz9+l89fvnx5PP744zFs2LDKn9bW1spjAwNLXbUHAPq2qVOnRktLSyxYsCDGjBkTXV1dMWnSpNi2bVuUUqKmpmaX+//vRdCurq6YOnVq/OIXv/jYYzc3N/fo7EDvExbAHr399tvR3t4ed999d3z5y1+OiIhly5ZVjre2tsaiRYti69atUV9fHxERzz///C6PMWXKlFi8eHEcdthhUVfnWw4MdF4KAfbos5/9bIwYMSLmz58f69ati7/85S8xa9asyvGLL744urq64nvf+160t7fH0qVL45e//GVEROVKxlVXXRXvvPNOXHTRRfHss8/Gyy+/HA8//HBceumlsWPHjqp8XUDPERbAHtXW1sbvf//7WL58eUyaNClmzpwZt99+e+V4U1NTPPjgg/Hiiy/G5MmT47rrrou5c+dGRFTedzFmzJh46qmnYseOHXHmmWfGpEmT4uqrr47hw4dHba1vQTDQ+KkQINWiRYviu9/9brz33nvR0NBQ7XGAXuYFT+CA3HvvvTFhwoQ49NBD46WXXoo5c+bEBRdcICrgU0pYAAdk8+bNMXfu3Ni8eXM0NzfH+eefHzfffHO1xwKqxEshAEAa75wCANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgzf8D2bsRZQItCXYAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.boxplot(nutri.age,widths=width,vert=False) # the vert controls the verticality of the plot\n", "plt.xlabel('age')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In a slightly more complex setup, we can compare two different categories in the boxplot:" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAioAAAGwCAYAAACHJU4LAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAzSklEQVR4nO3de3zOdePH8fdl2MwMOWVZVKw5jJ3kkFPkMBJCTsmponvJLHGLiLiHWw4RTYnUI1QOt8ohkWOEMdyOI6diSQ5z2tj2/f1x3+3XbpLG9vlsez0fjz3ursN2ved22WvX9d01l+M4jgAAACyUx/QAAACAP0KoAAAAaxEqAADAWoQKAACwFqECAACsRagAAABrESoAAMBaeU0PuBOpqak6efKkChUqJJfLZXoOAAC4DY7j6OLFi/Lx8VGePLd+zCRbh8rJkyfl6+tregYAAMiAEydOqEyZMre8TrYOlUKFCkn6zyfq7e1teA0AALgdCQkJ8vX1Tfs6fivZOlR+e7rH29ubUAEAIJu5ncM2OJgWAABYi1ABAADWIlQAAIC1CBUAAGAtQgUAAFiLUAEAANYiVAAAgLUIFQAAYC1CBQAAWItQAQAA1jIaKm+88YZcLle6t3vvvdfkJAAAYBHjv+uncuXK+uabb9JOu7m5GVwDAABsYjxU8ubNy6MoAADgpoyHSlxcnHx8fOTu7q4aNWroH//4hx588MGbXjcpKUlJSUlppxMSErJqJv7rypUr2r9/v5Hbvnr1qo4ePapy5cqpQIECRjb4+/vL09PTyG0DmY37N/dvGxkNlRo1amjOnDny8/PTzz//rFGjRql27dras2ePihUrdsP1o6KiNGLECANL8Zv9+/crJCTE9AxjYmJiFBwcbHoGkCm4f3P/tpHLcRzH9IjfXL58WQ899JAGDhyoyMjIGy6/2SMqvr6+unDhgry9vbNyaq5l8juuffv26ZlnntHHH3+sihUrGtnAd1zIybh/c//OKgkJCSpcuPBtff02/tTP7xUsWFABAQGKi4u76eXu7u5yd3fP4lX4PU9PT+PfcVSsWNH4BiAn4v4NG1n1OipJSUnat2+fSpcubXoKAACwgNFQGTBggNauXasjR47o+++/V7t27ZSQkKBu3bqZnAUAACxh9KmfH3/8UZ06ddKZM2dUokQJ1axZU5s3b1bZsmVNzgIAAJYwGirz5s0zefMAAMByVh2jAgAA8HuECgAAsBahAgAArEWoAAAAaxEqAADAWoQKAACwFqECAACsRagAAABrESoAAMBahAoAALAWoQIAAKxFqAAAAGsRKgAAwFqECgAAsBahAgAArEWoAAAAaxEqAADAWoQKAACwFqECAACsRagAAABrESoAAMBahAoAALAWoQIAAKxFqAAAAGsRKgAAwFqECgAAsBahAgAArEWoAAAAaxEqAADAWoQKAACwFqECAACsRagAAABrESoAAMBahAoAALAWoQIAAKxFqAAAAGsRKgAAwFqECgAAsBahAgAArEWoAAAAaxEqAADAWoQKAACwFqECAACsRagAAABrESoAAMBahAoAALAWoQIAAKxFqAAAAGsRKgAAwFqECgAAsBahAgAArEWoAAAAaxEqAADAWoQKAACwFqECAACsRagAAABrESoAAMBa1oRKVFSUXC6XIiIiTE8BAACWsCJUtm7dqhkzZqhq1aqmpwAAAIsYD5VLly6pS5cueu+991S0aNFbXjcpKUkJCQnp3gAAQM5lPFTCw8PVokULPf7443963aioKBUuXDjtzdfXNwsWAgAAU4yGyrx587R9+3ZFRUXd1vUHDx6sCxcupL2dOHEikxcCAACT8pq64RMnTqhfv376+uuv5eHhcVvv4+7uLnd390xeBgAAbGEsVGJiYnT69GmFhISknZeSkqJ169Zp6tSpSkpKkpubm6l5AADAAsZCpVGjRtq9e3e683r06CF/f38NGjSISAEAAOZCpVChQqpSpUq68woWLKhixYrdcD4AAMidjP/UDwAAwB8x9ojKzaxZs8b0BAAAYBEeUQEAANYiVAAAgLUIFQAAYC1CBQAAWItQAQAA1iJUAACAtQgVAABgLUIFAABYi1ABAADWIlQAAIC1CBUAAGAtQgUAAFiLUAEAANYiVAAAgLUIFQAAYC1CBQAAWItQAQAA1iJUAACAtQgVAABgLUIFAABYi1ABAADWIlQAAIC1CBUAAGAtQgUAAFiLUAEAANYiVAAAgLUIFQAAYC1CBQAAWItQAQAA1iJUAACAtQgVAABgLUIFAABYi1ABAADWIlQAAIC1CBUAAGAtQgUAAFiLUAEAANYiVAAAgLUIFQAAYC1CBQAAWItQAQAA1iJUAACAtQgVAABgLUIFAABYi1ABAADWIlQAAIC1CBUAAGAt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g4MVHx+vpUuXatmyZapYsaLpadkaoQIA2VD58uW1aNEirVq1ShcvXtQjjzyi7t276+TJk6an5TrXrl3T+PHjVaFCBX366aeaMGGCdu3apbCwMNPTcgRCBQCysYYNG2r79u1699139dVXX8nPz0+jR4/W1atXTU/L8RzH0ZIlS1S5cmX9/e9/V9euXRUXF6d+/fopX758puflGIQKAGRzefPmVe/evRUXF6fevXvrjTfeUMWKFfXZZ59x/Eom2b17t5o0aaJWrVrpgQce0M6dOzV16lQVL17c9LQch1ABgByiSJEieuutt7Rnzx5VrVpVTz/9tOrXr6/t27ebnpZjnDlzRn/7298UGBioY8eO6YsvvtCKFStUuXJl09NyLEIFAHIYPz8/LVmyRCtWrNDZs2cVGhqqXr16KT4+3vS0bOvatWuaNGmSKlSooE8++UT//Oc/9e9//1tPPPGEXC6X6Xk5GqECADlUkyZNFBsbqylTpmjx4sXy8/PT2LFjlZiYaHpatuE4jr766isFBATolVdeUYcOHRQXF6fIyEjlz5/f9LxcgVABgBwsb968Cg8PV1xcnHr27KmhQ4eqUqVKWrhwIcev/Im9e/cqLCxMTzzxhMqUKaMdO3bo3XffVYkSJUxPy1WMhsq6devUsmVL+fj4yOVyafHixSbnAECOdc8992jSpEnavXu3KlasqLZt26phw4aKjY01Pc06Z8+eVd++fVW1alUdOnRIixcv1jfffKOqVauanpYrGQ2Vy5cvq1q1apo6darJGQCQa/j7++urr77SsmXLFB8fr+DgYL3wwgs6ffq06WnGXb9+XVOmTFH58uX14YcfKioqSnv27FGrVq04DsUgo6ESFhamUaNG6amnnjI5AwBynWbNmmnXrl2aNGmSPv/8c1WoUEHjx4/XtWvXTE8zYvny5apWrZr69eundu3aKS4uTq+++qrc3d1NT8v1stVvRkpKSlJSUlLa6YSEBINrzBk/frwk5bo7kOM4chxHLpcrV313k5ycLH9/f9MzkAPly5dPL7/8srp06aKePXtq2OBXdXrnSo0bO9b0tCz11dKlev3113XdvbS2b9+uwMBA05PwO9kqVKKiojRixAjTM4wbN26cFi1apC5dupiekqVOnDihsWPHatCgQfL19TU9J0vxDycyy7lz5zRq1CgtXbpUTauW0biHNksz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vKCSJUvK29tbDRs21M6dOzPtzwOZj1CBMT169NCsWbPSTn/wwQfq2bNnuutcvnxZkZGR2rp1q1atWqU8efKoTZs2Sk1NvenHPHXqlOrXr6/AwEBt27ZNy5cv188//6ynn346Uz8XIDdbsWKFnnnmGb388svau3evoqOjNXv2bI0ePTrd9d588009++yzio2Nlb+/vzp37qzevXtr8ODB2rZtmyTppZdeSrv+pUuX1Lx5c33zzTfasWOHmjZtqpYtW+r48eM33eE4jlq0aKH4+HgtXbpUMTExCg4OVqNGjXT27NnM+wNA5nKALNatWzenVatWzi+//OK4u7s7R44ccY4ePep4eHg4v/zyi9OqVSunW7duN33f06dPO5Kc3bt3O47jOEeOHHEkOTt27HAcx3Fef/11p0mTJune58SJE44k58CBA5n5aQE5Xrdu3Rw3NzenYMGCaW/t2rVz6tat6/zjH/9Id92PPvrIKV26dNppSc7QoUPTTm/atMmR5MycOTPtvLlz5zoeHh633FCpUiVnypQpaafLli3rTJw40XEcx1m1apXj7e3tJCYmpnufhx56yImOjv7Lny/skK1/ezKyt+LFi6tFixb68MMP074TKl68eLrrHD58WK+//ro2b96sM2fOpD2Scvz4cVWpUuWGjxkTE6Nvv/1WXl5eN1x2+PBh+fn5Zc4nA+QSjz32mKZPn552umDBgipfvry2bt2a7hGUlJQUJSYm6sqVK/L09JQkVa1aNe3yUqVKSZICAgLSnZeYmKiEhAR5e3vr8uXLGjFihL788kudPHlSycnJunr16h8+ohITE6NLly6pWLFi6c6/evXqnz5lDHsRKjCqZ8+eaQ/1vvPOOzdc3rJlS/n6+uq9996Tj4+PUlNTVaVKFV27du2mHy81NVUtW7bU2LFjb7isdOnSd3c8kAv9Fia/l5qaqhEjRuipp5664foeHh5p/50vX760/3a5XH943m/fkLz66qtasWKFxo8fr/Lly6tAgQJq167dLe//pUuX1po1a264rEiRIrf3CcI6hAqMatasWdo/Ok2bNk132a+//qp9+/YpOjpadevWlSRt2LDhlh8vODhYCxYsULly5ZQ3L3+9gawQHBysAwcO3BAwd2r9+vXq3r272rRpI+k/x6wcPXr0ljvi4+OVN29elStX7q5ugTkcTAuj3NzctG/f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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "males = nutri[nutri.gender == 'Male']\n", "females = nutri[nutri.gender == 'Female']\n", "plt.boxplot([males.coffee, females.coffee], notch =True , widths=(0.5 ,0.5))\n", "plt.xlabel ('gender')\n", "plt.ylabel ('coffee')\n", "plt.xticks ([1 ,2] ,['Male','Female'])\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "we can also show the distribution of the data using a histogram, after breaking the data into *bins* or *classes*" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjMAAAGwCAYAAABcnuQpAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAkRElEQVR4nO3de1iUdf7/8dfkYcAEUkkGFIwSD61pbZqnSjtI2mFz2cryRFldlpqatZaRK1YeLncz27yyrczDVZrt6rp20KQyWmMztEwvM7IiIZVYEjkIwgqf3x9+nV8TKDCA93zo+biu+9K575vpPfd17/bsnpsZlzHGCAAAwFJnOT0AAABAfRAzAADAasQMAACwGjEDAACsRswAAACrETMAAMBqxAwAALBac6cHaGyVlZU6ePCgQkJC5HK5nB4HAADUgjFGRUVFioqK0llnnf7aS5OPmYMHDyo6OtrpMQAAgB+ys7PVsWPH0+7T5GMmJCRE0omDERoa6vA0AACgNgoLCxUdHe399/jpNPmYOfnWUmhoKDEDAIBlanOLCDcAAwAAqxEzAADAasQMAACwGjEDAACsRswAAACrETMAAMBqxAwAALAaMQMAAKxGzAAAAKsRMwAAwGrEDAAAsBoxAwAArEbMAAAAqxEzAADAas2dHgBAVVlZWcrLy3N6jHoLDw9XTEyM02MAaOKIGSDAZGVlqWu3rjpWeszpUeotKDhIGV9lEDQAGhUxAwSYvLy8EyGTICnc6WnqIU86tu6Y8vLyiBkAjYqYAQJVuKQop4cAgMDHDcAAAMBqxAwAALAaMQMAAKxGzAAAAKtxAzCalKbw+Sx79+51egQAsAoxgyajKX0+CwCg9ogZNBlN5vNZ9kna4vQQAGAPYgZNj+2fz2L3u2QAcMZxAzAAALAaMQMAAKxGzAAAAKsRMwAAwGrEDAAAsBoxAwAArEbMAAAAqxEzAADAasQMAACwGjEDAACsRswAAACrETMAAMBqxAwAALAaMQMAAKxGzAAAAKsRMwAAwGrEDAAAsFrAxMy8efPkcrk0depU7zpjjJKTkxUVFaXg4GANHjxYe/bscW5IAAAQcAIiZtLT0/Xiiy+qZ8+ePusXLFighQsXavHixUpPT5fH49GQIUNUVFTk0KQAACDQOB4zxcXFGjVqlF566SW1adPGu94Yo0WLFikpKUkJCQnq0aOHVqxYoZKSEq1atcrBiQEAQCBxPGYmTpyoG264Qddee63P+szMTOXk5Cg+Pt67zu12a9CgQUpLSzvl85WVlamwsNBnAQAATVdzJ//hr7/+uj777DOlp6dX2ZaTkyNJioiI8FkfERGh/fv3n/I5582bp9mzZzfsoAAAIGA5dmUmOztbU6ZM0auvvqqgoKBT7udyuXweG2OqrPu5GTNmqKCgwLtkZ2c32MwAACDwOHZlZseOHcrNzdWll17qXVdRUaGPPvpIixcvVkZGhqQTV2giIyO9++Tm5la5WvNzbrdbbre78QYHAAABxbErM9dcc412796tnTt3epfevXtr1KhR2rlzp84//3x5PB6lpKR4f6a8vFypqakaMGCAU2MDAIAA49iVmZCQEPXo0cNn3dlnn6127dp510+dOlVz585VXFyc4uLiNHfuXLVq1UojR450YmQAABCAHL0BuCbTp09XaWmpJkyYoPz8fPXt21ebN29WSEiI06MBAIAAEVAx8+GHH/o8drlcSk5OVnJysiPzAACAwOf458wAAADUBzEDAACsRswAAACrETMAAMBqxAwAALAaMQMAAKxGzAAAAKsRMwAAwGoB9aF5cE5WVpby8vKcHqNe9u7d6/QIAAAHEDNQVlaWunbrqmOlx5weBQCAOiNmoLy8vBMhkyAp3Olp6mGfpC1ODwEAONOIGfx/4ZKinB6iHux+lwwA4CduAAYAAFYjZgAAgNWIGQAAYDViBgAAWI0bgAE0qqbw+T/h4eGKiYlxegwAp0DMAGgcxZJc0ujRo52epN6CgoOU8VUGQQMEKGIGQOM4JsnI/s8vypOOrTumvLw8YgYIUMQMgMZl++cXAQh43AAMAACsRswAAACrETMAAMBqxAwAALAaMQMAAKxGzAAAAKsRMwAAwGrEDAAAsBoxAwAArEbMAAAAqxEzAADAasQMAACwGjEDAACsRswAAACrETMAAMBqxAwAALAaMQMAAKxGzAAAAKsRMwAAwGrEDAAAsBoxAwAArEbMAAAAqxEzAADAasQMAACwGjEDAACsRswAAACrETMAAMBqxAwAALAaMQMAAKxGzAAAAKsRMwAAwGrEDAAAsBoxAwAArEbMAAAAqxEzAADAasQMAACwGjEDAACsRswAAACrETMAAMBqxAwAALAaMQMAAKxGzAAAAKsRMwAAwGrEDAAAsBox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9+7dZsSIESYyMtIUFhY6O3iAq+m4cr7676mnnjLt2rUzb731lsnMzDR///vfTevWrc2iRYu8+3De+qc2x5Zz1z+33XabufDCC01qaqrZt2+fmTVrlgkNDTU//PCDMaZpnLPETA0eeeQRc/nll592n8TERHPzzTefmYGasClTppgLLrjAVFZWmsrKSuPxeMz8+fO9248dO2bCwsLMCy+84OCU9vn5cTWG87U+brjhBjNu3DifdQkJCWb06NHGGMN5Ww81HVtjOHf9UVJSYpo1a2beeustn/W9evUySUlJTeac5W2mGmzYsEG9e/fWrbfeqvbt2+uSSy7RSy+9VGW/Dz/8UO3bt1eXLl107733Kjc314Fp7VVeXq5XX31V48aNk8vlUmZmpnJychQfH+/dx+12a9CgQUpLS3NwUrv88riexPnqn8svv1zvv/++vv76a0nSF198oa1bt+r666+XJM7beqjp2J7EuVs3x48fV0VFhYKCgnzWBwcHa+vWrU3mnA34TwB22nfffaclS5Zo2rRpeuyxx/Tpp59q8uTJcrvdGjt2rCRp2LBhuvXWW9WpUydlZmZq5syZuvrqq7Vjx44m8cmKZ8L69et15MgR3XnnnZLk/XLRX36haEREhPbv33+mx7PWL4+rxPlaH4888ogKCgrUrVs3NWvWTBUVFZozZ47uuOMOSZy39VHTsZU4d/0REhKi/v3768knn1T37t0VERGh1atXa9u2bYqLi2s656zTl4YCXYsWLUz//v191j3wwAOmX79+p/yZgwcPmhYtWpi1a9c29nhNRnx8vLnxxhu9jz/++GMjyRw8eNBnv3vuucdcd911Z3o8a/3yuFaH87X2Vq9ebTp27GhWr15tdu3aZVauXGnatm1rli9fbozhvK2Pmo5tdTh3a+ebb74xV155pZFkmjVrZvr06WNGjRplunfv3mTOWa7M1CAyMlIXXnihz7ru3btr7dq1p/2ZTp06ad++fY09XpOwf/9+vffee1q3bp13ncfjkXTiv3QjIyO963Nzc6v8FwSqV91xrQ7na+398Y9/1KOPPqrbb79dknTRRRdp//79mjdvnhITEzlv66GmY1sdzt3aueCCC5SamqqjR4+qsLBQkZGRGjFihGJjY5vMOcs9MzUYOHCgMjIyfNZ9/fXXp/2iy59++knZ2dk+JwZObdmyZWrfvr1uuOEG77qT/yNLSUnxrisvL1dqaqoGDBjgxJjWqe64VofztfZKSkp01lm+/7fZrFkz768Pc976r6ZjWx3O3bo5++yzFRkZqfz8fL377ru6+eabm8456/SloUD36aefmubNm5s5c+aYffv2mddee820atXKvPrqq8YYY4qKisxDDz1k0tLSTGZmptmyZYvp37+/6dChg1W/1uaUiooKExMTYx555JEq2+bPn2/CwsLMunXrzO7du80dd9xh3a8LOuVUx5XztX4SExNNhw4dvL8+vG7dOhMeHm6mT5/u3Yfz1j81HVvOXf9t2rTJbNy40Xz33Xdm8+bNplevXuayyy4z5eXlxpimcc4SM7Xw5ptvmh49ehi32226detmXnzxRe+2kpISEx8fb84991zTokULExMTYxITE01WVpaDE9vj3XffNZJMRkZGlW2VlZVm1qxZxuPxGLfbba688kqze/duB6a0z6mOK+dr/RQWFpopU6aYmJgYExQUZM4//3yTlJRkysrKvPtw3vqnpmPLueu/NWvWmPPPP9+0bNnSeDweM3HiRHPkyBHv9qZwzrqMMcbpq0MAAAD+4p4ZAABgNWIGAABYjZgBAABWI2YAAIDViBkAAGA1YgYAAFiNmAEAAFYjZgAAgNWIGQAAYDViBkBASktLU7NmzTR06FCnRwEQ4Pg6AwAB6Z577lHr1q318ssv68svv1RMTIzTIwEIUFyZARBwjh49qjfeeEP333+/brzxRi1fvtxn+4YNGxQXF6fg4GBdddVVWrFihVwul44cOeLdJy0tTVdeeaWCg4MVHR2tyZMn6+jRo2f2hQA4I4gZAAFnzZo16tq1q7p27arRo0dr2bJlOnkR+fvvv9ctt9yi4cOHa+fOnRo/frySkpJ8fn737t267rrrlJCQoF27dmnNmjXaunWrJk2a5MTLAdDIeJsJQMAZOHCgbrvtNk2ZMkXHjx9XZGSkVq9erWuvvVaPPvqo3n77be3evdu7/+OPP645c+YoPz9f55xzjsaOHavg4GD97W9/8+6zdetWDRo0SEePHlVQUJATLwtAI+HKDICAkpGRoU8//VS33367JKl58+YaMWKEXnnlFe/2Pn36+PzMZZdd5vN4x44dWr58uVq3bu1drrvuOlVWViozM/PMvBAAZ0xzpwcAgJ9bunSpjh8/rg4dOnjXGWPUokUL5efnyxgjl8vl8zO/vMBcWVmp8ePHa/LkyVWenxuJgaaHmAEQMI4fP66VK1fq6aefVnx8vM+2P/zhD3rttdfUrVs3vfPOOz7btm/f7vP4t7/9rfbs2aPOnTs3+swAnMc9MwACxvr16zVixAjl5uYqLCzMZ1tSUpLeeecdrVu3Tl27dtWDDz6ou+++Wzt37tRDDz2kH374QUeOHFFYWJh27dqlfv366a677tK9996rs88+W3v37lVKSoqee+45h14dgMbCPTMAAsbSpUt17bXXVgkZ6cSVmZ07dyo/P1//+Mc/tG7dOvXs2VNLlizx/jaT2+2WJPXs2VOpqanat2+frrjiCl1yySWaOXOmIiMjz+jrAXBmcGUGgPXmzJmjF154QdnZ2U6PAsAB3DMDwDrPP/+8+vTpo3bt2unjjz/Wn//8Zz5DBvgVI2YAWGffvn166qmndPjwYcXExOihhx7SjBkznB4LgEN4mwkAAFiNG4ABAIDViBkAAGA1YgYAAFiNmAEAAFYjZgAAgNWIGQAAYDViBgAAWI2YAQAAVvt/QKTBA/r3D08AAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.hist(nutri.age,bins=9,facecolor='green',edgecolor='black',linewidth=1)\n", "plt.xlabel('Age')\n", "plt.ylabel('Quantity')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "alternatively, we can weigth the values to show $\\frac{counts}{total}$ by using the trick of multiplying all values times the quantity $1/266$." ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkkAAAGwCAYAAAC99fF4AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAA7SElEQVR4nO3dfVxUdd7/8ffIzWCWpGIgxZ1WCmpdBqVgZKVidvPQskJbbyqtZd1SoXaLqPWmWqotI0sxXVvjqpBaaavNUmzLdDW9RCgrKtqs8QZ+NJqM5goK5/eHl3PtNEdluPFw83o+HueR853v+X4/5zzOrm+/c+aMzTAMQwAAAPDQyeoCAAAAWiNCEgAAgAlCEgAAgAlCEgAAgAlCEgAAgAlCEgAAgAlCEgAAgAl/qwtoq+rr67Vnzx6dddZZstlsVpcDAAAawDAMHThwQOHh4erU6eRrRYSkRtqzZ48iIiKsLgMAADTCzp07dd555520DyGpkc466yxJx05y165dLa4GAAA0hMvlUkREhPvv8ZMhJDXS8Y/YunbtSkgCAKCNacitMty4DQAAYIKQBAAAYMLykLRo0SLFxMQoKChI8fHxWr9+/Qn7FhYWauTIkerZs6e6du2qxMRErV692qvfypUrFRcXJ7vdrri4OL355ptNmhcAAHQ8loakgoICzZo1S1lZWSopKVFycrJGjx4th8Nh2v/jjz/WyJEjtWrVKhUXF+uqq67SDTfcoJKSEnefTZs2KTU1VZMmTdKnn36qSZMm6dZbb9XmzZsbPS8AAOh4bIZhGFZNPnjwYF1yySXKzc11t8XGxmrs2LHKzs5u0Bj9+/dXamqq/vCHP0iSUlNT5XK59N5777n7XHPNNerWrZvy8/MbPW9NTY1qamrcr4/fHV9dXc2N2wAAtBEul0vBwcEN+vvbspWk2tpaFRcXKyUlxaM9JSVFGzdubNAY9fX1OnDggLp37+5u27Rpk9eYo0aNco/Z2Hmzs7MVHBzs3nhGEgAA7ZtlIcnpdKqurk6hoaEe7aGhoaqsrGzQGM8884x+/vln3Xrrre62ysrKk47Z2HkzMzNVXV3t3nbu3NmgGgEAQNtk+XOSfvmcAsMwGvTsgvz8fM2ZM0dvvfWWzjnnHJ/H9HVeu90uu91+yroAAED7YFlICgkJkZ+fn9fqTVVVldcqzy8VFBRo6tSpeuONNzRixAiP98LCwk46ZlPmBQAAHYdlH7cFBgYqPj5eRUVFHu1FRUVKSko64X75+fm6/fbb9dprr+m6667zej8xMdFrzDVr1rjHbOy8AACgY7H047aMjAxNmjRJCQkJSkxM1JIlS+RwOJSWlibp2H1Au3fvVl5enqRjAWny5Ml67rnnNGTIEPdqUOfOnRUcHCxJmjlzpq644go9+eSTGjNmjN566y2tXbtWGzZsaPC8AAAAMiy2cOFCIyoqyggMDDQuueQSY926de73pkyZYgwbNsz9etiwYYYkr23KlCkeY77xxhtG3759jYCAAKNfv37GypUrfZq3Iaqrqw1JRnV1tU/7AQAA6/jy97elz0lqy3x5zgIAAGgd2sRzkgAAAFozyx8BAOD0cTgccjqdVpfRZCEhIYqMjLS6DADtHCEJ6CAcDof69uurw/8+bHUpTRbUOUhff/U1QQlAiyIkAR2E0+k8FpBukhRidTVN4JQOFx6W0+kkJAFoUYQkoKMJkRRudREA0Ppx4zYAAIAJQhIAAIAJQhIAAIAJQhIAAIAJbtwGGqA9PF+orKzM6hIAoE0hJAGn0J6eLwQAaDhCEnAK7eb5QuWSPrS6CABoOwhJQEO19ecLte1PCwHgtOPGbQAAABOEJAAAABOEJAAAABOEJAAAABOEJAAAABOEJAAAABOEJAAAABOEJAAAABOEJAAAABOEJAAAABOEJAAAABOEJAAAABOEJAAAABOEJAAAABOEJAAAABOEJAAAABOEJAAAABOEJAAAABOEJAAAABOEJAAAABOEJAAAABOWh6RFixYpJiZGQUFBio+P1/r160/Yt6KiQrfddpv69u2rTp06adasWV59rrzyStlsNq/tuuuuc/eZM2eO1/thYWEtcXgAAKCNsjQkFRQUaNasWcrKylJJSYmSk5M1evRoORwO0/41NTXq2bOnsrKydPHFF5v2KSwsVEVFhXv7/PPP5efnp1tuucWjX//+/T36bd++vdmPDwAAtF3+Vk4+f/58TZ06VdOmTZMk5eTkaPXq1crNzVV2drZX/+joaD333HOSpJdeesl0zO7du3u8XrFihc444wyvkOTv7+/T6lFNTY1qamrcr10uV4P3BQAAbY9lK0m1tbUqLi5WSkqKR3tKSoo2btzYbPMsW7ZM48ePV5cuXTzay8vLFR4erpiYGI0fP17ffffdScfJzs5WcHCwe4uIiGi2GgEAQOtjWUhyOp2qq6tTaGioR3toaKgqKyubZY4tW7bo888/d69UHTd48GDl5eVp9erVWrp0qSorK5WUlKS9e/eecKzMzExVV1e7t507dzZLjQAAoHWy9OM2SbLZbB6vDcPwamusZcuWacCAAbrssss82kePHu3+88CBA5WYmKg+ffro5ZdfVkZGhulYdrtddru9WeoCAACtn2UrSSEhIfLz8/NaNaqqqvJaXWqMQ4cOacWKFV6rSGa6dOmigQMHqry8vMnzAgCA9sGykBQYGKj4+HgVFRV5tBcVFSkpKanJ47/++uuqqanRxIkTT9m3pqZGZWVl6tWrV5PnBQAA7YOlH7dlZGRo0qRJSkhIUGJiopYsWSKHw6G0tDRJx+4D2r17t/Ly8tz7lJaWSpIOHjyoH3/8UaWlpQoMDFRcXJzH2MuWLdPYsWPVo0cPr3nvv/9+3XDDDYqMjFRVVZUee+wxuVwuTZkypeUOFgAAtCmWhqTU1FTt3btX8+bNU0VFhQYMGKBVq1YpKipK0rGHR/7ymUmDBg1y/7m4uFivvfaaoqKi9P3337vbv/nmG23YsEFr1qwxnXfXrl2aMGGCnE6nevbsqSFDhuiTTz5xzwsAAGD5jdvTp0/X9OnTTd9bvny5V5thGKcc88ILLzxpvxUrVjS4PgAA0DFZ/rMkAAAArREhCQAAwAQhCQAAwAQhCQAAwITlN26jfXM4HHI6nVaX0SRlZWVWlwAAsAAhCS3G4XCob7++Ovzvw1aXAgCAzwhJaDFOp/NYQLpJUojV1TRBuaQPrS4CAHC6EZLQ8kIkhVtdRBO07U8LAQCNxI3bAAAAJghJAAAAJghJAAAAJghJAAAAJrhxG0Cb1B6eXxUSEqLIyEirywBwAoQkAG3LQUk2aeLEiVZX0mRBnYP09VdfE5SAVoqQBKBtOSzJUNt//pZTOlx4WE6nk5AEtFKEJABtU1t//haAVo8btwEAAEwQkgAAAEwQkgAAAEwQkgAAAEwQkgAAAEwQkgAAAEwQkgAAAEwQkgAAAEwQkgAAAEwQkgAAAEwQkgAAAEwQkgAAAEwQkgAAAEwQkgAAAEwQkgAAAEwQkgAAAEwQkgAAAEwQkgAAAExYHpIWLVqkmJgYBQUFKT4+XuvXrz9h34qKCt12223q27evOnXqpFmzZnn1Wb58uWw2m9d2+PDhRs8LAAA6HktDUkFBgWbNmqWsrCyVlJQoOTlZo0ePlsPhMO1fU1Ojnj17KisrSxdffPEJx+3atasqKio8tqCgoEbPCwAAOh5LQ9L8+fM1depUTZs2TbGxscrJyVFERIRyc3NN+0dHR+u5557T5MmTFRwcfMJxbTabwsLCPLamzAsAADoey0JSbW2tiouLlZKS4tGekpKijRs3NmnsgwcPKioqSuedd56uv/56lZSUNHnempoauVwujw0AALRfloUkp9Opuro6hYaGerSHhoaqsrKy0eP269dPy5cv19tvv638/HwFBQVp6NChKi8vb9K82dnZCg4Odm8RERGNrhEAALR+lt+4bbPZPF4bhuHV5oshQ4Zo4sSJuvjii5WcnKzXX39dF154oZ5//vkmzZuZmanq6mr3tnPnzkbXCAAAWj9/qyYOCQmRn5+f1+pNVVWV1ypPU3Tq1EmXXnqpeyWpsfPa7XbZ7fZmqwsAALRulq0kBQYGKj4+XkVFRR7tRUVFSkpKarZ5DMNQaWmpevXqdVrnBQAAbZtlK0mSlJGRoUmTJikhIUGJiYlasmSJHA6H0tLSJB37iGv37t3Ky8tz71NaWirp2M3ZP/74o0pLSxUYGKi4uDhJ0ty5czVkyBBdcMEFcrlcWrBggUpLS7Vw4cIGzwsAAGBpSEpNTdXevXs1b948VVRUaMCAAVq1apWioqIkHXt45C+fXTRo0CD3n4uLi/Xaa68pKipK33//vSRp//79uvvuu1VZWang4GANGjRIH3/8sS677LIGzwsAAGAzDMOwuoi2yOVyKTg4WNXV1eratavV5bRK27ZtU3x8vHS3pHCrq2mCzyQViuNoLdrLceyRtOTYP/YuueQSq6sBOgxf/v62/NttAAAArREhCQAAwAQhCQAAwAQhCQAAwAQhCQAAwAQhCQAAwAQhCQAAwAQhCQAAwAQhCQAAwAQhCQAAwAQhCQAAwAQhCQAAwAQhCQAAwAQhCQAAwAQhCQAAwAQhCQAAwAQhCQAAwAQhCQAAwAQhCQAAwIR/Qzp169ZNNputQQPu27evSQUBAAC0Bg0KSTk5OS1cBgAAQOvSoJA0ZcqUlq4DAACgVWlQSDqRf//73zpy5IhHW9euXZtUEAAAQGvg843bP//8s+655x6dc845OvPMM9WtWzePDQAAoD3wOST9/ve/1z/+8Q8tWrRIdrtdf/7znzV37lyFh4crLy+vJWoEAAA47Xz+uO2dd95RXl6errzySt15551KTk7W+eefr6ioKL366qv61a9+1RJ1AgAAnFY+ryTt27dPMTExko7df3T8K/+XX365Pv744+atDgAAwCI+h6TevXvr+++/lyTFxcXp9ddfl3Rshenss89uztoAAAAs43NIuuOOO/Tpp59KkjIzM933JqWnp+t3v/tdsxcIAABgBZ/vSUpPT3f/+aqrrtJXX32lrVu3qk+fPrr44oubtTgAAACr+LySlJeXp5qaGvfryMhI3XTTTYqNjeXbbQAAoN1o1Mdt1dXVXu0HDhzQHXfc0SxFAQAAWM3nkGQYhumP3e7atUvBwcHNUhQAAIDVGnxP0qBBg2Sz2WSz2TR8+HD5+//frnV1ddqxY4euueaaFikSAADgdGvwStLYsWM1ZswYGYahUaNGacyYMe5t/PjxevHFF/XKK6/4XMCiRYsUExOjoKAgxcfHa/369SfsW1FRodtuu019+/ZVp06dNGvWLK8+S5cuVXJysvtnUkaMGKEtW7Z49JkzZ4478B3fwsLCfK4dAAC0Xw1eSZo9e7YkKTo6WqmpqQoKCmry5AUFBZo1a5YWLVqkoUOH6sUXX9To0aP15ZdfKjIy0qt/TU2NevbsqaysLD377LOmY3700UeaMGGCkpKSFBQUpKeeekopKSn64osvdO6557r79e/fX2vXrnW/9vPza/LxAACA9sPnRwBMmTJFklRcXKyysjLZbDbFxcVp0KBBPk8+f/58TZ06VdOmTZMk5eTkaPXq1crNzVV2drZX/+joaD333HOSpJdeesl0zFdffdXj9dKlS/XXv/5VH3zwgSZPnuxu9/f3Z/UIAACckM8hqaqqSuPHj9dHH32ks88+W4ZhqLq6WldddZVWrFihnj17Nmic2tpaFRcX68EHH/RoT0lJ0caNG30t64QOHTqkI0eOqHv37h7t5eXlCg8Pl91u1+DBg/XHP/5RvXv3PuE4NTU1Ho8+cLlczVYjAABofXz+dtu9994rl8ulL774Qvv27dNPP/2kzz//XC6XSzNmzGjwOE6nU3V1dQoNDfVoDw0NVWVlpa9lndCDDz6oc889VyNGjHC3DR48WHl5eVq9erWWLl2qyspKJSUlae/evSccJzs7W8HBwe4tIiKi2WoEAACtj88h6f3331dubq5iY2PdbXFxcVq4cKHee+89nwv45eMETvSIgcZ46qmnlJ+fr8LCQo97qEaPHq1x48Zp4MCBGjFihN59911J0ssvv3zCsTIzM1VdXe3edu7c2Sw1AgCA1snnj9vq6+sVEBDg1R4QEKD6+voGjxMSEiI/Pz+vVaOqqiqv1aXGePrpp/XHP/5Ra9eu1UUXXXTSvl26dNHAgQNVXl5+wj52u112u73JdQEAgLbB55Wkq6++WjNnztSePXvcbbt371Z6erqGDx/e4HECAwMVHx+voqIij/aioiIlJSX5WpaHP/3pT3r00Uf1/vvvKyEh4ZT9a2pqVFZWpl69ejVpXgAA0H74vJL0wgsvaMyYMYqOjlZERIRsNpscDocGDhzo83OSMjIyNGnSJCUkJCgxMVFLliyRw+FQWlqapGMfce3evdvjN+FKS0slSQcPHtSPP/6o0tJSBQYGKi4uTtKxj9geeeQRvfbaa4qOjnavVJ155pk688wzJUn333+/brjhBkVGRqqqqkqPPfaYXC6X+5t7AAAAPoekiIgIbdu2TUVFRfrqq69kGIbi4uI8boxuqNTUVO3du1fz5s1TRUWFBgwYoFWrVikqKkrSsYdHOhwOj33+81EDxcXFeu211xQVFaXvv/9e0rGHU9bW1urmm2/22G/27NmaM2eOpGM/oTJhwgQ5nU717NlTQ4YM0SeffOKeFwAAwOeQlJeXp9TUVI0cOVIjR450t9fW1mrFihUezyJqiOnTp2v69Omm7y1fvtyrzTCMk453PCydzIoVKxpSGgAA6MB8vifpjjvuUHV1tVf7gQMHdMcddzRLUQAAAFbzOSSd6Cv6u3btUnBwcLMUBQAAYLUGf9w2aNAg94/BDh8+XP7+/7drXV2dduzYoWuuuaZFiuyIHA6HnE6n1WU0SVlZmdUlAADQaA0OSWPHjpV07Ntlo0aNcn9TTDr2df7o6GiNGzeu2QvsiBwOh/r266vD/z5sdSkAAHRYDQ5Js2fPlnTsR2ZTU1M9nmCN5uV0Oo8FpJskhVhdTROUS/rQ6iIAAGgcn7/dxrOETqMQSeFWF9EEbfvTQgBAB+fzjdsAAAAdASEJAADARINCksvlauk6AAAAWpUGhaRu3bqpqqpK0rEfuN2/f39L1gQAAGC5BoWkM888U3v37pUkffTRRzpy5EiLFgUAAGC1Bn27bcSIEbrqqqsUGxsrSbrxxhsVGBho2vcf//hH81UHAABgkQaFpFdeeUUvv/yy/vWvf2ndunXq37+/zjjjjJauDQAAwDINCkmdO3dWWlqaJGnr1q168skndfbZZ7dkXQAAAJby+WGSH374f49QNgxDkkx/8BYAAKAta9RzkvLy8jRw4EB17txZnTt31kUXXaT//u//bu7aAAAALOPzStL8+fP1yCOP6J577tHQoUNlGIb++c9/Ki0tTU6nU+np6S1RJwAAwGnlc0h6/vnnlZubq8mTJ7vbxowZo/79+2vOnDmEJAAA0C74/HFbRUWFkpKSvNqTkpJUUVHRLEUBAABYzeeQdP755+v111/3ai8oKNAFF1zQLEUBAABYzeeP2+bOnavU1FR9/PHHGjp0qGw2mzZs2KAPPvjANDwBAAC0RT6vJI0bN06bN29WSEiI/va3v6mwsFAhISHasmWLbrzxxpaoEQAA4LTzeSVJkuLj4/XKK680dy0AAACtRqOekwQAANDeEZIAAABMEJIAAABMEJIAAABMEJIAAABM+Pzttp9//llPPPGEPvjgA1VVVam+vt7j/e+++67ZigMAALCKzyFp2rRpWrdunSZNmqRevXrJZrO1RF0AAACW8jkkvffee3r33Xc1dOjQlqgHAACgVfD5nqRu3bqpe/fuLVELAABAq+FzSHr00Uf1hz/8QYcOHWqJegAAAFoFnz9ue+aZZ/Svf/1LoaGhio6OVkBAgMf727Zta7biAAAArOLzStLYsWN133336f7779fNN9+sMWPGeGy+WrRokWJiYhQUFKT4+HitX7/+hH0rKip02223qW/fvurUqZNmzZpl2m/lypWKi4uT3W5XXFyc3nzzzSbNCwAAOh6fV5Jmz57dbJMXFBRo1qxZWrRokYYOHaoXX3xRo0eP1pdffqnIyEiv/jU1NerZs6eysrL07LPPmo65adMmpaam6tFHH9WNN96oN998U7feeqs2bNigwYMHN2peAADQ8TT6YZLFxcV65ZVX9Oqrr6qkpKRRY8yfP19Tp07VtGnTFBsbq5ycHEVERCg3N9e0f3R0tJ577jlNnjxZwcHBpn1ycnI0cuRIZWZmql+/fsrMzNTw4cOVk5PT6HkBAEDH43NIqqqq0tVXX61LL71UM2bM0D333KP4+HgNHz5cP/74Y4PHqa2tVXFxsVJSUjzaU1JStHHjRl/Lctu0aZPXmKNGjXKP2dh5a2pq5HK5PDYAANB++RyS7r33XrlcLn3xxRfat2+ffvrpJ33++edyuVyaMWNGg8dxOp2qq6tTaGioR3toaKgqKyt9LcutsrLypGM2dt7s7GwFBwe7t4iIiEbXCAAAWj+fQ9L777+v3NxcxcbGutvi4uK0cOFCvffeez4X8MsndhuG0eSneDdkTF/nzczMVHV1tXvbuXNnk2oEAACtm883btfX13t97V+SAgICvH7H7WRCQkLk5+fntXpTVVXltcrji7CwsJOO2dh57Xa77HZ7o+sCAABti88rSVdffbVmzpypPXv2uNt2796t9PR0DR8+vMHjBAYGKj4+XkVFRR7tRUVFSkpK8rUst8TERK8x16xZ4x6zpeYFAADti88rSS+88ILGjBmj6OhoRUREyGazyeFwaODAgXrllVd8GisjI0OTJk1SQkKCEhMTtWTJEjkcDqWlpUk69hHX7t27lZeX596ntLRUknTw4EH9+OOPKi0tVWBgoOLi4iRJM2fO1BVXXKEnn3xSY8aM0VtvvaW1a9dqw4YNDZ4XAADA55AUERGhbdu2qaioSF999ZUMw1BcXJxGjBjh8+Spqanau3ev5s2bp4qKCg0YMECrVq1SVFSUpGMPj3Q4HB77DBo0yP3n4uJivfbaa4qKitL3338vSUpKStKKFSv08MMP65FHHlGfPn1UUFDgfkZSQ+YFAACwGYZhWF1EW+RyuRQcHKzq6mp17dq1Wcfetm2b4uPjpbslhTfr0KfXZ5IKxXG0FhxH67JH0pJj/9i75JJLrK4G6DB8+fu7QStJCxYs0N13362goCAtWLDgpH19eQwAAABAa9WgkPTss8/qV7/6lYKCgk74cyDSsa/VE5IAAEB70KCQtGPHDtM/AwAAtFc+PwJg3rx5OnTokFf7v//9b82bN69ZigIAALCazyFp7ty5OnjwoFf7oUOHNHfu3GYpCgAAwGo+h6QT/XzHp59+qu7duzdLUQAAAFZr8HOSunXrJpvNJpvNpgsvvNAjKNXV1engwYM8jBEAALQbDQ5JOTk5MgxDd955p+bOnavg4GD3e4GBgYqOjlZiYmKLFAkAAHC6NTgkTZkyRUePHpUkjRgxQuedd16LFQUAAGA1n+5J8vf31/Tp01VXV9dS9QAAALQKPt+4PXjwYJWUlLRELQAAAK2Gzz9wO336dN13333atWuX4uPj1aVLF4/3L7roomYrDgAAwCo+h6TU1FRJnr/RZrPZ3I8G4KM4AADQHvgckvhZEgAA0BH4HJKioqJaog4AAIBWxeeQJEn/+te/lJOTo7KyMtlsNsXGxmrmzJnq06dPc9cHAABgCZ+/3bZ69WrFxcVpy5YtuuiiizRgwABt3rxZ/fv3V1FRUUvUCAAAcNr5vJL04IMPKj09XU888YRX+wMPPKCRI0c2W3EAAABW8XklqaysTFOnTvVqv/POO/Xll182S1EAAABW8zkk9ezZU6WlpV7tpaWlOuecc5qjJgAAAMv5/HHbXXfdpbvvvlvfffedkpKSZLPZtGHDBj355JO67777WqJGAACA087nkPTII4/orLPO0jPPPKPMzExJUnh4uObMmePxgEkAAIC2zOeQZLPZlJ6ervT0dB04cECSdNZZZzV7YQAAAFZq1HOSJKmqqkpff/21bDab+vbtq549ezZnXQAAAJby+cZtl8ulSZMmKTw8XMOGDdMVV1yh8PBwTZw4UdXV1S1RIwAAwGnnc0iaNm2aNm/erHfffVf79+9XdXW1/v73v2vr1q266667WqJGAACA087nj9veffddrV69Wpdffrm7bdSoUVq6dKmuueaaZi0OAADAKj6vJPXo0UPBwcFe7cHBwerWrVuzFAUAAGA1n0PSww8/rIyMDFVUVLjbKisr9bvf/U6PPPJIsxYHAABgFZ8/bsvNzdW3336rqKgoRUZGSpIcDofsdrt+/PFHvfjii+6+27Zta75KAQAATiOfQ9LYsWNboAwAAIDWxeeQNHv27JaoAwAAoFVp9MMki4uLVVZWJpvNpri4OA0aNKg56wIAALCUzyGpqqpK48eP10cffaSzzz5bhmGourpaV111lVasWMGTtwEAQLvg87fb7r33XrlcLn3xxRfat2+ffvrpJ33++edyuVz8wC0AAGg3fA5J77//vnJzcxUbG+tui4uL08KFC/Xee+/5XMCiRYsUExOjoKAgxcfHa/369Sftv27dOsXHxysoKEi9e/fW4sWLPd6/8sorZbPZvLbrrrvO3WfOnDle74eFhflcOwAAaL98Dkn19fUKCAjwag8ICFB9fb1PYxUUFGjWrFnKyspSSUmJkpOTNXr0aDkcDtP+O3bs0LXXXqvk5GSVlJTooYce0owZM7Ry5Up3n8LCQlVUVLi3zz//XH5+frrllls8xurfv79Hv+3bt/tUOwAAaN98vifp6quv1syZM5Wfn6/w8HBJ0u7du5Wenq7hw4f7NNb8+fM1depUTZs2TZKUk5Oj1atXKzc3V9nZ2V79Fy9erMjISOXk5EiSYmNjtXXrVj399NMaN26cJKl79+4e+6xYsUJnnHGGV0jy9/f3afWopqZGNTU17tcul6vB+wIAgLbH55WkF154QQcOHFB0dLT69Omj888/XzExMTpw4ICef/75Bo9TW1ur4uJipaSkeLSnpKRo48aNpvts2rTJq/+oUaO0detWHTlyxHSfZcuWafz48erSpYtHe3l5ucLDwxUTE6Px48fru+++O2m92dnZCg4Odm8RERGnOkQAANCG+bySFBERoW3btqmoqEhfffWVDMNQXFycRowY4dM4TqdTdXV1Cg0N9WgPDQ1VZWWl6T6VlZWm/Y8ePSqn06levXp5vLdlyxZ9/vnnWrZsmUf74MGDlZeXpwsvvFD/7//9Pz322GNKSkrSF198oR49epjOnZmZqYyMDPdrl8tFUAIAoB3zKSQdPXpUQUFBKi0t1ciRIzVy5MgmF2Cz2TxeG4bh1Xaq/mbt0rFVpAEDBuiyyy7zaB89erT7zwMHDlRiYqL69Omjl19+2SMI/Se73S673X7ygwEAAO2GTx+3+fv7KyoqSnV1dU2eOCQkRH5+fl6rRlVVVV6rRceFhYWZ9vf39/daATp06JBWrFjhvt/pZLp06aKBAweqvLzcx6MAAADtlc/3JD388MPKzMzUvn37mjRxYGCg4uPjVVRU5NFeVFSkpKQk030SExO9+q9Zs0YJCQle37h7/fXXVVNTo4kTJ56ylpqaGpWVlXl9XAcAADoun+9JWrBggb799luFh4crKirK64bobdu2NXisjIwMTZo0SQkJCUpMTNSSJUvkcDiUlpYm6dh9QLt371ZeXp4kKS0tTS+88IIyMjJ01113adOmTVq2bJny8/O9xl62bJnGjh1reo/R/fffrxtuuEGRkZGqqqrSY489JpfLpSlTpvhyKgAAQDvmc0gaM2bMSe8Z8kVqaqr27t2refPmqaKiQgMGDNCqVasUFRUlSaqoqPB4ZlJMTIxWrVql9PR0LVy4UOHh4VqwYIH76//HffPNN9qwYYPWrFljOu+uXbs0YcIEOZ1O9ezZU0OGDNEnn3zinhcAAMDnkDRnzpxmLWD69OmaPn266XvLly/3ahs2bNgpV6suvPBC9w3dZlasWOFTjQAAoONp8D1Jhw4d0m9/+1ude+65Ouecc3TbbbfJ6XS2ZG0AAACWaXBImj17tpYvX67rrrtO48ePV1FRkX7zm9+0ZG0AAACWafDHbYWFhe6nV0vSxIkTNXToUNXV1cnPz6/FCgQAALBCg1eSdu7cqeTkZPfryy67TP7+/tqzZ0+LFAYAAGClBoekuro6BQYGerT5+/vr6NGjzV4UAACA1Rr8cZthGLr99ts9fprj8OHDSktL83hWUmFhYfNWCAAAYIEGhySzBy025GnWAAAAbVGDQ9Jf/vKXlqwDAACgVfH5t9sAAAA6AkISAACACUISAACACUISAACACUISAACACUISAACACUISAACACUISAACACUISAACACUISAACACUISAACACUISAACACUISAACACUISAACACUISAACACUISAACACUISAACACUISAACACUISAACACUISAACACUISAACACUISAACACUISAACACX+rCwAAtG0Oh0NOp9PqMposJCREkZGRVpeBVoSQBABoNIfDob79+urwvw9bXUqTBXUO0tdffU1QghshCQDQaE6n81hAuklSiNXVNIFTOlx4WE6nk5AEN8vvSVq0aJFiYmIUFBSk+Ph4rV+//qT9161bp/j4eAUFBal3795avHixx/vLly+XzWbz2g4f9vxXjq/zAgBOIkRSeBve2nLAQ4uxNCQVFBRo1qxZysrKUklJiZKTkzV69Gg5HA7T/jt27NC1116r5ORklZSU6KGHHtKMGTO0cuVKj35du3ZVRUWFxxYUFNToeQEAQMdjaUiaP3++pk6dqmnTpik2NlY5OTmKiIhQbm6uaf/FixcrMjJSOTk5io2N1bRp03TnnXfq6aef9uhns9kUFhbmsTVlXkmqqamRy+Xy2AAAQPtlWUiqra1VcXGxUlJSPNpTUlK0ceNG0302bdrk1X/UqFHaunWrjhw54m47ePCgoqKidN555+n6669XSUlJk+aVpOzsbAUHB7u3iIiIBh8rAABoeywLSU6nU3V1dQoNDfVoDw0NVWVlpek+lZWVpv2PHj3q/vppv379tHz5cr399tvKz89XUFCQhg4dqvLy8kbPK0mZmZmqrq52bzt3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/fv3u99vD9eszTAMw+rVLAAAgNaGe5IAAABMEJIAAABMEJIAAABMEJIAAABMEJIAAABMEJIAAABMEJIAAABMEJIAAABMEJIAAABMEJIAdCgbN26Un5+frrnmGqtLAdDK8bMkADqUadOm6cwzz9Sf//xnffnll4qMjLS6JACtFCtJADqMn3/+Wa+//rp+85vf6Prrr9fy5cs93n/77bd1wQUXqHPnzrrqqqv08ssvy2azaf/+/e4+Gzdu1BVXXKHOnTsrIiJCM2bM0M8//3x6DwTAaUFIAtBhFBQUqG/fvurbt68mTpyov/zlLzq+mP7999/r5ptv1tixY1VaWqpf//rXysrK8th/+/btGjVqlG666SZ99tlnKigo0IYNG3TPPfdYcTgAWhgftwHoMIYOHapbb71VM2fO1NGjR9WrVy/l5+drxIgRevDBB/Xuu+9q+/bt7v4PP/ywHn/8cf300086++yzNXnyZHXu3Fkvvviiu8+GDRs0bNgw/fzzzwoKCrLisAC0EFaSAHQIX3/9tbZs2aLx48dLkvz9/ZWamqqXXnrJ/f6ll17qsc9ll13m8bq4uFjLly/XmWee6d5GjRql+vp67dix4/QcCIDTxt/qAgDgdFi2bJmOHj2qc889191mGIYCAgL0008/yTAM2Ww2j31+udBeX1+vX//615oxY4bX+NwADrQ/hCQA7d7Ro0eVl5enZ555RikpKR7vjRs3Tq+++qr69eunVatWeby3detWj9eXXHKJvvjiC51//vktXjMA63FPEoB2729/+5tSU1NVVVWl4OBgj/eysrK0atUqFRYWqm/fvkpPT9fUqVNVWlqq++67T7t27dL+/fsVHByszz77TEOGDNEdd9yhu+66S126dFFZWZmKior0/PPPW3R0AFoK9yQBaPeWLVumESNGeAUk6dhKUmlpqX766Sf99a9/VWFhoS666CLl5ua6v91mt9slSRdddJHWrVun8vJyJScna9CgQXrkkUfUq1ev03o8AE4PVpIA4AQef/xxLV68WDt37rS6FAAW4J4kAPhfixYt0qWXXqoePXron//8p/70pz/xDCSgAyMkAcD/Ki8v12OPPaZ9+/YpMjJS9913nzIzM60uC4BF+LgNAADABDduAwAAmCAkAQAAmCAkAQAAmCAkAQAAmCAkAQAAmCAkAQAAmCAkAQAAmCAkAQAAmPj/LuAIV8N4SfoAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "weigths = np.ones_like(nutri.age)/nutri.age.count()\n", "plt.hist(nutri.age,bins=9,weights=weigths,facecolor='green',edgecolor='black',linewidth=1)\n", "plt.xlabel('Age')\n", "plt.ylabel('Proportion of total')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The *empirical cumulative distribution function*, $F_n$, is a step function that jupms $k/n$ at observation values, where $k$ is the fraction of tied observations at that value:\n", "$$F_n(x)=\\frac{\\mathrm{number \\; of \\; }x_i \\leq x}{n}$$\n", "The function can be defined and plotted in the same way for both discrete and continuous data." ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "image/png": "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gg4AALAWQQcAAFiLoAMg4pSXl8vtduv2228PdykAHI6vgAAQcebOnat+/fpp1apV2rt3r4YPHx7ukgA4FDM6ACLKqVOn9B//8R/6p3/6J911111au3Ztu8/feustjRo1SrGxsbrlllv0b//2b3K5XDp58qS/T3l5uW688UbFxsYqOTlZ8+fP16lTp3p2RwD0CIIOgIhSXFysK6+8UldeeaXuv/9+vfrqqzo7Mf2///u/mjZtmqZOnapdu3bp4YcfVkFBQbvt9+zZoylTpuiee+7R7t27VVxcrK1bt+p73/teOHYHQIixdAUgokyaNEnTp0/XY489ptbWViUlJWnDhg2aPHmynnrqKf3nf/6n9uzZ4++/ePFiPffcczpx4oQuueQSzZw5U7GxsVq5cqW/z9atW3XTTTfp1KlTiomJCcduAQgRZnQARIz9+/drx44dmjFjhiSpb9++ys3N1Zo1a/yfX3fdde22GT9+fLv3lZWVWrt2rfr16+d/TZkyRW1tbaqqquqZHQHQY/qGuwAA6KrVq1ertbVVw4YN87cZYxQVFaUTJ07IGCOXy9Vum69OWre1tenhhx/W/PnzO4zPRc2AfQg6ACJCa2ur1q1bp5///OfKzs5u99m9996r9evX66qrrlJpaWm7zyoqKtq9HzdunD7++GN94xvfCHnNAMKPa3QARIQ333xTubm5qqurU0JCQrvPCgoKVFpaqpKSEl155ZVauHChHnroIe3atUuPP/64PvvsM508eVIJCQnavXu3rr/+ej344IOaN2+eLrroIu3bt09lZWX69a9/Haa9AxAqXKMDICKsXr1akydP7hBypDMzOrt27dKJEyf0xhtvqKSkRNdee61WrFjhv+vK4/FIkq699lpt3rxZBw4cUFZWlr75zW/qhz/8oZKSknp0fwD0DGZ0AFjtueeeU1FRkQ4fPhzuUgCEAdfoALDK8uXLdd1112ngwIHatm2bXnjhBZ6RA/RiBB0AVjlw4ICWLVumzz//XMOHD9fjjz+uRYsWhbssAGHC0hUAALAWFyMDAABrEXQAAIC1CDoAAMBaBB0AAGAtgg4AALAWQQcAAFiLoAMAAKxF0AEAANb6/wEPvkeNL4Z+qwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "x = np.sort(nutri.age)\n", "y = np.linspace(0,1,len(nutri.age))\n", "plt.xlabel('Age')\n", "plt.ylabel('$F_n(x)$')\n", "plt.step(x,y)\n", "plt.xlim(x.min(),x.max())\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next, let us have a look at a plot that takes into account the contingency table shown above. We will make use now of the `seaborn` package, which simplifies the plotting of statistical information.\n", "\n", "TODO: add examples with sns.histplot()" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjMAAAGwCAYAAABcnuQpAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAA3jUlEQVR4nO3de1xVdb7/8fdWbANy0UT3hgkUE2+plZfxJ11AS7w/dGyayi4YJ4cZsyRnRmNMQytIp9QmG0uPo0yNOadJHc9UKlpqajWIlqaEqRhOQYQZeOFisH5/eFzTDryAwNpLXs/HYz2G9f2u/V2fLXs2777r5jAMwxAAAIBNNbO6AAAAgMtBmAEAALZGmAEAALZGmAEAALZGmAEAALZGmAEAALZGmAEAALbmY3UBDa2qqkpfffWVAgMD5XA4rC4HAABcAsMwdOLECYWFhalZswvPvVzxYearr75SeHi41WUAAIA6OHr0qK655poLbnPFh5nAwEBJZ/8xgoKCLK4GAABcipKSEoWHh5t/xy/kig8z5w4tBQUFEWYAALCZSzlFhBOAAQCArRFmAACArVkaZr7//ns98cQTioyMlJ+fnzp27KjZs2erqqrK3MYwDKWkpCgsLEx+fn6KjY3Vvn37LKwaAAB4E0vPmZkzZ45efvllpaen67rrrtPOnTv14IMPKjg4WJMnT5YkzZ07V/PmzdPy5cvVuXNnPf300xo8eLBycnIu6aQgAABqUllZqTNnzlhdRpPVokULNW/evF7GchiGYdTLSHUwcuRIuVwuLV261Gy744475O/vr1dffVWGYSgsLExJSUmaNm2aJKm8vFwul0tz5sxRYmLiRfdRUlKi4OBgFRcXcwIwAECGYaigoEDfffed1aU0ea1atZLb7a7xJN/a/P22dGbm5ptv1ssvv6wDBw6oc+fO+uSTT7Rt2zYtWLBAkpSbm6uCggLFxcWZr3E6nYqJidGOHTtqDDPl5eUqLy8310tKShr8fQAA7ONckGnXrp38/f25oaoFDMPQ6dOnVVhYKEkKDQ29rPEsDTPTpk1TcXGxunbtqubNm6uyslLPPPOM7rnnHklnP3CS5HK5PF7ncrn0xRdf1DhmWlqaZs2a1bCFAwBsqbKy0gwybdq0sbqcJs3Pz0+SVFhYqHbt2l3WISdLTwD+29/+ptdee00rVqzQrl27lJ6erueee07p6eke2/04NRuGcd4knZycrOLiYnM5evRog9UPALCXc+fI+Pv7W1wJpP/8Hi733CVLZ2Z+97vf6fHHH9fdd98tSerZs6e++OILpaWlKT4+Xm63W9LZGZofTkEVFhZWm605x+l0yul0NnzxAADb4tCSd6iv34OlMzOnT5+u9vCo5s2bm5dmR0ZGyu12KyMjw+yvqKjQli1bFB0d3ai1AgAA72TpzMyoUaP0zDPPKCIiQtddd512796tefPmKSEhQdLZxJaUlKTU1FRFRUUpKipKqamp8vf317hx46wsHQBwBcnLy1NRUVGj7S8kJEQRERGNtr8rnaVh5sUXX9SMGTM0ceJEFRYWKiwsTImJiZo5c6a5zdSpU1VaWqqJEyfq+PHj6t+/vzZs2MA9ZgAA9SIvL09dunZRWWlZo+3T189XOZ/lWBZojhw5osjISO3evVs33HCDJTXUJ0vDTGBgoBYsWGBeil0Th8OhlJQUpaSkNFpdAICmo6io6GyQGSsppDF2KJWtKlNRUVGtwsz48eOVnp6uxMREvfzyyx59EydO1KJFixQfH6/ly5fXc8He74p/ajYAAJckRFKY1UVcWHh4uFauXKn58+eblzaXlZXp9ddfb9KHrQgzqJXGPq7srTjeDcAKvXv31uHDh7Vq1Srde++9kqRVq1YpPDxcHTt2NLdbt26dnn76aX366adq3ry5BgwYoBdeeEHXXnvtecfev3+/fvvb32rr1q1q2bKl4uLiNH/+fIWENMZ01eUhzOCS5eXlqVuXLjpd1njHlb2Vv6+vsnOsO94NoOl68MEHtWzZMjPM/PnPf1ZCQoI2b95sbnPq1ClNmTJFPXv21KlTpzRz5kz97Gc/08cff1ztKmJJys/PV0xMjCZMmKB58+aptLRU06ZN0y9+8Qu9++67jfXW6owwg0tWVFSk02Vlek1SN6uLsVC2pPvKan+8GwDqw/3336/k5GQdOXJEDodD27dv18qVKz3CzB133OHxmqVLl6pdu3bav3+/evToUW3MRYsWqXfv3kpNTTXb/vznPys8PNx85JA3I8yg1rpJ6m11EQDQRIWEhGjEiBFKT0+XYRgaMWJEtUNBhw4d0owZM/Thhx+qqKjIvH9bXl5ejWEmKytL7733ngICAqr1HTp0iDADAADqV0JCgiZNmiRJeumll6r1jxo1SuHh4VqyZInCwsJUVVWlHj16qKKiosbxqqqqNGrUKM2ZM6da3+U+BLIxEGYAALCZoUOHmsFkyJAhHn3Hjh1Tdna2XnnlFd1yyy2SpG3btl1wvN69e+vNN99Uhw4d5ONjv2hgv4oBAGgIjXWhZj3sp3nz5srOzjZ//qHWrVurTZs2Wrx4sUJDQ5WXl6fHH3/8guM9/PDDWrJkie655x797ne/U0hIiA4ePKiVK1dqyZIll/VE68ZAmAEANGkhISHy9fNV2arGvQPw5V7yHBQUVGN7s2bNtHLlSj366KPq0aOHunTpoj/+8Y+KjY0971hhYWHavn27pk2bpiFDhqi8vFzt27fX0KFDa7z6ydsQZgAATVpERIRyPsvx+mczXezOvmvWrDF/vv3227V//36PfsMwzJ87dOjgsS5JUVFRWrVqVa1q8haEGQBAkxcREcGtFmzM++eOAAAALoAwAwAAbI0wAwAAbI0wAwAAbI0wAwAAbI0wAwAAbI0wAwAAbI37zAAAmry8vDyvv2meN+rQoYOSkpKUlJRkaR2EGQBAk5aXl6duXbrodFnjPc7A39dX2Tk5tQo048ePV3p6erX2zz//XJ06darP8myHMAMAaNKKiop0uqxMr0nq1gj7y5Z0X1mZioqKaj07M3ToUC1btsyjrW3btvVYnT1xzgwAADobZHo3wnI5gcnpdMrtdnsszZs31//+7/+qT58+8vX1VceOHTVr1ix9//335uscDodeeeUVjRw5Uv7+/urWrZs++OADHTx4ULGxsWrZsqUGDBigQ4cOma85dOiQRo8eLZfLpYCAAPXr108bN268YH3FxcX65S9/qXbt2ikoKEiDBg3SJ598chnv+NIQZgAAsLH169frvvvu06OPPqr9+/frlVde0fLly/XMM894bPfUU0/pgQce0Mcff6yuXbtq3LhxSkxMVHJysnbu3ClJmjRpkrn9yZMnNXz4cG3cuFG7d+/WkCFDNGrUKOXl5dVYh2EYGjFihAoKCvT2228rKytLvXv31m233aZvv/224f4B/m/nV7Ti4mJDklFcXGx1KbaXlZVlSDKyJMNowkuWdPbfISvL6l8JgFoqLS019u/fb5SWlpptjf3dVtfvkPj4eKN58+ZGy5YtzeXnP/+5ccsttxipqake27766qtGaGiouS7JeOKJJ8z1Dz74wJBkLF261Gx7/fXXDV9f3wvW0L17d+PFF18019u3b2/Mnz/fMAzD2LRpkxEUFGSUlZV5vObaa681XnnllRrHq+n3cU5t/n5zzgwAADYxcOBALVq0yFxv2bKlOnXqpMzMTI+ZmMrKSpWVlen06dPy9/eXJPXq1cvsd7lckqSePXt6tJWVlamkpERBQUE6deqUZs2apX/+85/66quv9P3336u0tPS8MzNZWVk6efKk2rRp49FeWlrqcfiqIRBmAACwiXPh5Yeqqqo0a9YsjR07ttr2vr6+5s8tWrQwf3Y4HOdtq6qqkiT97ne/0/r16/Xcc8+pU6dO8vPz089//nNVVFTUWFtVVZVCQ0O1efPman2tWrW6tDdYR4QZAABsrHfv3srJyan3y7Pff/99jR8/Xj/72c8knT2H5siRIxeso6CgQD4+PurQoUO91nIxhBkAAGxs5syZGjlypMLDw3XnnXeqWbNm2rNnj/bu3aunn366zuN26tRJq1at0qhRo+RwODRjxgxz1qYmt99+uwYMGKAxY8Zozpw56tKli7766iu9/fbbGjNmjPr27VvnWi6GMAMAgM7e/8WO+xkyZIj++c9/avbs2Zo7d65atGihrl276qGHHrqscefPn6+EhARFR0crJCRE06ZNU0lJyXm3dzgcevvttzV9+nQlJCTom2++kdvt1q233mqeo9NQHIZhGA26B4uVlJQoODhYxcXFCgoKsrocW9u1a5f69OmjLJ29V0JTtUtSH8m87BCAfZSVlSk3N1eRkZHm+SR2uQPwlaim38c5tfn7zcwMAKBJi4iIUHZODs9msjHCDACgyYuIiCBc2Bh3AAYAALZGmAEAALZmaZjp0KGDHA5HteXhhx+WdPY5DykpKQoLC5Ofn59iY2O1b98+K0sGAFwBrvBrX2yjvn4PloaZzMxM5efnm0tGRoYk6c4775QkzZ07V/PmzdPChQuVmZkpt9utwYMH68SJE1aWDQCwqXN3vD19+rTFlUD6z+/hh3cirgtLTwBu27atx/qzzz6ra6+9VjExMTIMQwsWLND06dPNWzSnp6fL5XJpxYoVSkxMtKJkAICNNW/eXK1atVJhYaEkyd/f37yNPxqPYRg6ffq0CgsL1apVKzVv3vyyxvOaq5kqKir02muvacqUKXI4HDp8+LAKCgoUFxdnbuN0OhUTE6MdO3acN8yUl5ervLzcXL/QDX4AAE2P2+2WJDPQwDqtWrUyfx+Xw2vCzJo1a/Tdd99p/PjxkqSCggJJqnbXQJfLpS+++OK846SlpWnWrFkNVicAwN4cDodCQ0PVrl07nTlzxupymqwWLVpc9ozMOV4TZpYuXaphw4YpLCzMo/3H03+GYVxwSjA5OVlTpkwx10tKShQeHl6/xQIAbK958+b19scU1vKKMPPFF19o48aNWrVqldl2btqpoKBAoaGhZnthYeEFn/HgdDrldDobrlgAAOBVvOI+M8uWLVO7du00YsQIsy0yMlJut9u8wkk6e17Nli1bFB0dbUWZAADAC1k+M1NVVaVly5YpPj5ePj7/KcfhcCgpKUmpqamKiopSVFSUUlNT5e/vr3HjxllYMQAA8CaWh5mNGzcqLy9PCQkJ1fqmTp2q0tJSTZw4UcePH1f//v21YcMGBQYGWlApAADwRpaHmbi4uPPeAdDhcCglJUUpKSmNWxQAALANrzhnBgAAoK4IMwAAwNYIMwAAwNYIMwAAwNYIMwAAwNYIMwAAwNYIMwAAwNYIMwAAwNYIMwAAwNYIMwAAwNYIMwAAwNYIMwAAwNYIMwAAwNYIMwAAwNYIMwAAwNYIMwAAwNYIMwAAwNYIMwAAwNYIMwAAwNYIMwAAwNYIMwAAwNYIMwAAwNYIMwAAwNZ8rC4AQN3k5eWpqKjI6jIsFxISooiICKvLAGAhwgxgQ3l5eerStYvKSsusLsVyvn6+yvksh0ADNGGEGcCGioqKzgaZsZJCrK7GQkVS2aoyFRUVEWaAJowwA9hZiKQwq4sAAGtxAjAAALA1wgwAALA1wgwAALA1wgwAALA1wgwAALA1wgwAALA1wgwAALA1y8PMl19+qfvuu09t2rSRv7+/brjhBmVlZZn9hmEoJSVFYWFh8vPzU2xsrPbt22dhxQAAwJtYGmaOHz+um266SS1atNA777yj/fv36/nnn1erVq3MbebOnat58+Zp4cKFyszMlNvt1uDBg3XixAnrCgcAAF7D0jsAz5kzR+Hh4Vq2bJnZ1qFDB/NnwzC0YMECTZ8+XWPHjpUkpaeny+VyacWKFUpMTGzskgEAgJexdGZm7dq16tu3r+688061a9dON954o5YsWWL25+bmqqCgQHFxcWab0+lUTEyMduzYUeOY5eXlKikp8VgAAMCVy9Iwc/jwYS1atEhRUVFav369fvWrX+nRRx/VX/7yF0lSQUGBJMnlcnm8zuVymX0/lpaWpuDgYHMJDw9v2DcBAAAsZWmYqaqqUu/evZWamqobb7xRiYmJmjBhghYtWuSxncPh8Fg3DKNa2znJyckqLi42l6NHjzZY/QAAwHqWhpnQ0FB1797do61bt27Ky8uTJLndbkmqNgtTWFhYbbbmHKfTqaCgII8FAABcuSwNMzfddJNycnI82g4cOKD27dtLkiIjI+V2u5WRkWH2V1RUaMuWLYqOjm7UWgEAgHey9Gqmxx57TNHR0UpNTdUvfvEL/etf/9LixYu1ePFiSWcPLyUlJSk1NVVRUVGKiopSamqq/P39NW7cOCtLBwAAXsLSMNOvXz+tXr1aycnJmj17tiIjI7VgwQLde++95jZTp05VaWmpJk6cqOPHj6t///7asGGDAgMDLawcAAB4C0vDjCSNHDlSI0eOPG+/w+FQSkqKUlJSGq8oAABgG5Y/zgAAAOByEGYAAICtEWYAAICtEWYAAICtEWYAAICtEWYAAICtEWYAAICtEWYAAICtEWYAAICtEWYAAICtWf44AwC4XNnZ2VaXYLmQkBBFRERYXQZgCcIMAPs6eXZ6+b777rO6Esv5+/oqOyeHQIMmiTADwL7KpCpJr0nqZnUtFsqWdF9ZmYqKiggzaJIIMwBsr5uk3lYXAcAynAAMAABsjTADAABsjTADAABsjTADAABsjTADAABsjTADAABsjTADAABsjTADAABsjTADAABsjTADAABsjTADAABsjTADAABsjTADAABsjTADAABsjTADAABsjTADAABsjTADAABsjTADAABsjTADAABsjTADAABszdIwk5KSIofD4bG43W6z3zAMpaSkKCwsTH5+foqNjdW+ffssrBgAAHgby2dmrrvuOuXn55vL3r17zb65c+dq3rx5WrhwoTIzM+V2uzV48GCdOHHCwooBAIA3sTzM+Pj4yO12m0vbtm0lnZ2VWbBggaZPn66xY8eqR48eSk9P1+nTp7VixQqLqwYAAN7C8jDz+eefKywsTJGRkbr77rt1+PBhSVJubq4KCgoUFxdnbut0OhUTE6MdO3acd7zy8nKVlJR4LAAA4MplaZjp37+//vKXv2j9+vVasmSJCgoKFB0drWPHjqmgoECS5HK5PF7jcrnMvpqkpaUpODjYXMLDwxv0PQAAAGtZGmaGDRumO+64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yH74zm04hJkm7FLvrAgAV7JDhw4pNDS0wW/Gynduw+EwUxPw97//XT179pSfn5/atGmj22+/XadOnapxyvPRRx/V1KlTdfXVV8vtdislJcVjrM8++0w333yzfH191b17d23cuPGi0/b79+/X8OHDFRAQIJfLpfvvv19FRUUN82bh1aqqqjRnzhx16tRJTqdTEREReuaZZyRJe/fu1aBBg8zP6S9/+cv/PIlZNU/JjxkzRuPHjzfXO3TooKeeekrjxo1TQECAwsLC9OKLL16wpi+//FJ33XWXWrdurTZt2mj06NE6cuRIfb1leLnx48frkUceUV5enhwOhzp06KB169bp5ptvVqtWrdSmTRuNHDlShw4dMl9z7nD6//zP/+iWW26Rn5+f+vXrpwMHDigzM1N9+/ZVQECAhg4dqm+++cZjX+c7tD979mz17NmzWnufPn00c+bMen/fVxrCzBUuPz9f99xzjxISEpSdna3Nmzdr7Nix553qTE9PV8uWLfXRRx9p7ty5mj17tvk4iaqqKo0ZM0b+/v766KOPtHjxYk2fPv2i+4+JidENN9ygnTt3at26dfr666/1i1/8ot7fK7xfcnKy5syZoxkzZmj//v1asWKFXC6XTp8+raFDh6p169bKzMzUG2+8oY0bN2rSpEm13scf/vAH9erVS7t27VJycrIee+yxao9EOef06dMaOHCgAgICtHXrVm3bts38I1RRUXG5bxc28MILL2j27Nm65pprlJ+fr8zMTJ06dUpTpkxRZmamNm3apGbNmulnP/uZqqqqPF775JNP6oknntCuXbvk4+Oje+65R1OnTtULL7yg999/X4cOHbrkIJKQkKD9+/crMzPTbNuzZ492797tEdhxHhd9rjZsLSsry5BkHDlypFpffHy8MXr0aHM9JibGuPnmmz226devnzFt2jTDMAzjnXfeMXx8fIz8/HyzPyMjw5BkrF692jAMw8jNzTUkGbt37zYMwzBmzJhhxMXFeYx59OhRQ5KRk5NTD+8QdlFSUmI4nU5jyZIl1foWL15stG7d2jh58qTZ9tZbbxnNmjUzCgoKDMM4+/mcPHmyx+tGjx5txMfHm+vt27c3hg4d6rHNXXfdZQwbNsxc/+HndenSpUaXLl2Mqqoqs7+8vNzw8/Mz1q9fX9e3CpuZP3++0b59+/P2FxYWGpKMvXv3Gobxn++5//7v/za3ef311w1JxqZNm8y2tLQ0o0uXLuZ6Td+5P/xMDxs2zPj1r39triclJRmxsbGX8c6aDmZmrnDXX3+9brvtNvXs2VN33nmnlixZouPHj593+169enmsh4aGqrCwUJKUk5Oj8PBwud1us/+nP/3pBfeflZWl9957TwEBAebStWtXSfKYtsWVLzs7W+Xl5brttttq7Lv++uvVsmVLs+2mm25SVVWVcnJyarWfAQMGVFvPzs6ucdusrCwdPHhQgYGB5ufz6quvVllZGZ/PJuzQoUMaN26cOnbsqKCgIEVGRkqS8vLyPLb74fely+WSJI9DRS6Xy/z+vBQTJkzQ66+/rrKyMp05c0Z//etflZCQcDlvpcngBOArXPPmzZWRkaEdO3Zow4YNevHFFzV9+nR99NFHNW7fokULj3WHw2FOrRqGIYfDUav9V1VVadSoUZozZ061vtDQ0FqNBXvz8/M7b9+FPlvn2ps1a1bt8OiZM2cuad/nG7uqqkp9+vTRX//612p9bdu2vaSxceUZNWqUwsPDtWTJEoWFhamqqko9evSodujxh9+X5z5jP2778aGpi+3X6XRq9erVcjqdKi8v1x133HGZ76ZpIMw0AQ6HQzfddJNuuukmzZw5U+3bt9fq1atrPU7Xrl2Vl5enr7/+2vyvkB8e361J79699eabb6pDhw7y8eHj1pRFRUXJz89PmzZt0kMPPeTR1717d6Wnp+vUqVPm7Mz27dvVrFkzde7cWdLZcJGfn2++prKyUp9++qkGDhzoMdaHH35Ybf3cbOCP9e7dW3/729/Url07BQUFXfZ7hP0dO3ZM2dnZeuWVV3TLLbdIkrZt29Yo+/bx8VF8fLyWLVsmp9Opu+++W/7+/o2yb7vjMNMV7qOPPlJqaqp27typvLw8rVq1St988426detW67EGDx6sa6+9VvHx8dqzZ4+2b99ungB8vv/yffjhh/Xtt9/qnnvu0b/+9S8dPnxYGzZsUEJCgiorKy/rvcFefH19NW3aNE2dOlV/+ctfdOjQIX344YdaunSp7r33Xvn6+io+Pl6ffvqp3nvvPT3yyCO6//77zeA8aNAgvfXWW3rrrbf02WefaeLEifruu++q7Wf79u2aO3euDhw4oJdeeklvvPGGJk+eXGNN9957r0JCQjR69Gi9//77ys3N1ZYtWzR58mT9+9//bsh/Dnipc1e1LV68WAcPHtS7776rKVOmNNr+H3roIb377rt65513OMRUC4SZK1xQUJC2bt2q4cOHq3PnznriiSf0/PPPa9iwYbUeq3nz5lqzZo1Onjypfv366aGHHtITTzwh6ewfqpqEhYVp+/btqqys1JAhQ9SjRw9NnjxZwcHBataMj19TM2PGDP3mN7/RzJkz1a1bN911110qLCyUv7+/1q9fr2+//Vb9+vXTz3/+c912221auHCh+dqEhATFx8frgQceUExMjCIjI6vNykjSb37zG2VlZenGG2/UU089peeff15DhgypsR5/f39t3bpVERERGjt2rLp166aEhASVlpYyU9NENWvWTCtXrlRWVpZ69Oihxx57TH/4wx8abf9RUVGKjo5Wly5d1L9//0bbr905jB8fhAZqYfv27br55pt18OBBXXvttVaXgyauQ4cOSkpK4hbxsC3DMNS1a1clJiY26oyQ3XESA2pl9erVCggIUFRUlA4ePKjJkyfrpptuIsgAwGUqLCzUq6++qi+//FIPPvig1eXYCmEGtXLixAlNnTpVR48eVUhIiG6//XY9//zzVpcFALbncrkUEhKixYsXq3Xr1laXYyscZgIAALbGGZgAAMDWCDMAAMDWCDMAAMDWCDMAAMDWCDMAAMDWCDMAGo3D4dCaNWss239sbCw31AOuQIQZAPWmsLBQiYmJioiIkNPplNvt1pAhQ/TBBx9IkvLz881HaRw5ckQOh0Mff/xxvdexefNmORyOas9uWrVqlZ566ql63x8Aa3HTPAD15o477tCZM2eUnp6ujh076uuvv9amTZv07bffSpLcbrel9V199dWW7h9Aw2BmBkC9+O6777Rt2zbNmTNHAwcOVPv27fXTn/5UycnJGjFihCTPw0yRkZGSpBtvvFEOh0OxsbGSaj4UNGbMGI0fP95cf+2119S3b18FBgbK7XZr3LhxKiwslHR2xufcAyhbt24th8NhvvbHYx8/flwPPPCAWrduLX9/fw0bNkyff/652b98+XK1atVK69evV7du3RQQEKChQ4cqPz+/nv7VANQHwgyAehEQEKCAgACtWbNG5eXlF93+X//6lyRp48aNys/P16pVqy55XxUVFXrqqaf0ySefaM2aNcrNzTUDS3h4uN58801JUk5OjvLz8/XCCy/UOM748eO1c+dOrV27Vh988IEMw9Dw4cN15swZc5vTp0/rueee06uvvqqtW7cqLy9Pv/3tby+5VgANj8NMAOqFj4+Pli9frgkTJujll19W7969FRMTo7vvvlu9evWqtn3btm0lSW3atKn14aeEhATz544dO+qPf/yjfvrTn+rkyZMKCAgwDye1a9dOrVq1qnGMzz//XGvXrtX27dsVHR0tSfrrX/+q8PBwrVmzRnfeeack6cyZM3r55ZfNh6lOmjRJs2fPrlW9ABoWMzMA6s0dd9yhr776SmvXrtWQIUO0efNm9e7dW8uXL6/X/ezevVujR49W+/btFRgYaB6iysvLu+QxsrOz5ePjo/79+5ttbdq0UZcuXZSdnW22+fv7ezwVPjQ01DykBcA7EGYA1CtfX18NHjxYM2fO1I4dOzR+/Hg9+eSTl/z6Zs2a6cfPv/3hYZ9Tp04pLi5OAQEBeu2115SZmanVq1dLOnv46VKd7xm7hmHI4XCY6y1atPDodzgc530tAGsQZgA0qO7du+vUqVPV2q+66ipJUmVlpUd727ZtPU6wrays1Keffmquf/bZZyoqKtKzzz6rW265RV27dq02U3K+sX9c1/fff6+PPvrIbDt27JgOHDigbt261eIdArAaYQZAvTh27JgGDRqk1157TXv27FFubq7eeOMNzZ07V6NHj662fbt27eTn56d169bp66+/VnFxsSRp0KBBeuutt/TWW2/ps88+08SJEz3uFxMREaGrrrpKL774og4fPqy1a9dWu3dM+/bt5XA49M9//lPffPONTp48WW3/UVFRGj16tCZMmKBt27bpk08+0X333aef/OQnNdYLwHsRZgDUi4CAAPXv31/z58/Xrbfeqh49emjGjBmaMGGCFi5cWG17Hx8f/fGPf9Qrr7yisLAwM0AkJCQoPj5eDzzwgGJiYhQZGWleai2dnblZvny53njjDXXv3l3PPvusnnvuOY+xf/KTn2jWrFl6/PHH5XK5NGnSpBprXrZsmfr06aORI0dqwIABMgxDb7/9drVDSwC8m8Pg4C8AALAxZmYAAICtEWYAAICtEWYAAICtEWYAAICtEWYAAICtEWYAAICtEWYAAICtEWYAAICtEWYAAICtEWYAAICtEWYAAICt/X9/WZUN0NOSjAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import seaborn as sns\n", "sns.countplot(x='situation',hue='gender',data=nutri,hue_order=['Male','Female'],palette=['green','red'],saturation=1,edgecolor='black')\n", "plt.legend(loc='upper right')\n", "plt.xlabel('Situation')\n", "plt.ylabel('Counts')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*Scatter plots* are useful to visualize patterns between quantitative features." ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "image/png": "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5iotLU0XXnih3nvvvZB1TOSdgucY//73vzVixAjdf//9x11v3bp1euWVV5Sbm9vmublz52rt2rV6/PHH9dJLL+nQoUO65JJL1NTUFK2wPc9O3i+88ELt27cv+HjmmWdCnifv4ess7//85z919tlna8iQIdq4caPKysr085//XCkpKcF1yHv4Osv70e/zffv26Xe/+50CgYCuuOKK4DrkPXyd5X3evHl69tlntXr1au3cuVPz5s3TjTfeqCeffDK4DnkP3/HyblmWLr30Uu3atUtPPvmktm3bpvz8fE2cOFH//ve/g+sZybuFDkmy1q5d22b5Rx99ZH31q1+1tm/fbuXn51u/+tWvgs8dOHDASkpKsh5//PHgsr1791oJCQnWs88+G4Oova+9vM+YMcOaMmVKh68h713XXt6vvPJKa/r06R2+hrx3XUd/Z442ZcoU67zzzgv+TN67rr28Dxs2zLrzzjtDlp155pnWbbfdZlkWeTfh2LyXl5dbkqzt27cHlx05csTq3bu39dBDD1mWZS7vfMMTpubmZn3/+99XYWGhhg0b1ub5N954Q42NjZo8eXJwWW5uroYPH64tW7bEMlTf2bhxo/r27avBgwfr2muv1f79+4PPkXfzmpub9fTTT2vw4MG64IIL1LdvX40ZMybk62jyHn2ffPKJnn76aV1zzTXBZeQ9Os4++2w99dRT2rt3ryzL0l//+le9++67uuCCCySR92ior6+XpJBvjRMTE9W9e3e99NJLkszlnYInTKWlperWrZtuuummdp+vrKxU9+7d1atXr5DlWVlZqqysjEWIvnTRRRfp97//vf7yl7/onnvu0Wuvvabzzjsv+MtC3s3bv3+/Dh06pF/+8pe68MILtX79el122WW6/PLLtWnTJknkPRZWrVql9PR0XX755cFl5D067rvvPp122mnq16+funfvrgsvvFD/8z//o7PPPlsSeY+GIUOGKD8/X0VFRaqqqlJDQ4N++ctfqrKyUvv27ZNkLu++ny3dpDfeeEP33nuv3nzzTQUCgbBea1lW2K/Bl6688srgv4cPH66vf/3rys/P19NPPx3yQXAs8h655uZmSdKUKVM0b948SdLXvvY1bdmyRb/5zW80fvz4Dl9L3s353e9+p6uuuirkf8AdIe9dc99992nr1q166qmnlJ+frxdffFFz5sxRTk6OJk6c2OHryHvkkpKS9MQTT+iaa65R7969lZiYqIkTJ+qiiy7q9LXh5p1veMKwefNm7d+/XyeddJK6deumbt26ac+ePfrpT3+q/v37S5Kys7PV0NCgqqqqkNfu379fWVlZDkTtTzk5OcrPzw+O5Cfv5p1wwgnq1q2bTjvttJDlQ4cODXZpkffo2rx5s8rLyzVr1qyQ5eTdvLq6Ov3sZz/T0qVL9a1vfUtnnHGGfvzjH+vKK6/U3XffLYm8R8uoUaP097//XQcOHNC+ffv07LPP6vPPP9eAAQMkmcs7BU8Yvv/97+sf//iH/v73vwcfubm5Kiws1HPPPSep5cQlJSVpw4YNwdft27dP27dv17hx45wK3Xc+//xzVVRUKCcnRxJ5j4bu3btr9OjRKi8vD1n+7rvvKj8/XxJ5j7bly5dr1KhRGjFiRMhy8m5eY2OjGhsblZAQ+rGYmJgY/LaTvEdXZmamTjzxRL333nt6/fXXNWXKFEnm8s4lrWMcOnRI77//fvDn3bt36+9//7t69+6tk046SX369AlZPykpSdnZ2Tr11FMltZywa665Rj/96U/Vp08f9e7dW7fccotOP/30434lGu+Ol/fevXuruLhYV1xxhXJycvTBBx/oZz/7mU444QRddtllksh7pDp7vxcWFurKK6/Uueeeq29+85t69tln9X//93/auHGjJPIeqc7yLkk1NTVas2aN7rnnnjavJ++R6Szv48ePV2FhoVJTU5Wfn69NmzbpkUce0dKlSyWR90h1lvc1a9boxBNP1EknnaS33npLN998sy699NLgIGVjee9Cd5kv/fWvf7UktXnMmDGj3fWPbUu3LMuqq6uzfvzjH1u9e/e2UlNTrUsuucT68MMPox+8hx0v77W1tdbkyZOtE0880UpKSrJOOukka8aMGW1ySt7DZ+f9vnz5cuuUU06xUlJSrBEjRljr1q0L2QZ5D5+dvP/2t7+1UlNTrQMHDrS7DfIevs7yvm/fPmvmzJlWbm6ulZKSYp166qnWPffcYzU3Nwe3Qd7D11ne7733Xqtfv37Bv++33XabVV9fH7INE3kPWJZlhV+vAQAAeAdjeAAAgO9R8AAAAN+j4AEAAL5HwQMAAHyPggcAAPgeBQ8AAPA9Ch4AAOB7FDwAAMD3KHgAxMyECRM0d+7ciF9fXFysr33tazHdJwB/oOAB4Bm33HKLXnjhBePbDQQCWrdunfHtAnAPJg8F4Bk9evRQjx49nA4DgAfxDQ+AmGpubtb8+fPVu3dvZWdnq7i4OPhcdXW1rrvuOvXt21cZGRk677zzVFZWFnz+2EtaR44c0U033aSePXuqT58+WrBggWbMmKFLL73U9j779+8vSbrssssUCASCPwPwFwoeADG1atUqfeUrX9Err7yixYsX684779SGDRtkWZYuvvhiVVZW6plnntEbb7yhM888U+eff77+9a9/tbut0tJS/f73v9eKFSv0t7/9TTU1Ne1emupon5L02muvSZJWrFihffv2BX8G4C9c0gIQU2eccYZuv/12SdKgQYN0//3364UXXlBiYqLeeust7d+/X8nJyZKku+++W+vWrdMf//hHXXfddW229etf/1pFRUW67LLLJEn333+/nnnmGdv7nDRpkk488URJUs+ePZWdnR2VYwbgPAoeADF1xhlnhPyck5Oj/fv364033tChQ4fUp0+fkOfr6ur0z3/+s812qqur9cknn+iss84KLktMTNSoUaPU3Nxsa58A4gcFD4CYSkpKCvk5EAioublZzc3NysnJ0caNG9u8pmfPnh1uLxAIhPxsWZbtfQKIHxQ8AFzhzDPPVGVlpbp162Zr4HBmZqaysrL06quv6pxzzpEkNTU1adu2bWHfqycpKUlNTU0RRA3AKxi0DMAVJk6cqLFjx+rSSy/Vc889pw8++EBbtmzRbbfdptdff73d19x4440qKSnRk08+qfLyct18882qqqpq861PZ/r3768XXnhBlZWVqqqqMnE4AFyGggeAKwQCAT3zzDM699xzdfXVV2vw4MH67ne/qw8++EBZWVntvmbBggX63ve+px/84AcaO3asevTooQsuuEApKSlh7fuee+7Rhg0blJeXp5EjR5o4HAAuE7Dau+ANAB7U3NysoUOH6jvf+Y5+8YtfOB0OABdhDA8Az9qzZ4/Wr1+v8ePHq76+Xvfff792796tadOmOR0aAJfhkhYAz0pISNDKlSs1evRofeMb39Bbb72l559/XkOHDnU6NAAuwyUtAADge3zDAwAAfI+CBwAA+B4FDwAA8D0KHgAA4HsUPAAAwPcoeAAAgO9R8AAAAN+j4AEAAL73/wHV56wGKAr1rQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.scatter(nutri.height,nutri.weight,s=12,marker='o')\n", "plt.xlabel('height')\n", "plt.ylabel('weight')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can get more sophisticated plots and fit some lines to the data to visualy compare data. In this example, we will use data from Vincent Arel Bundock repo on birth weights of babies for smoking and non smoking mothers, and plot the data againts the age of the mother. We will deal with significance of the results in upcoming sessions." ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
lowagelwtrace...htuiftvbwt
00191822...0102523
10331553...0032551
20201051...0012557
30211081...0122594
40181071...0102600
..............................
184128951...0022466
1851141003...0022495
186123943...0002495
1871171422...1002495
1881211301...1032495
\n", "

189 rows × 10 columns

\n", "
" ], "text/plain": [ " low age lwt race ... ht ui ftv bwt\n", "0 0 19 182 2 ... 0 1 0 2523\n", "1 0 33 155 3 ... 0 0 3 2551\n", "2 0 20 105 1 ... 0 0 1 2557\n", "3 0 21 108 1 ... 0 1 2 2594\n", "4 0 18 107 1 ... 0 1 0 2600\n", ".. ... ... ... ... ... .. .. ... ...\n", "184 1 28 95 1 ... 0 0 2 2466\n", "185 1 14 100 3 ... 0 0 2 2495\n", "186 1 23 94 3 ... 0 0 0 2495\n", "187 1 17 142 2 ... 1 0 0 2495\n", "188 1 21 130 1 ... 1 0 3 2495\n", "\n", "[189 rows x 10 columns]" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "urlprefix = 'http://vincentarelbundock.github.io/Rdatasets/csv/'\n", "dataname = 'MASS/birthwt.csv'\n", "bwt = pd.read_csv(urlprefix + dataname)\n", "bwt = bwt.drop('rownames' ,axis=1) #drop unnamed column\n", "bwt\n" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "image/png": "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fPiwGDdunBgyZIgwGo2WdSZPnixiYmLEnj17xJ49e0RMTIxITk62q6wMiBxXVydEUJD1fTw4WFreLidvDo6o37xFDPI7KQAhBvufEPWb7dinO4Iek8l9B0tuZ9N13pQTAe66ddJlk5npwH6JfJAiAqKWdOnSRbz//vvCZDIJnU4nli5dannPYDAIrVYrVqxYIYQQory8XAQGBor169db1vnll1+En5+fyMnJEUIIUVBQIACIffv2WdbZu3evACBOnjxpc7kYEDlOr5f+STd9VFbauAEPZz/MNxTzo9mNJSXF9UHPwoXM8vggT2dr6uuFGDRIuqQGD2aWiEgI2+/fdtcyv/322y0u12g0CAkJQb9+/TB69Gj4+/vbtd36+np8/PHHqKqqQmJiIgoLC1FcXIykpCTLOsHBwRgzZgz27NmDRx55BIcOHUJdXZ3VOlFRUYiJicGePXswadIk7N27F1qtFiNGjLCsM3LkSGi1WuzZswcDBgxosTw1NTWoqamxvK6oqLDreKhBeDhw771ObCAkBMaBMR5pE2Ge3DUE1ajG5WEl7r38cIX2mux5esDM8nJg505g3DjPTNgrM0+3rcnKAjZu9NyAjhxIkshxdv9rePPNN3H+/HlcunQJXbp0gRAC5eXl6NixIzp16oSSkhL07dsXO3fuRHR0dLvby8/PR2JiIgwGAzp16oRNmzZh8ODB2LNnDwCgR48eVuv36NEDP/30EwCguLgYQUFB6NKlS7N1iouLLetERkY2229kZKRlnZYsWbKEk9V6CbfODdakF5sfgBaGnrGPUnprLVwI/PWvUnk1GuD556Vo0Ed5eo45c3ANSM9pae7db+P9mXliv0S+wu4/k8WLF+O6667D6dOnceHCBZSWluK7777DiBEj8Le//Q0///wzdDodnnrqKZu2N2DAAOTl5WHfvn149NFHMX36dBQ0Gg1N0+SGJYRotqyppuu0tH5723n22Weh1+stj6KiIpuOh1yv8bdsh4wa1Xr3dUd99JHXdV03Gu1Yuby8IRgCpOe//lVa7qOcvo4c2F/TbI071dUBa9cChw83PNassfO6cIKn9kPkNvbWxfXt21ccOXKk2fLDhw+LPn36CCGE+Prrr4VOp7N300IIIcaPHy8efvhh8f333wsA4vDhw1bvp6amivvvv18IIcQXX3whAIjS0lKrdeLi4sSL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0tPT8fvvv8twNETkTgyIiMhnVVVVYf78+Thw4AC++OIL+Pn54Q9/+ANMJhMqKyuRkpKC2NhYHD58GBkZGfjTn/5k9flz585hzJgxiI+Px8GDB5GTk4PffvsNaWlpMh0REbkLZ7snItU4f/48IiMjkZ+fj927d+OFF17A2bNnERISAgB4//33MWvWLBw5cgTx8fF48cUXsX//fnz++eeWbZw9exbR0dE4deoUrrnmGrkOhYhcjBkiIvJZ33//PaZOnYq+ffsiPDwcffr0AQD8/PPPOHXqFOLi4izBEABcf/31Vp8/dOgQdu7ciU6dOlkeAwcOtGybiHxHgNwFICJyl5SUFERHR2PVqlWIioqCyWRCTEwMamtrIYSARqOxWr9pwtxkMiElJQWvvPJKs2337NnTrWUnIs9iQEREPunChQs4ceIE3nvvPdx0000AgN27d1veHzhwINauXYuamhoEBwcDAA4ePGi1jWHDhmHjxo246qqrEBDAf5dEvoxVZkTkk7p06YKuXbti5cqVOHPmDHbs2IH58+db3p86dSpMJhMefvhhnDhxAp9//jlef/11ALBkjubMmYPS0lLce++9+Oabb/DDDz9g69atmDlzJurr62U5LiJyDwZEROST/Pz8sH79ehw6dAgxMTF46qmn8Nprr1neDw8PR3Z2NvLy8hAfH4/nn38eL774IgBY2hVFRUXh66+/Rn19PSZNmoSYmBg8+eST0Gq18PPjv08iX8JeZkREl61duxYPPPAA9Ho9OnToIHdxiMiDWClORKr10UcfoW/fvrjiiivw7bff4k9/+hPS0tIYDBGpEAMiIlKt4uJivPjiiyguLkbPnj3xxz/+EX/961/lLhYRyYBVZkRERKR6bBVIREREqseAiIiIiFSPARERERGpHgMiIiIiUj0GRERERKR6DIiIiIhI9RgQERERkeoxICIiIiLV+/++6ekKb55KHAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "styles = {0: ['o','red'], 1: ['^','blue']}\n", "for k in styles:\n", " grp = bwt[bwt.smoke == k]\n", " m,b = np.polyfit(grp.age , grp.bwt , 1) # fit a straight line\n", " plt.scatter(grp.age , grp.bwt , c= styles[k][1] , s=15 , linewidth =0,\n", " marker = styles[k][0])\n", " plt.plot(grp.age , m*grp.age + b, '-', color = styles[k][1])\n", "\n", "plt.xlabel('age')\n", "plt.ylabel('birth weight (g)')\n", "plt.legend(['non - smokers','smokers'],prop={'size':8},loc=(0.7 ,0.3))\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "```{bibliography}\n", ":style: unsrt\n", "```" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.4" } }, "nbformat": 4, "nbformat_minor": 4 }