{
"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",
"
0
\n",
"
1
\n",
"
2
\n",
"
3
\n",
"
4
\n",
"
5
\n",
"
6
\n",
"
7
\n",
"
8
\n",
"
9
\n",
"
10
\n",
"
11
\n",
"
12
\n",
"
13
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
1
\n",
"
14.23
\n",
"
1.71
\n",
"
2.43
\n",
"
15.6
\n",
"
127
\n",
"
2.80
\n",
"
3.06
\n",
"
0.28
\n",
"
2.29
\n",
"
5.64
\n",
"
1.04
\n",
"
3.92
\n",
"
1065
\n",
"
\n",
"
\n",
"
1
\n",
"
1
\n",
"
13.20
\n",
"
1.78
\n",
"
2.14
\n",
"
11.2
\n",
"
100
\n",
"
2.65
\n",
"
2.76
\n",
"
0.26
\n",
"
1.28
\n",
"
4.38
\n",
"
1.05
\n",
"
3.40
\n",
"
1050
\n",
"
\n",
"
\n",
"
2
\n",
"
1
\n",
"
13.16
\n",
"
2.36
\n",
"
2.67
\n",
"
18.6
\n",
"
101
\n",
"
2.80
\n",
"
3.24
\n",
"
0.30
\n",
"
2.81
\n",
"
5.68
\n",
"
1.03
\n",
"
3.17
\n",
"
1185
\n",
"
\n",
"
\n",
"
3
\n",
"
1
\n",
"
14.37
\n",
"
1.95
\n",
"
2.50
\n",
"
16.8
\n",
"
113
\n",
"
3.85
\n",
"
3.49
\n",
"
0.24
\n",
"
2.18
\n",
"
7.80
\n",
"
0.86
\n",
"
3.45
\n",
"
1480
\n",
"
\n",
"
\n",
"
4
\n",
"
1
\n",
"
13.24
\n",
"
2.59
\n",
"
2.87
\n",
"
21.0
\n",
"
118
\n",
"
2.80
\n",
"
2.69
\n",
"
0.39
\n",
"
1.82
\n",
"
4.32
\n",
"
1.04
\n",
"
2.93
\n",
"
735
\n",
"
\n",
" \n",
"
\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",
"
class
\n",
"
Alcohol
\n",
"
Maliacid
\n",
"
Ash
\n",
"
Alcalinity_of_ash
\n",
"
Magnesium
\n",
"
Total_phenols
\n",
"
Flavanoids
\n",
"
Nonflavonoid_phenols
\n",
"
Proanthocyanins
\n",
"
Color_intensity
\n",
"
Hue
\n",
"
0D280_0D315_of_diluted_wines
\n",
"
Proline
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
1
\n",
"
14.23
\n",
"
1.71
\n",
"
2.43
\n",
"
15.6
\n",
"
127
\n",
"
2.80
\n",
"
3.06
\n",
"
0.28
\n",
"
2.29
\n",
"
5.64
\n",
"
1.04
\n",
"
3.92
\n",
"
1065
\n",
"
\n",
"
\n",
"
1
\n",
"
1
\n",
"
13.20
\n",
"
1.78
\n",
"
2.14
\n",
"
11.2
\n",
"
100
\n",
"
2.65
\n",
"
2.76
\n",
"
0.26
\n",
"
1.28
\n",
"
4.38
\n",
"
1.05
\n",
"
3.40
\n",
"
1050
\n",
"
\n",
"
\n",
"
2
\n",
"
1
\n",
"
13.16
\n",
"
2.36
\n",
"
2.67
\n",
"
18.6
\n",
"
101
\n",
"
2.80
\n",
"
3.24
\n",
"
0.30
\n",
"
2.81
\n",
"
5.68
\n",
"
1.03
\n",
"
3.17
\n",
"
1185
\n",
"
\n",
"
\n",
"
3
\n",
"
1
\n",
"
14.37
\n",
"
1.95
\n",
"
2.50
\n",
"
16.8
\n",
"
113
\n",
"
3.85
\n",
"
3.49
\n",
"
0.24
\n",
"
2.18
\n",
"
7.80
\n",
"
0.86
\n",
"
3.45
\n",
"
1480
\n",
"
\n",
"
\n",
"
4
\n",
"
1
\n",
"
13.24
\n",
"
2.59
\n",
"
2.87
\n",
"
21.0
\n",
"
118
\n",
"
2.80
\n",
"
2.69
\n",
"
0.39
\n",
"
1.82
\n",
"
4.32
\n",
"
1.04
\n",
"
2.93
\n",
"
735
\n",
"
\n",
" \n",
"
\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": [
"
"
],
"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",
"\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",
"
gender
\n",
"
situation
\n",
"
tea
\n",
"
coffee
\n",
"
...
\n",
"
raw_fruit
\n",
"
cooked_fruit_veg
\n",
"
chocol
\n",
"
fat
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
2
\n",
"
1
\n",
"
0
\n",
"
0
\n",
"
...
\n",
"
1
\n",
"
4
\n",
"
5
\n",
"
6
\n",
"
\n",
"
\n",
"
1
\n",
"
2
\n",
"
1
\n",
"
1
\n",
"
1
\n",
"
...
\n",
"
5
\n",
"
5
\n",
"
1
\n",
"
4
\n",
"
\n",
"
\n",
"
2
\n",
"
2
\n",
"
1
\n",
"
0
\n",
"
4
\n",
"
...
\n",
"
5
\n",
"
2
\n",
"
5
\n",
"
4
\n",
"
\n",
"
\n",
"
3
\n",
"
2
\n",
"
1
\n",
"
0
\n",
"
0
\n",
"
...
\n",
"
4
\n",
"
0
\n",
"
3
\n",
"
2
\n",
"
\n",
"
\n",
"
4
\n",
"
2
\n",
"
1
\n",
"
2
\n",
"
1
\n",
"
...
\n",
"
5
\n",
"
5
\n",
"
3
\n",
"
2
\n",
"
\n",
" \n",
"
\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",
"\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",
"
gender
\n",
"
situation
\n",
"
tea
\n",
"
coffee
\n",
"
...
\n",
"
raw_fruit
\n",
"
cooked_fruit_veg
\n",
"
chocol
\n",
"
fat
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
Female
\n",
"
single
\n",
"
0
\n",
"
0
\n",
"
...
\n",
"
less than once a week
\n",
"
4-6 times a week
\n",
"
every day
\n",
"
Mix of vegetable oils
\n",
"
\n",
"
\n",
"
1
\n",
"
Female
\n",
"
single
\n",
"
1
\n",
"
1
\n",
"
...
\n",
"
every day
\n",
"
every day
\n",
"
less than once a week
\n",
"
Sunflower oil
\n",
"
\n",
"
\n",
"
2
\n",
"
Female
\n",
"
single
\n",
"
0
\n",
"
4
\n",
"
...
\n",
"
every day
\n",
"
once a week
\n",
"
every day
\n",
"
Sunflower oil
\n",
"
\n",
"
\n",
"
3
\n",
"
Female
\n",
"
single
\n",
"
0
\n",
"
0
\n",
"
...
\n",
"
4-6 times a week
\n",
"
never
\n",
"
2-3 times a week
\n",
"
Margarine
\n",
"
\n",
"
\n",
"
4
\n",
"
Female
\n",
"
single
\n",
"
2
\n",
"
1
\n",
"
...
\n",
"
every day
\n",
"
every day
\n",
"
2-3 times a week
\n",
"
Margarine
\n",
"
\n",
" \n",
"
\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",
"
situation
\n",
"
couple
\n",
"
family
\n",
"
single
\n",
"
All
\n",
"
\n",
"
\n",
"
gender
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
"
\n",
"
Female
\n",
"
56
\n",
"
7
\n",
"
78
\n",
"
141
\n",
"
\n",
"
\n",
"
Male
\n",
"
63
\n",
"
2
\n",
"
20
\n",
"
85
\n",
"
\n",
"
\n",
"
All
\n",
"
119
\n",
"
9
\n",
"
98
\n",
"
226
\n",
"
\n",
" \n",
"
\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": "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lLRELQAAAK2Gzz9wO336dN13333atWuX4uPj1aVLF4/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": "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X/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": [
"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": [
"