diff --git a/your-code/main.ipynb b/your-code/main.ipynb
index 406e6ba..1b07b6e 100755
--- a/your-code/main.ipynb
+++ b/your-code/main.ipynb
@@ -206,8 +206,18 @@
"execution_count": null,
"metadata": {},
"outputs": [],
+ "source": []
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [],
"source": [
- "# your code here"
+ "import numpy as np\n",
+ "import pandas as pd\n",
+ "\n",
+ "data = pd.read_csv(r\"C:\\Users\\nunoc\\Ambiente de Trabalho\\Iron Hack\\Week 4\\lab-subsetting-and-descriptive-stats\\your-code\\Employee.csv\")"
]
},
{
@@ -219,11 +229,43 @@
},
{
"cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "# your code here"
+ "execution_count": 12,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Name Department Education Gender Title Years Salary\n",
+ "0 Jose IT Bachelor M analyst 1 35\n",
+ "1 Maria IT Master F analyst 2 30\n",
+ "2 David HR Master M analyst 2 30\n",
+ " Years Salary\n",
+ "count 9.000000 9.000000\n",
+ "mean 4.111111 48.888889\n",
+ "std 2.803767 16.541194\n",
+ "min 1.000000 30.000000\n",
+ "25% 2.000000 35.000000\n",
+ "50% 3.000000 55.000000\n",
+ "75% 7.000000 60.000000\n",
+ "max 8.000000 70.000000\n",
+ "Gender\n",
+ "M 5\n",
+ "F 4\n",
+ "dtype: int64\n",
+ "Title\n",
+ "analyst 4\n",
+ "associate 3\n",
+ "VP 2\n",
+ "dtype: int64\n"
+ ]
+ }
+ ],
+ "source": [
+ "print(data.head(3))\n",
+ "print(data.describe())\n",
+ "print(data.value_counts(data['Gender']))\n",
+ "print(data.value_counts(data['Title']))"
]
},
{
@@ -233,7 +275,9 @@
"outputs": [],
"source": [
"\"\"\"\n",
- "your comments here\n",
+ "We can observe the numerical columns basic descriptive stats. \n",
+ "The company is 55% male.\n",
+ "It has 9 employees 4 analyst, 3 associate and 2 VP\n",
"\"\"\""
]
},
@@ -246,11 +290,22 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 14,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "48.888888888888886"
+ ]
+ },
+ "execution_count": 14,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
- "# your code here"
+ "data['Salary'].mean()"
]
},
{
@@ -262,11 +317,22 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 15,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "70"
+ ]
+ },
+ "execution_count": 15,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
- "# your code here"
+ "data['Salary'].max()"
]
},
{
@@ -278,11 +344,22 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 16,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "30"
+ ]
+ },
+ "execution_count": 16,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
- "# your code here"
+ "data['Salary'].min()"
]
},
{
@@ -294,11 +371,155 @@
},
{
"cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "# your code here"
+ "execution_count": 19,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Name | \n",
+ " Department | \n",
+ " Education | \n",
+ " Gender | \n",
+ " Title | \n",
+ " Years | \n",
+ " Salary | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 1 | \n",
+ " Maria | \n",
+ " IT | \n",
+ " Master | \n",
+ " F | \n",
+ " analyst | \n",
+ " 2 | \n",
+ " 30 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " David | \n",
+ " HR | \n",
+ " Master | \n",
+ " M | \n",
+ " analyst | \n",
+ " 2 | \n",
+ " 30 | \n",
+ "
\n",
+ " \n",
+ " | 0 | \n",
+ " Jose | \n",
+ " IT | \n",
+ " Bachelor | \n",
+ " M | \n",
+ " analyst | \n",
+ " 1 | \n",
+ " 35 | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " Sonia | \n",
+ " HR | \n",
+ " Bachelor | \n",
+ " F | \n",
+ " analyst | \n",
+ " 4 | \n",
+ " 35 | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " Samuel | \n",
+ " Sales | \n",
+ " Master | \n",
+ " M | \n",
+ " associate | \n",
+ " 3 | \n",
+ " 55 | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " Eva | \n",
+ " Sales | \n",
+ " Bachelor | \n",
+ " F | \n",
+ " associate | \n",
+ " 2 | \n",
+ " 55 | \n",
+ "
\n",
+ " \n",
+ " | 7 | \n",
+ " Pedro | \n",
+ " IT | \n",
+ " Phd | \n",
+ " M | \n",
+ " associate | \n",
+ " 7 | \n",
+ " 60 | \n",
+ "
\n",
+ " \n",
+ " | 6 | \n",
+ " Carlos | \n",
+ " IT | \n",
+ " Master | \n",
+ " M | \n",
+ " VP | \n",
+ " 8 | \n",
+ " 70 | \n",
+ "
\n",
+ " \n",
+ " | 8 | \n",
+ " Ana | \n",
+ " HR | \n",
+ " Master | \n",
+ " F | \n",
+ " VP | \n",
+ " 8 | \n",
+ " 70 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Name Department Education Gender Title Years Salary\n",
+ "1 Maria IT Master F analyst 2 30\n",
+ "2 David HR Master M analyst 2 30\n",
+ "0 Jose IT Bachelor M analyst 1 35\n",
+ "3 Sonia HR Bachelor F analyst 4 35\n",
+ "4 Samuel Sales Master M associate 3 55\n",
+ "5 Eva Sales Bachelor F associate 2 55\n",
+ "7 Pedro IT Phd M associate 7 60\n",
+ "6 Carlos IT Master M VP 8 70\n",
+ "8 Ana HR Master F VP 8 70"
+ ]
+ },
+ "execution_count": 19,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "low = data.sort_values(by='Salary', ascending=True)\n",
+ "low"
]
},
{
@@ -310,11 +531,67 @@
},
{
"cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "# your code here"
+ "execution_count": 22,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Name | \n",
+ " Department | \n",
+ " Education | \n",
+ " Gender | \n",
+ " Title | \n",
+ " Years | \n",
+ " Salary | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 2 | \n",
+ " David | \n",
+ " HR | \n",
+ " Master | \n",
+ " M | \n",
+ " analyst | \n",
+ " 2 | \n",
+ " 30 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Name Department Education Gender Title Years Salary\n",
+ "2 David HR Master M analyst 2 30"
+ ]
+ },
+ "execution_count": 22,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "David = data[data['Name']=='David']\n",
+ "David"
]
},
{
@@ -326,11 +603,131 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 27,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "2 30\n",
+ "Name: Salary, dtype: int64"
+ ]
+ },
+ "execution_count": 27,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
- "# your code here"
+ "David['Salary']"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Name | \n",
+ " Salary | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 2 | \n",
+ " David | \n",
+ " 30 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Name Salary\n",
+ "2 David 30"
+ ]
+ },
+ "execution_count": 28,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "data.loc[data['Name'] == 'David', ['Name', 'Salary']]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 30,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Name | \n",
+ " Salary | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 2 | \n",
+ " David | \n",
+ " 30 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Name Salary\n",
+ "2 David 30"
+ ]
+ },
+ "execution_count": 30,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "data[data['Name']=='David'][['Name','Salary']]"
]
},
{
@@ -342,11 +739,88 @@
},
{
"cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "# your code here"
+ "execution_count": 31,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Name | \n",
+ " Department | \n",
+ " Education | \n",
+ " Gender | \n",
+ " Title | \n",
+ " Years | \n",
+ " Salary | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 4 | \n",
+ " Samuel | \n",
+ " Sales | \n",
+ " Master | \n",
+ " M | \n",
+ " associate | \n",
+ " 3 | \n",
+ " 55 | \n",
+ "
\n",
+ " \n",
+ " | 5 | \n",
+ " Eva | \n",
+ " Sales | \n",
+ " Bachelor | \n",
+ " F | \n",
+ " associate | \n",
+ " 2 | \n",
+ " 55 | \n",
+ "
\n",
+ " \n",
+ " | 7 | \n",
+ " Pedro | \n",
+ " IT | \n",
+ " Phd | \n",
+ " M | \n",
+ " associate | \n",
+ " 7 | \n",
+ " 60 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Name Department Education Gender Title Years Salary\n",
+ "4 Samuel Sales Master M associate 3 55\n",
+ "5 Eva Sales Bachelor F associate 2 55\n",
+ "7 Pedro IT Phd M associate 7 60"
+ ]
+ },
+ "execution_count": 31,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "data.loc[data['Title']=='associate']"
]
},
{
@@ -359,22 +833,237 @@
},
{
"cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "# Method 1\n",
- "# your code here"
+ "execution_count": 32,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Name | \n",
+ " Department | \n",
+ " Education | \n",
+ " Gender | \n",
+ " Title | \n",
+ " Years | \n",
+ " Salary | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Jose | \n",
+ " IT | \n",
+ " Bachelor | \n",
+ " M | \n",
+ " analyst | \n",
+ " 1 | \n",
+ " 35 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " Maria | \n",
+ " IT | \n",
+ " Master | \n",
+ " F | \n",
+ " analyst | \n",
+ " 2 | \n",
+ " 30 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " David | \n",
+ " HR | \n",
+ " Master | \n",
+ " M | \n",
+ " analyst | \n",
+ " 2 | \n",
+ " 30 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Name Department Education Gender Title Years Salary\n",
+ "0 Jose IT Bachelor M analyst 1 35\n",
+ "1 Maria IT Master F analyst 2 30\n",
+ "2 David HR Master M analyst 2 30"
+ ]
+ },
+ "execution_count": 32,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "data.head(3)"
]
},
{
"cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "# Method 2\n",
- "# your code here"
+ "execution_count": 41,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Name | \n",
+ " Department | \n",
+ " Education | \n",
+ " Gender | \n",
+ " Title | \n",
+ " Years | \n",
+ " Salary | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Jose | \n",
+ " IT | \n",
+ " Bachelor | \n",
+ " M | \n",
+ " analyst | \n",
+ " 1 | \n",
+ " 35 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " Maria | \n",
+ " IT | \n",
+ " Master | \n",
+ " F | \n",
+ " analyst | \n",
+ " 2 | \n",
+ " 30 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " David | \n",
+ " HR | \n",
+ " Master | \n",
+ " M | \n",
+ " analyst | \n",
+ " 2 | \n",
+ " 30 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Name Department Education Gender Title Years Salary\n",
+ "0 Jose IT Bachelor M analyst 1 35\n",
+ "1 Maria IT Master F analyst 2 30\n",
+ "2 David HR Master M analyst 2 30"
+ ]
+ },
+ "execution_count": 41,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "data[:3]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 42,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Name | \n",
+ " Department | \n",
+ " Education | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " Jose | \n",
+ " IT | \n",
+ " Bachelor | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " Maria | \n",
+ " IT | \n",
+ " Master | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Name Department Education\n",
+ "0 Jose IT Bachelor\n",
+ "1 Maria IT Master"
+ ]
+ },
+ "execution_count": 42,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "data.iloc[:2, :3]"
]
},
{
@@ -386,11 +1075,21 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 47,
"metadata": {},
- "outputs": [],
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " Name Department Education Gender Title Years Salary\n",
+ "7 Pedro IT Phd M associate 7 60\n"
+ ]
+ }
+ ],
"source": [
- "# your code here"
+ "associate_55 = data.loc[(data['Title'] == 'associate') & (data['Salary']>55)]\n",
+ "print(associate_55)"
]
},
{
@@ -402,11 +1101,162 @@
},
{
"cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "# your code here"
+ "execution_count": 67,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "C:\\Users\\nunoc\\AppData\\Local\\Temp\\ipykernel_10176\\364925444.py:8: FutureWarning: The default value of numeric_only in DataFrameGroupBy.mean is deprecated. In a future version, numeric_only will default to False. Either specify numeric_only or select only columns which should be valid for the function.\n",
+ " Years = data.groupby('Grouped Years').mean()\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Salary | \n",
+ "
\n",
+ " \n",
+ " | Grouped Years | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0-2 | \n",
+ " 37.500000 | \n",
+ "
\n",
+ " \n",
+ " | 2-4 | \n",
+ " 45.000000 | \n",
+ "
\n",
+ " \n",
+ " | 4-6 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ " | 6-8 | \n",
+ " 66.666667 | \n",
+ "
\n",
+ " \n",
+ " | 8-10 | \n",
+ " NaN | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Salary\n",
+ "Grouped Years \n",
+ "0-2 37.500000\n",
+ "2-4 45.000000\n",
+ "4-6 NaN\n",
+ "6-8 66.666667\n",
+ "8-10 NaN"
+ ]
+ },
+ "execution_count": 67,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "#define years for grouping\n",
+ "\n",
+ "bins = [0,2,4,6,8,10]\n",
+ "bin_labels = ['0-2','2-4','4-6','6-8','8-10']\n",
+ "\n",
+ "data['Grouped Years'] = pd.cut(data['Years'], bins=bins, labels=bin_labels)\n",
+ "\n",
+ "Years = data.groupby('Grouped Years').mean()\n",
+ "Years.iloc[:, 1:2]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 69,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Grouped Years | \n",
+ " Salary | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " 0-2 | \n",
+ " 37.500000 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " 2-4 | \n",
+ " 45.000000 | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " 6-8 | \n",
+ " 66.666667 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Grouped Years Salary\n",
+ "0 0-2 37.500000\n",
+ "1 2-4 45.000000\n",
+ "2 6-8 66.666667"
+ ]
+ },
+ "execution_count": 69,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "pivot_years = data.pivot_table(index='Grouped Years', values='Salary', aggfunc='mean').reset_index()\n",
+ "pivot_years"
]
},
{
@@ -418,11 +1268,35 @@
},
{
"cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "# your code here"
+ "execution_count": 76,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "C:\\Users\\nunoc\\AppData\\Local\\Temp\\ipykernel_10176\\4179048783.py:1: FutureWarning: The default value of numeric_only in DataFrameGroupBy.mean is deprecated. In a future version, numeric_only will default to False. Either specify numeric_only or select only columns which should be valid for the function.\n",
+ " Title = data.groupby('Title').mean()\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "Title\n",
+ "VP 70.000000\n",
+ "analyst 32.500000\n",
+ "associate 56.666667\n",
+ "Name: Salary, dtype: float64"
+ ]
+ },
+ "execution_count": 76,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "Title = data.groupby('Title').mean()\n",
+ "Title['Salary']"
]
},
{
@@ -434,11 +1308,25 @@
},
{
"cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "# your code here"
+ "execution_count": 83,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ " The q25 is: 35.0\n",
+ " The q50 is: 55.0\n",
+ " The q75 is: 60.0\n"
+ ]
+ }
+ ],
+ "source": [
+ "q_25 = data['Salary'].quantile(0.25)\n",
+ "q_50 = data['Salary'].quantile(0.50)\n",
+ "q_75 = data['Salary'].quantile(0.75)\n",
+ "\n",
+ "print(f' The q25 is: {q_25}\\n The q50 is: {q_50}\\n The q75 is: {q_75}')"
]
},
{
@@ -450,11 +1338,63 @@
},
{
"cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "# your code here"
+ "execution_count": 88,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Gender | \n",
+ " Salary | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " F | \n",
+ " 47.5 | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " M | \n",
+ " 50.0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Gender Salary\n",
+ "0 F 47.5\n",
+ "1 M 50.0"
+ ]
+ },
+ "execution_count": 88,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "salary_gender = data.pivot_table(index='Gender', values='Salary', aggfunc='mean').reset_index()\n",
+ "salary_gender"
]
},
{
@@ -467,11 +1407,131 @@
},
{
"cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "# your code here"
+ "execution_count": 97,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 97,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAzYAAAJGCAYAAACJGhA0AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAtgUlEQVR4nO3dfXScdZ3//1dqw9D0DkRJGoxQsdwGFgGpVLT1JumiclT86q5VhFVZtHhTq1utPbsGD6Zav9S6dmXFo9Bd7WFVlOXsTzFx0Sp20VJFa1dQoVYUYhcspjQ1Tcv8/mCbL7XcdNK06Yc8HufklLnmuuZ6zzkzXPPMNTOpq1ar1QAAABRszEgPAAAAsK+EDQAAUDxhAwAAFE/YAAAAxRM2AABA8YQNAABQPGEDAAAUb+xID/DnHnroodxzzz2ZOHFi6urqRnocAABghFSr1WzZsiXNzc0ZM+bxz8kcdGFzzz33pKWlZaTHAAAADhJ33313nvGMZzzuOgdd2EycODHJw8NPmjRphKeBkTEwMJCurq60t7envr5+pMcBYIQ4HjDa9fb2pqWlZbARHs9BFza73n42adIkYcOoNTAwkIaGhkyaNMmBDGAUczyAh+3NR1R8eQAAAFA8YQMAABRP2AAAAMUTNgAAQPGEDQAAUDxhAwAAFE/YAAAAxRM2AABA8YQNAABQPGEDAAAUT9gAAADFEzYAAEDxhA0AAFA8YQMAABRP2AAAAMUTNgAAQPGEDQAAUDxhAwAAFK+msDnmmGNSV1e3x8+ll16aJKlWq+no6Ehzc3PGjRuXWbNmZf369ftlcAAAgF1qCps1a9bk3nvvHfzp7u5Okrz2ta9NkixZsiRLly7N8uXLs2bNmjQ1NaWtrS1btmwZ/skBAAD+V01h8/SnPz1NTU2DP//xH/+RY489NjNnzky1Ws2yZcuyaNGinH/++Wltbc2KFSvS19eXlStX7q/5AQAAMnaoG27fvj1f+MIXMn/+/NTV1eWuu+5KT09P2tvbB9epVCqZOXNmVq9enUsuueRRb6e/vz/9/f2Dl3t7e5MkAwMDGRgYGOp4ULRdj33PAYDy9fX15Y477hjStg9u68/qdXdm4mG3ZMK4Ss3bH3/88WloaBjSvuFgUMtroSGHzfXXX58HHnggF110UZKkp6cnSdLY2Ljbeo2Njdm4ceNj3s7ixYtz2WWX7bG8q6vLE5FRb9fbPQEo15133pn3vve9+3QbS4a43RVXXJFjjz12n/YNI6mvr2+v1x1y2Hzuc5/Lueeem+bm5t2W19XV7Xa5Wq3useyRFi5cmPnz5w9e7u3tTUtLS9rb2zNp0qShjgdFGxgYSHd3d9ra2lJfXz/S4wCwD/r6+nLOOecMadtf3PvH/N3X/jsff/VJOW7K5Jq3d8aG0u16N9feGFLYbNy4Md/61rfy1a9+dXBZU1NTkofP3EyZMmVw+aZNm/Y4i/NIlUollcqep1br6+u9oGPU8zwAKN/kyZNz1llnDWnbQzben8p/bU/raafntKOPGObJ4OBXy+ugIf0dm6uvvjpHHnlkXv7ylw8umzp1apqamnZ768z27duzatWqzJgxYyi7AQAA2Cs1n7F56KGHcvXVV+fCCy/M2LH/b/O6urrMmzcvnZ2dmTZtWqZNm5bOzs40NDRkzpw5wzo0AADAI9UcNt/61rfym9/8Jm9+85v3uG7BggXZtm1b5s6dm82bN2f69Onp6urKxIkTh2VYAACAR1Nz2LS3t6darT7qdXV1deno6EhHR8e+zgUAALDXhvQZGwAAgIOJsAEAAIonbAAAgOIJGwAAoHjCBgAAKJ6wAQAAiidsAACA4gkbAACgeMIGAAAonrABAACKJ2wAAIDiCRsAAKB4wgYAACiesAEAAIonbAAAgOIJGwAAoHjCBgAAKJ6wAQAAiidsAACA4gkbAACgeMIGAAAonrABAACKJ2wAAIDiCRsAAKB4wgYAACiesAEAAIonbAAAgOIJGwAAoHjCBgAAKJ6wAQAAiidsAACA4gkbAACgeMIGAAAonrABAACKJ2wAAIDiCRsAAKB4wgYAACiesAEAAIonbAAAgOIJGwAAoHjCBgAAKJ6wAQAAiidsAACA4gkbAACgeMIGAAAonrABAACKJ2wAAIDiCRsAAKB4wgYAACiesAEAAIonbAAAgOIJGwAAoHjCBgAAKJ6wAQAAiidsAACA4gkbAACgeMIGAAAonrABAACKJ2wAAIDiCRsAAKB4NYfN7373u7zxjW/MEUcckYaGhpx22mlZu3bt4PXVajUdHR1pbm7OuHHjMmvWrKxfv35YhwYAAHikmsJm8+bNef7zn5/6+vp84xvfyH//93/niiuuyGGHHTa4zpIlS7J06dIsX748a9asSVNTU9ra2rJly5bhnh0AACBJMraWlT/2sY+lpaUlV1999eCyY445ZvC/q9Vqli1blkWLFuX8889PkqxYsSKNjY1ZuXJlLrnkkuGZGgAA4BFqCpsbbrghs2fPzmtf+9qsWrUqRx11VObOnZuLL744SbJhw4b09PSkvb19cJtKpZKZM2dm9erVjxo2/f396e/vH7zc29ubJBkYGMjAwMCQ7hSUbtdj33MA4OByzwPbsrnvwP2/+Rc9f9zt3wPl8Ib6NB827oDuEx5NLa+Fagqbu+66K1deeWXmz5+fD37wg/nhD3+Yd73rXalUKnnTm96Unp6eJEljY+Nu2zU2Nmbjxo2PepuLFy/OZZddtsfyrq6uNDQ01DIePOl0d3eP9AgA/K8/9Ccf+fFTsqNad8D3veBrPz+g+xtbV82i5+zMUysHdLewh76+vr1et6aweeihh3LmmWems7MzSfKc5zwn69evz5VXXpk3velNg+vV1e3+hK9Wq3ss22XhwoWZP3/+4OXe3t60tLSkvb09kyZNqmU8eNIYGBhId3d32traUl9fP9LjAJBk/T292fGjW0Z6jANiR7Uuz5l+Tk5u9lqMkbXr3Vx7o6awmTJlSk466aTdlp144om57rrrkiRNTU1Jkp6enkyZMmVwnU2bNu1xFmeXSqWSSmXPXwfU19d7Qceo53kAcPAYO7aml03FGzt2rGMQI66Wx2BN34r2/Oc/P3fcccduy37xi1/k6KOPTpJMnTo1TU1Nu719Zvv27Vm1alVmzJhRy64AAAD2Wk2/enjPe96TGTNmpLOzM6973evywx/+MFdddVWuuuqqJA+/BW3evHnp7OzMtGnTMm3atHR2dqahoSFz5szZL3cAAACgprB57nOfm6997WtZuHBhPvzhD2fq1KlZtmxZ3vCGNwyus2DBgmzbti1z587N5s2bM3369HR1dWXixInDPjwAAEBSY9gkySte8Yq84hWveMzr6+rq0tHRkY6Ojn2ZCwAAYK/V9BkbAACAg5GwAQAAiidsAACA4gkbAACgeMIGAAAonrABAACKJ2wAAIDiCRsAAKB4wgYAACiesAEAAIonbAAAgOIJGwAAoHjCBgAAKJ6wAQAAiidsAACA4gkbAACgeMIGAAAonrABAACKJ2wAAIDiCRsAAKB4wgYAACiesAEAAIonbAAAgOIJGwAAoHjCBgAAKJ6wAQAAiidsAACA4o0d6QEAAErQv/NPGXPo70Z6jAOmf+efkkwe6TFgrwkbAIC9cM/WjRk/9VMjPcYBc8/W03JGGkd6DNhrwgYAYC80jz86Wze8c6THOGCaX3T0SI8ANRE2AAB7ofKUQ/PQn44a6TEOmMpTDh3pEaAmvjwAAAAonrABAACKJ2wAAIDiCRsAAKB4wgYAACiesAEAAIonbAAAgOIJGwAAoHjCBgAAKJ6wAQAAiidsAACA4gkbAACgeMIGAAAonrABAACKJ2wAAIDiCRsAAKB4wgYAACiesAEAAIonbAAAgOIJGwAAoHjCBgAAKJ6wAQAAiidsAACA4gkbAACgeMIGAAAonrABAACKJ2wAAIDiCRsAAKB4wgYAACheTWHT0dGRurq63X6ampoGr69Wq+no6Ehzc3PGjRuXWbNmZf369cM+NAAAwCPVfMbm5JNPzr333jv4s27dusHrlixZkqVLl2b58uVZs2ZNmpqa0tbWli1btgzr0AAAAI9Uc9iMHTs2TU1Ngz9Pf/rTkzx8tmbZsmVZtGhRzj///LS2tmbFihXp6+vLypUrh31wAACAXcbWusEvf/nLNDc3p1KpZPr06ens7MyznvWsbNiwIT09PWlvbx9ct1KpZObMmVm9enUuueSSR729/v7+9Pf3D17u7e1NkgwMDGRgYKDW8eBJYddj33MA4OCxY8eOkR7hgNqxY4fjECOulsdgTWEzffr0/Mu//EuOO+64/P73v8/ll1+eGTNmZP369enp6UmSNDY27rZNY2NjNm7c+Ji3uXjx4lx22WV7LO/q6kpDQ0Mt48GTTnd390iPAMD/uvvBZAi/Ey7WzTffnI0TRnoKRru+vr69XreuWq1Wh7qjrVu35thjj82CBQvyvOc9L89//vNzzz33ZMqUKYPrXHzxxbn77rtz4403PuptPNoZm5aWltx3332ZNGnSUEeDog0MDKS7uzttbW2pr68f6XEASLL+nt686spbRnqMA+b6tz8vJzd7LcbI6u3tzdOe9rT88Y9/fMI22KdfO4wfPz6nnHJKfvnLX+ZVr3pVkqSnp2e3sNm0adMeZ3EeqVKppFKp7LG8vr7eCzpGPc8DgIPH2LGj52xN8vD9dQxipNXyGNynv2PT39+fn//855kyZUqmTp2apqam3d46s3379qxatSozZszYl90AAAA8rpp+9fC+970v5513Xp75zGdm06ZNufzyy9Pb25sLL7wwdXV1mTdvXjo7OzNt2rRMmzYtnZ2daWhoyJw5c/bX/AAAALWFzW9/+9u8/vWvz3333ZenP/3ped7znpdbbrklRx99dJJkwYIF2bZtW+bOnZvNmzdn+vTp6erqysSJE/fL8AAAAEmNYXPttdc+7vV1dXXp6OhIR0fHvswEAABQk336jA0AAMDBQNgAAADFEzYAAEDxhA0AAFA8YQMAABRP2AAAAMUTNgAAQPGEDQAAUDxhAwAAFE/YAAAAxRM2AABA8YQNAABQPGEDAAAUT9gAAADFEzYAAEDxhA0AAFA8YQMAABRP2AAAAMUTNgAAQPGEDQAAUDxhAwAAFE/YAAAAxRM2AABA8YQNAABQPGEDAAAUT9gAAADFEzYAAEDxhA0AAFA8YQMAABRP2AAAAMUTNgAAQPGEDQAAUDxhAwAAFE/YAAAAxRM2AABA8YQNAABQPGEDAAAUT9gAAADFEzYAAEDxhA0AAFA8YQMAABRP2AAAAMUTNgAAQPGEDQAAUDxhAwAAFE/YAAAAxRM2AABA8YQNAABQPGEDAAAUT9gAAADFEzYAAEDxhA0AAFA8YQMAABRP2AAAAMUTNgAAQPGEDQAAUDxhAwAAFE/YAAAAxRM2AABA8YQNAABQvH0Km8WLF6euri7z5s0bXFatVtPR0ZHm5uaMGzcus2bNyvr16/d1TgAAgMc05LBZs2ZNrrrqqpx66qm7LV+yZEmWLl2a5cuXZ82aNWlqakpbW1u2bNmyz8MCAAA8miGFzYMPPpg3vOEN+exnP5vDDz98cHm1Ws2yZcuyaNGinH/++Wltbc2KFSvS19eXlStXDtvQAAAAjzR2KBtdeumlefnLX56XvvSlufzyyweXb9iwIT09PWlvbx9cVqlUMnPmzKxevTqXXHLJHrfV39+f/v7+wcu9vb1JkoGBgQwMDAxlPCjerse+5wDAwWPHjh0jPcIBtWPHDschRlwtj8Gaw+baa6/Nj370o6xZs2aP63p6epIkjY2Nuy1vbGzMxo0bH/X2Fi9enMsuu2yP5V1dXWloaKh1PHhS6e7uHukRAPhfdz+YDPF3wkW6+eabs3HCSE/BaNfX17fX69b07Lz77rvz7ne/O11dXTn00EMfc726urrdLler1T2W7bJw4cLMnz9/8HJvb29aWlrS3t6eSZMm1TIePGkMDAyku7s7bW1tqa+vH+lxAEiy/p7e/N91t4z0GAfMOeeck5ObvRZjZO16N9feqCls1q5dm02bNuWMM84YXLZz585897vfzfLly3PHHXckefjMzZQpUwbX2bRp0x5ncXapVCqpVCp7LK+vr/eCjlHP8wDg4DF27Og5W5M8fH8dgxhptTwGa/rygJe85CVZt25dbrvttsGfM888M294wxty22235VnPelaampp2e/vM9u3bs2rVqsyYMaOWXQEAAOy1mn71MHHixLS2tu62bPz48TniiCMGl8+bNy+dnZ2ZNm1apk2bls7OzjQ0NGTOnDnDNzUAAMAjDPs51QULFmTbtm2ZO3duNm/enOnTp6erqysTJ04c7l0BAAAkGYaw+c53vrPb5bq6unR0dKSjo2NfbxoAAGCvDOkPdAIAABxMhA0AAFA8YQMAABRP2AAAAMUTNgAAQPGEDQAAUDxhAwAAFE/YAAAAxRM2AABA8YQNAABQPGEDAAAUT9gAAADFEzYAAEDxhA0AAFA8YQMAABRP2AAAAMUTNgAAQPGEDQAAUDxhAwAAFE/YAAAAxRM2AABA8YQNAABQPGEDAAAUT9gAAADFEzYAAEDxhA0AAFA8YQMAABRP2AAAAMUTNgAAe+Hw8YekMnZ0vHSqjB2Tw8cfMtJjQE3GjvQAAAAlOOqwcbnpfbOyeev2A7bPO+79Y977lXW54v+ckuOnTD5g+z18/CE56rBxB2x/MByEDQDAXjrqsHEH9AX/jh07kiTHPn18Wo86cGEDJRod51MBAIAnNWEDAAAUT9gAAADFEzYAAEDxhA0AAFA8YQMAABRP2AAAAMUTNgAAQPGEDQAAUDxhAwAAFE/YAAAAxRM2AABA8YQNAABQPGEDAAAUT9gAAADFEzYAAEDxhA0AAFA8YQMAABRP2AAAAMUTNgAAQPGEDQAAUDxhAwAAFE/YAAAAxRM2AABA8YQNAABQPGEDAAAUT9gAAADFEzYAAEDxhA0AAFC8msLmyiuvzKmnnppJkyZl0qRJOfvss/ONb3xj8PpqtZqOjo40Nzdn3LhxmTVrVtavXz/sQwMAADxSTWHzjGc8Ix/96Edz66235tZbb82LX/zivPKVrxyMlyVLlmTp0qVZvnx51qxZk6amprS1tWXLli37ZXgAAICkxrA577zz8rKXvSzHHXdcjjvuuHzkIx/JhAkTcsstt6RarWbZsmVZtGhRzj///LS2tmbFihXp6+vLypUr99f8AAAAGTvUDXfu3Jkvf/nL2bp1a84+++xs2LAhPT09aW9vH1ynUqlk5syZWb16dS655JJHvZ3+/v709/cPXu7t7U2SDAwMZGBgYKjjQdF2PfY9BwDK19fXlzvuuGNI2/7i3j+mv+dX+dlth2T77yfXvP3xxx+fhoaGIe0bDga1vBaqOWzWrVuXs88+O3/6058yYcKEfO1rX8tJJ52U1atXJ0kaGxt3W7+xsTEbN258zNtbvHhxLrvssj2Wd3V1eSIy6nV3d4/0CADsozvvvDPvfe979+k2LlgxtO2uuOKKHHvssfu0bxhJfX19e71uzWFz/PHH57bbbssDDzyQ6667LhdeeGFWrVo1eH1dXd1u61er1T2WPdLChQszf/78wcu9vb1paWlJe3t7Jk2aVOt48KQwMDCQ7u7utLW1pb6+fqTHAWAf9PX15ZxzzhnStg9u6883v7cms1/w3EwYV6l5e2dsKN2ud3PtjZrD5pBDDsmzn/3sJMmZZ56ZNWvW5JOf/GTe//73J0l6enoyZcqUwfU3bdq0x1mcR6pUKqlU9nyi1tfXe0HHqOd5AFC+yZMn56yzzhrStgMDA9nywB/yghnPczxgVKrlcb/Pf8emWq2mv78/U6dOTVNT025vndm+fXtWrVqVGTNm7OtuAAAAHlNNZ2w++MEP5txzz01LS0u2bNmSa6+9Nt/5zndy4403pq6uLvPmzUtnZ2emTZuWadOmpbOzMw0NDZkzZ87+mh8AAKC2sPn973+fCy64IPfee28mT56cU089NTfeeGPa2tqSJAsWLMi2bdsyd+7cbN68OdOnT09XV1cmTpy4X4YHAABIagybz33uc497fV1dXTo6OtLR0bEvMwEAANRknz9jAwAAMNKEDQAAUDxhAwAAFE/YAAAAxRM2AABA8YQNAABQPGEDAAAUT9gAAADFEzYAAEDxhA0AAFA8YQMAABRP2AAAAMUTNgAAQPGEDQAAUDxhAwAAFE/YAAAAxRM2AABA8YQNAABQPGEDAAAUT9gAAADFEzYAAEDxhA0AAFA8YQMAABRP2AAAAMUTNgAAQPGEDQAAUDxhAwAAFE/YAAAAxRM2AABA8YQNAABQPGEDAAAUT9gAAADFEzYAAEDxhA0AAFA8YQMAABRP2AAAAMUTNgAAQPGEDQAAUDxhAwAAFE/YAAAAxRM2AABA8YQNAABQPGEDAAAUT9gAAADFEzYAAEDxhA0AAFA8YQMAABRP2AAAAMUTNgAAQPGEDQAAUDxhAwAAFE/YAAAAxRM2AABA8YQNAABQPGEDAAAUT9gAAADFEzYAAEDxhA0AAFA8YQMAABRP2AAAAMWrKWwWL16c5z73uZk4cWKOPPLIvOpVr8odd9yx2zrVajUdHR1pbm7OuHHjMmvWrKxfv35YhwYAAHikmsJm1apVufTSS3PLLbeku7s7O3bsSHt7e7Zu3Tq4zpIlS7J06dIsX748a9asSVNTU9ra2rJly5ZhHx4AACBJxtay8o033rjb5auvvjpHHnlk1q5dmxe+8IWpVqtZtmxZFi1alPPPPz9JsmLFijQ2NmblypW55JJLhm9yAACA/1VT2Py5P/7xj0mSpz71qUmSDRs2pKenJ+3t7YPrVCqVzJw5M6tXr37UsOnv709/f//g5d7e3iTJwMBABgYG9mU8KNaux77nAMDo5njAaFfLY3/IYVOtVjN//vycc845aW1tTZL09PQkSRobG3dbt7GxMRs3bnzU21m8eHEuu+yyPZZ3dXWloaFhqOPBk0J3d/dIjwDAQcDxgNGqr69vr9cdcti84x3vyE9/+tPcfPPNe1xXV1e32+VqtbrHsl0WLlyY+fPnD17u7e1NS0tL2tvbM2nSpKGOB0UbGBhId3d32traUl9fP9LjADBCHA8Y7Xa9m2tvDCls3vnOd+aGG27Id7/73TzjGc8YXN7U1JTk4TM3U6ZMGVy+adOmPc7i7FKpVFKpVPZYXl9f7wnMqOd5AEDieMDoVcvjvqZvRatWq3nHO96Rr371q7npppsyderU3a6fOnVqmpqadjtdun379qxatSozZsyoZVcAAAB7raYzNpdeemlWrlyZf//3f8/EiRMHP1MzefLkjBs3LnV1dZk3b146Ozszbdq0TJs2LZ2dnWloaMicOXP2yx0AAACoKWyuvPLKJMmsWbN2W3711VfnoosuSpIsWLAg27Zty9y5c7N58+ZMnz49XV1dmThx4rAMDAAA8OdqCptqtfqE69TV1aWjoyMdHR1DnQkAAKAmNX3GBgAA4GAkbAAAgOIJGwAAoHjCBgAAKJ6wAQAAiidsAACA4gkbAACgeMIGAAAonrABAACKJ2wAAIDiCRsAAKB4wgYAACiesAEAAIonbAAAgOIJGwAAoHjCBgAAKJ6wAQAAiidsAACA4gkbAACgeMIGAAAonrABAACKJ2wAAIDiCRsAAKB4wgYAACiesAEAAIonbAAAgOIJGwAAoHjCBgAAKJ6wAQAAiidsAACA4gkbAACgeMIGAAAonrABAACKJ2wAAIDiCRsAAKB4wgYAACiesAEAAIonbAAAgOIJGwAAoHjCBgAAKJ6wAQAAiidsAACA4gkbAACgeMIGAAAonrABAACKJ2wAAIDiCRsAAKB4wgYAACiesAEAAIonbAAAgOIJGwAAoHjCBgAAKJ6wAQAAiidsAACA4gkbAACgeMIGAAAonrABAACKJ2wAAIDiCRsAAKB4wgYAAChezWHz3e9+N+edd16am5tTV1eX66+/frfrq9VqOjo60tzcnHHjxmXWrFlZv379cM0LAACwh5rDZuvWrfmLv/iLLF++/FGvX7JkSZYuXZrly5dnzZo1aWpqSltbW7Zs2bLPwwIAADyasbVucO655+bcc8991Ouq1WqWLVuWRYsW5fzzz0+SrFixIo2NjVm5cmUuueSSfZsWAADgUdQcNo9nw4YN6enpSXt7++CySqWSmTNnZvXq1Y8aNv39/env7x+83NvbmyQZGBjIwMDAcI4Hxdj12PccABjdHA8Y7Wp57A9r2PT09CRJGhsbd1ve2NiYjRs3Puo2ixcvzmWXXbbH8q6urjQ0NAzneFCc7u7ukR4BgIOA4wGjVV9f316vO6xhs0tdXd1ul6vV6h7Ldlm4cGHmz58/eLm3tzctLS1pb2/PpEmT9sd4cNAbGBhId3d32traUl9fP9LjADBCHA8Y7Xa9m2tvDGvYNDU1JXn4zM2UKVMGl2/atGmPszi7VCqVVCqVPZbX19d7AjPqeR4AkDgeMHrV8rgf1r9jM3Xq1DQ1Ne12unT79u1ZtWpVZsyYMZy7AgAAGFTzGZsHH3wwv/rVrwYvb9iwIbfddlue+tSn5pnPfGbmzZuXzs7OTJs2LdOmTUtnZ2caGhoyZ86cYR0cAABgl5rD5tZbb82LXvSiwcu7Ph9z4YUX5pprrsmCBQuybdu2zJ07N5s3b8706dPT1dWViRMnDt/UAAAAj1Bz2MyaNSvVavUxr6+rq0tHR0c6Ojr2ZS4AAIC9NqyfsQEAABgJwgYAACiesAEAAIonbAAAgOIJGwAAoHjCBgAAKF7NX/cM7L2+vr7cfvvtNW/34Lb+rF53Zw5/2q2ZMK4ypH2fcMIJaWhoGNK2AAClETawH91+++0544wzhrz9kn3Y99q1a3P66afvwy0AAJRD2MB+dMIJJ2Tt2rU1b3fHvQ9k/pfXZelrT8nxUw4b8r4BAEYLYQP7UUNDw5DOmozZeH8q39uWE1v/IqcdfcR+mAwA4MnFlwcAAADFEzYAAEDxhA0AAFA8n7GBvfC7B7Zl89btB2x/d/7P1sF/x449cE/Tw8cfkqMOG3fA9gcAMFyEDTyB3z2wLS/+v99J/46HDvi+3/uVdQd0f5WxY3LT+2aJGwCgON6KBk9g89btIxI1I6F/x0MH9MwUAMBwETYAAEDxhA0AAFA8YQMAABRP2AAAAMUTNgAAQPGEDQAAUDxhAwAAFE/YAAAAxRM2AABA8YQNAABQPGEDAAAUT9gAAADFEzYAAEDxhA0AAFA8YQMAABRP2AAAAMUTNgAAQPGEDQAAUDxhAwAAFE/YAAAAxRM2AABA8YQNAABQPGEDAAAUT9gAAADFEzYAAEDxhA0AAFC8sSM9ABzs+nf+KWMO/d1Ij3HA9O/8U5LJIz0GAEBNhA08gXu2bsz4qZ8a6TEOmHu2npYz0jjSYwAA1ETYwBNoHn90tm5450iPccA0v+jokR4BAKBmwgaeQOUph+ahPx010mMcMJWnHDrSIwAA1MyXBwAAAMUTNgAAQPGEDQAAUDxhAwAAFE/YwBM4fPwhqYwdHU+VytgxOXz8ISM9BgBAzXwrGjyBow4bl5veNyubt24/YPu8494/5r1fWZcr/s8pOX7KgftjmYePPyRHHTbugO0PAGC4CBvYC0cdNu6AvuDfsWNHkuTYp49P61EHLmwAAEo1Ot5fAwAAPKkJGwAAoHjCBgAAKJ7P2MB+1NfXl9tvv73m7e6494H09/wqP//ZuDx0/2FD2vcJJ5yQhoaGIW0LAFAaYQP70e23354zzjhjyNvPWTH0fa9duzann3760G8AAKAgwgb2oxNOOCFr166tebsHt/Xn//v2f+XlLzo7E8ZVhrxvAIDRQtjAftTQ0DCksyYDAwPZfN+mnH3Wmamvr98PkwEAPLnsty8P+PSnP52pU6fm0EMPzRlnnJHvfe97+2tXAADAKLdfwubf/u3fMm/evCxatCg//vGP84IXvCDnnntufvOb3+yP3QEAAKPcfgmbpUuX5i1veUve+ta35sQTT8yyZcvS0tKSK6+8cn/sDgAAGOWG/TM227dvz9q1a/OBD3xgt+Xt7e1ZvXr1Huv39/env79/8HJvb2+Shz9jMDAwMNzjQRF2PfY9BwBGN8cDRrtaHvvDHjb33Xdfdu7cmcbGxt2WNzY2pqenZ4/1Fy9enMsuu2yP5V1dXf4GB6Ned3f3SI8AwEHA8YDRqq+vb6/X3W/filZXV7fb5Wq1useyJFm4cGHmz58/eLm3tzctLS1pb2/PpEmT9td4cFAbGBhId3d32trafCsawCjmeMBot+vdXHtj2MPmaU97Wp7ylKfscXZm06ZNe5zFSZJKpZJKZc+/01FfX+8JzKjneQBA4njA6FXL437YvzzgkEMOyRlnnLHHKdPu7u7MmDFjuHcHAACwf96KNn/+/FxwwQU588wzc/bZZ+eqq67Kb37zm7ztbW/bH7sDAABGuf0SNn/1V3+V+++/Px/+8Idz7733prW1NV//+tdz9NFH74/dAQAAo9x++/KAuXPnZu7cufvr5gEAAAbtlz/QCQAAcCAJGwAAoHjCBgAAKJ6wAQAAiidsAACA4gkbAACgeMIGAAAonrABAACKJ2wAAIDijR3pAf5ctVpNkvT29o7wJDByBgYG0tfXl97e3tTX14/0OACMEMcDRrtdTbCrER7PQRc2W7ZsSZK0tLSM8CQAAMDBYMuWLZk8efLjrlNX3Zv8OYAeeuih3HPPPZk4cWLq6upGehwYEb29vWlpacndd9+dSZMmjfQ4AIwQxwNGu2q1mi1btqS5uTljxjz+p2gOujM2Y8aMyTOe8YyRHgMOCpMmTXIgA8DxgFHtic7U7OLLAwAAgOIJGwAAoHjCBg5ClUolH/rQh1KpVEZ6FABGkOMB7L2D7ssDAAAAauWMDQAAUDxhAwAAFE/YAAAAxRM2AABA8YQNAMBB5Jprrslhhx020mNAcYQNDLNqtZqXvvSlmT179h7XffrTn87kyZPzm9/8ZgQmA+BA2LRpUy655JI885nPTKVSSVNTU2bPnp3/+q//GunR4ElN2MAwq6ury9VXX50f/OAH+cxnPjO4fMOGDXn/+9+fT37yk3nmM585rPscGBgY1tsDYOhe85rX5Cc/+UlWrFiRX/ziF7nhhhsya9as/OEPfzhgM2zfvv2A7QsOFsIG9oOWlpZ88pOfzPve975s2LAh1Wo1b3nLW/KSl7wkZ511Vl72spdlwoQJaWxszAUXXJD77rtvcNsbb7wx55xzTg477LAcccQRecUrXpE777xz8Ppf//rXqaury5e+9KXMmjUrhx56aL7whS9k48aNOe+883L44Ydn/PjxOfnkk/P1r399JO4+wKj1wAMP5Oabb87HPvaxvOhFL8rRRx+ds846KwsXLszLX/7yJMnSpUtzyimnZPz48WlpacncuXPz4IMPPuZt3nnnnXnlK1+ZxsbGTJgwIc997nPzrW99a7d1jjnmmFx++eW56KKLMnny5Fx88cV58YtfnHe84x27rXf//fenUqnkpptuGv47DyNM2MB+cuGFF+YlL3lJ/uZv/ibLly/Pz372s3zyk5/MzJkzc9ppp+XWW2/NjTfemN///vd53eteN7jd1q1bM3/+/KxZsyb/+Z//mTFjxuTVr351Hnrood1u//3vf3/e9a535ec//3lmz56dSy+9NP39/fnud7+bdevW5WMf+1gmTJhwoO82wKg2YcKETJgwIddff336+/sfdZ0xY8bkH//xH/Ozn/0sK1asyE033ZQFCxY85m0++OCDednLXpZvfetb+fGPf5zZs2fnvPPO2+NtzR//+MfT2tqatWvX5u///u/z1re+NStXrtxtji9+8Ytpbm7Oi170ouG5w3AQqatWq9WRHgKerDZt2pTW1tbcf//9+cpXvpIf//jH+cEPfpBvfvObg+v89re/TUtLS+64444cd9xxe9zG//zP/+TII4/MunXr0traml//+teZOnVqli1blne/+92D65166ql5zWtekw996EMH5L4B8Oiuu+66XHzxxdm2bVtOP/30zJw5M3/913+dU0899VHX//KXv5y3v/3tg2fvr7nmmsybNy8PPPDAY+7j5JNPztvf/vbBMzLHHHNMnvOc5+RrX/va4Dr9/f1pbm7OlVdeOfgLtOc85zl51ate5VjBk5IzNrAfHXnkkfnbv/3bnHjiiXn1q1+dtWvX5tvf/vbgb/QmTJiQE044IUkG32525513Zs6cOXnWs56VSZMmZerUqUmyx2/mzjzzzN0uv+td78rll1+e5z//+fnQhz6Un/70pwfgHgLw517zmtfknnvuyQ033JDZs2fnO9/5Tk4//fRcc801SZJvf/vbaWtry1FHHZWJEyfmTW96U+6///5s3br1UW9v69atWbBgQU466aQcdthhmTBhQm6//fYnPC5UKpW88Y1vzOc///kkyW233Zaf/OQnueiii4b9PsPBQNjAfjZ27NiMHTs2SfLQQw/lvPPOy2233bbbzy9/+cu88IUvTJKcd955uf/++/PZz342P/jBD/KDH/wgyZ4fBB0/fvxul9/61rfmrrvuygUXXJB169blzDPPzKc+9akDcA8B+HOHHnpo2tra8g//8A9ZvXp1LrroonzoQx/Kxo0b87KXvSytra257rrrsnbt2vzTP/1Tksf+Ipi/+7u/y3XXXZePfOQj+d73vpfbbrstp5xyyhMeF5KHjw3d3d357W9/m89//vN5yUtekqOPPnr47zAcBMaO9AAwmpx++um57rrrcswxxwzGziPdf//9+fnPf57PfOYzecELXpAkufnmm/f69ltaWvK2t70tb3vb27Jw4cJ89rOfzTvf+c5hmx+AoTnppJNy/fXX59Zbb82OHTtyxRVXZMyYh3+//KUvfelxt/3e976Xiy66KK9+9auTPPyZm1//+td7td9TTjklZ555Zj772c9m5cqVfuHFk5ozNnAAXXrppfnDH/6Q17/+9fnhD3+Yu+66K11dXXnzm9+cnTt35vDDD88RRxyRq666Kr/61a9y0003Zf78+Xt12/Pmzcs3v/nNbNiwIT/60Y9y00035cQTT9zP9wiAR7r//vvz4he/OF/4whfy05/+NBs2bMiXv/zlLFmyJK985Stz7LHHZseOHfnUpz6Vu+66K//6r/+af/7nf37c23z2s5+dr371q4NvJZszZ84eXyjzeN761rfmox/9aHbu3DkYR/BkJGzgAGpubs73v//97Ny5M7Nnz05ra2ve/e53Z/LkyRkzZkzGjBmTa6+9NmvXrk1ra2ve85735OMf//he3fbOnTtz6aWX5sQTT8xf/uVf5vjjj8+nP/3p/XyPAHikCRMmZPr06fnEJz6RF77whWltbc3f//3f5+KLL87y5ctz2mmnZenSpfnYxz6W1tbWfPGLX8zixYsf9zY/8YlP5PDDD8+MGTNy3nnnZfbs2Tn99NP3eqbXv/71GTt2bObMmZNDDz10X+8iHLR8KxoAwJPY3XffnWOOOSZr1qypKYigNMIGAOBJaGBgIPfee28+8IEPZOPGjfn+978/0iPBfuWtaAAAT0Lf//73c/TRR2ft2rVP+DkeeDJwxgYAACieMzYAAEDxhA0AAFA8YQMAABRP2AAAAMUTNgAAQPGEDQAAUDxhAwAAFE/YAAAAxfv/AatIqHLkZcOsAAAAAElFTkSuQmCC",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "import matplotlib.pyplot as plt #Not the correct answer \n",
+ "\n",
+ "plt.figure(figsize =(10, 7))\n",
+ "data.boxplot(patch_artist=bool)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 98,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Years | \n",
+ " Salary | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | count | \n",
+ " 9.000000 | \n",
+ " 9.000000 | \n",
+ "
\n",
+ " \n",
+ " | mean | \n",
+ " 4.111111 | \n",
+ " 48.888889 | \n",
+ "
\n",
+ " \n",
+ " | std | \n",
+ " 2.803767 | \n",
+ " 16.541194 | \n",
+ "
\n",
+ " \n",
+ " | min | \n",
+ " 1.000000 | \n",
+ " 30.000000 | \n",
+ "
\n",
+ " \n",
+ " | 25% | \n",
+ " 2.000000 | \n",
+ " 35.000000 | \n",
+ "
\n",
+ " \n",
+ " | 50% | \n",
+ " 3.000000 | \n",
+ " 55.000000 | \n",
+ "
\n",
+ " \n",
+ " | 75% | \n",
+ " 7.000000 | \n",
+ " 60.000000 | \n",
+ "
\n",
+ " \n",
+ " | max | \n",
+ " 8.000000 | \n",
+ " 70.000000 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Years Salary\n",
+ "count 9.000000 9.000000\n",
+ "mean 4.111111 48.888889\n",
+ "std 2.803767 16.541194\n",
+ "min 1.000000 30.000000\n",
+ "25% 2.000000 35.000000\n",
+ "50% 3.000000 55.000000\n",
+ "75% 7.000000 60.000000\n",
+ "max 8.000000 70.000000"
+ ]
+ },
+ "execution_count": 98,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "data.describe()"
]
},
{
@@ -484,11 +1544,95 @@
},
{
"cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": [
- "# your code here"
+ "execution_count": 99,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " Salary | \n",
+ "
\n",
+ " \n",
+ " | Department | \n",
+ " | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | HR | \n",
+ " 40 | \n",
+ "
\n",
+ " \n",
+ " | IT | \n",
+ " 40 | \n",
+ "
\n",
+ " \n",
+ " | Sales | \n",
+ " 0 | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " Salary\n",
+ "Department \n",
+ "HR 40\n",
+ "IT 40\n",
+ "Sales 0"
+ ]
+ },
+ "execution_count": 99,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "result = data.groupby('Department').agg({'Salary': lambda x: x.max() - x.min()})\n",
+ "result "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 101,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "Department\n",
+ "HR 40\n",
+ "IT 40\n",
+ "Sales 0\n",
+ "Name: Salary, dtype: int64"
+ ]
+ },
+ "execution_count": 101,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "result = data.groupby('Department')['Salary'].apply(lambda x: x.max()- x.min())\n",
+ "result"
]
},
{
@@ -799,7 +1943,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.7.2"
+ "version": "3.10.11"
}
},
"nbformat": 4,