Skip to content

Instantly share code, notes, and snippets.

@kcranston
Last active April 10, 2018 17:35
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kcranston/045fe2081c5358921f4dfb0789538b15 to your computer and use it in GitHub Desktop.
Save kcranston/045fe2081c5358921f4dfb0789538b15 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Jupyter notebook and pandas"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This is an introduction to the [Jupyter notebook](http://jupyter.org/) and the [pandas](http://pandas.pydata.org/) data science library. This material is very roughly based on the [Data Carpentry ecology lessons](http://www.datacarpentry.org/lessons/#ecology-workshop). Installed Jupyter and python using [Anaconda](https://www.anaconda.com/download/)."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Read in some csv data from the web (this data is from the [Portal Project](https://figshare.com/articles/Portal_Project_Teaching_Database/1314459), an ecological species sampling project)."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"data_url = \"https://ndownloader.figshare.com/files/2292172\"\n",
"survey_df = pd.read_csv(data_url,index_col=\"record_id\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Summary methods\n",
"\n",
"Exploring the contents of a data frame"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>month</th>\n",
" <th>day</th>\n",
" <th>year</th>\n",
" <th>plot_id</th>\n",
" <th>species_id</th>\n",
" <th>sex</th>\n",
" <th>hindfoot_length</th>\n",
" <th>weight</th>\n",
" </tr>\n",
" <tr>\n",
" <th>record_id</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>7</td>\n",
" <td>16</td>\n",
" <td>1977</td>\n",
" <td>2</td>\n",
" <td>NL</td>\n",
" <td>M</td>\n",
" <td>32.0</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>7</td>\n",
" <td>16</td>\n",
" <td>1977</td>\n",
" <td>3</td>\n",
" <td>NL</td>\n",
" <td>M</td>\n",
" <td>33.0</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>7</td>\n",
" <td>16</td>\n",
" <td>1977</td>\n",
" <td>2</td>\n",
" <td>DM</td>\n",
" <td>F</td>\n",
" <td>37.0</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>7</td>\n",
" <td>16</td>\n",
" <td>1977</td>\n",
" <td>7</td>\n",
" <td>DM</td>\n",
" <td>M</td>\n",
" <td>36.0</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>7</td>\n",
" <td>16</td>\n",
" <td>1977</td>\n",
" <td>3</td>\n",
" <td>DM</td>\n",
" <td>M</td>\n",
" <td>35.0</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" month day year plot_id species_id sex hindfoot_length weight\n",
"record_id \n",
"1 7 16 1977 2 NL M 32.0 NaN\n",
"2 7 16 1977 3 NL M 33.0 NaN\n",
"3 7 16 1977 2 DM F 37.0 NaN\n",
"4 7 16 1977 7 DM M 36.0 NaN\n",
"5 7 16 1977 3 DM M 35.0 NaN"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"survey_df.head()"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>month</th>\n",
" <th>day</th>\n",
" <th>year</th>\n",
" <th>plot_id</th>\n",
" <th>hindfoot_length</th>\n",
" <th>weight</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>35549.000000</td>\n",
" <td>35549.000000</td>\n",
" <td>35549.000000</td>\n",
" <td>35549.000000</td>\n",
" <td>31438.000000</td>\n",
" <td>32283.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>6.474022</td>\n",
" <td>16.105966</td>\n",
" <td>1990.475231</td>\n",
" <td>11.397001</td>\n",
" <td>29.287932</td>\n",
" <td>42.672428</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>3.396583</td>\n",
" <td>8.256691</td>\n",
" <td>7.493355</td>\n",
" <td>6.799406</td>\n",
" <td>9.564759</td>\n",
" <td>36.631259</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>1.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1977.000000</td>\n",
" <td>1.000000</td>\n",
" <td>2.000000</td>\n",
" <td>4.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>4.000000</td>\n",
" <td>9.000000</td>\n",
" <td>1984.000000</td>\n",
" <td>5.000000</td>\n",
" <td>21.000000</td>\n",
" <td>20.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>6.000000</td>\n",
" <td>16.000000</td>\n",
" <td>1990.000000</td>\n",
" <td>11.000000</td>\n",
" <td>32.000000</td>\n",
" <td>37.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>9.000000</td>\n",
" <td>23.000000</td>\n",
" <td>1997.000000</td>\n",
" <td>17.000000</td>\n",
" <td>36.000000</td>\n",
" <td>48.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>12.000000</td>\n",
" <td>31.000000</td>\n",
" <td>2002.000000</td>\n",
" <td>24.000000</td>\n",
" <td>70.000000</td>\n",
" <td>280.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" month day year plot_id \\\n",
"count 35549.000000 35549.000000 35549.000000 35549.000000 \n",
"mean 6.474022 16.105966 1990.475231 11.397001 \n",
"std 3.396583 8.256691 7.493355 6.799406 \n",
"min 1.000000 1.000000 1977.000000 1.000000 \n",
"25% 4.000000 9.000000 1984.000000 5.000000 \n",
"50% 6.000000 16.000000 1990.000000 11.000000 \n",
"75% 9.000000 23.000000 1997.000000 17.000000 \n",
"max 12.000000 31.000000 2002.000000 24.000000 \n",
"\n",
" hindfoot_length weight \n",
"count 31438.000000 32283.000000 \n",
"mean 29.287932 42.672428 \n",
"std 9.564759 36.631259 \n",
"min 2.000000 4.000000 \n",
"25% 21.000000 20.000000 \n",
"50% 32.000000 37.000000 \n",
"75% 36.000000 48.000000 \n",
"max 70.000000 280.000000 "
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"survey_df.describe()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<class 'pandas.core.frame.DataFrame'>\n",
"Int64Index: 35549 entries, 1 to 35549\n",
"Data columns (total 8 columns):\n",
"month 35549 non-null int64\n",
"day 35549 non-null int64\n",
"year 35549 non-null int64\n",
"plot_id 35549 non-null int64\n",
"species_id 34786 non-null object\n",
"sex 33038 non-null object\n",
"hindfoot_length 31438 non-null float64\n",
"weight 32283 non-null float64\n",
"dtypes: float64(2), int64(4), object(2)\n",
"memory usage: 2.4+ MB\n"
]
}
],
"source": [
"survey_df.info()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Subsetting \n",
"\n",
"Extract parts of data frame. For example, column by label:"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"weights = survey_df[\"weight\"]"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"35549"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(weights)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"42.672428212991356"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"survey_df['weight'].mean()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Select multiple columns"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<class 'pandas.core.frame.DataFrame'>\n",
"Int64Index: 35549 entries, 1 to 35549\n",
"Data columns (total 2 columns):\n",
"species_id 34786 non-null object\n",
"weight 32283 non-null float64\n",
"dtypes: float64(1), object(1)\n",
"memory usage: 833.2+ KB\n"
]
}
],
"source": [
"species_weight = survey_df[[\"species_id\",\"weight\"]]\n",
"species_weight.info()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Filter based on some criterion, e.g. only samples from 2002:"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>month</th>\n",
" <th>day</th>\n",
" <th>year</th>\n",
" <th>plot_id</th>\n",
" <th>species_id</th>\n",
" <th>sex</th>\n",
" <th>hindfoot_length</th>\n",
" <th>weight</th>\n",
" </tr>\n",
" <tr>\n",
" <th>record_id</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>33321</th>\n",
" <td>1</td>\n",
" <td>12</td>\n",
" <td>2002</td>\n",
" <td>1</td>\n",
" <td>DM</td>\n",
" <td>M</td>\n",
" <td>38.0</td>\n",
" <td>44.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33322</th>\n",
" <td>1</td>\n",
" <td>12</td>\n",
" <td>2002</td>\n",
" <td>1</td>\n",
" <td>DO</td>\n",
" <td>M</td>\n",
" <td>37.0</td>\n",
" <td>58.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33323</th>\n",
" <td>1</td>\n",
" <td>12</td>\n",
" <td>2002</td>\n",
" <td>1</td>\n",
" <td>PB</td>\n",
" <td>M</td>\n",
" <td>28.0</td>\n",
" <td>45.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33324</th>\n",
" <td>1</td>\n",
" <td>12</td>\n",
" <td>2002</td>\n",
" <td>1</td>\n",
" <td>AB</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>33325</th>\n",
" <td>1</td>\n",
" <td>12</td>\n",
" <td>2002</td>\n",
" <td>1</td>\n",
" <td>DO</td>\n",
" <td>M</td>\n",
" <td>35.0</td>\n",
" <td>29.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" month day year plot_id species_id sex hindfoot_length weight\n",
"record_id \n",
"33321 1 12 2002 1 DM M 38.0 44.0\n",
"33322 1 12 2002 1 DO M 37.0 58.0\n",
"33323 1 12 2002 1 PB M 28.0 45.0\n",
"33324 1 12 2002 1 AB NaN NaN NaN\n",
"33325 1 12 2002 1 DO M 35.0 29.0"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"survey_df[survey_df.year == 2002].head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Summarizing data over subsets\n",
"\n",
"The `groupby` method allows us to group values before performing some action. "
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>month</th>\n",
" <th>day</th>\n",
" <th>year</th>\n",
" <th>plot_id</th>\n",
" <th>hindfoot_length</th>\n",
" <th>weight</th>\n",
" </tr>\n",
" <tr>\n",
" <th>species_id</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>AB</th>\n",
" <td>4.993399</td>\n",
" <td>15.788779</td>\n",
" <td>1987.171617</td>\n",
" <td>13.973597</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>AH</th>\n",
" <td>6.565217</td>\n",
" <td>16.427918</td>\n",
" <td>1993.352403</td>\n",
" <td>14.780320</td>\n",
" <td>33.000000</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>AS</th>\n",
" <td>4.500000</td>\n",
" <td>15.500000</td>\n",
" <td>1992.000000</td>\n",
" <td>15.500000</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>BA</th>\n",
" <td>7.021739</td>\n",
" <td>12.826087</td>\n",
" <td>1990.760870</td>\n",
" <td>10.521739</td>\n",
" <td>13.000000</td>\n",
" <td>8.600000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>CB</th>\n",
" <td>8.060000</td>\n",
" <td>18.920000</td>\n",
" <td>1990.720000</td>\n",
" <td>13.540000</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>CM</th>\n",
" <td>8.846154</td>\n",
" <td>10.000000</td>\n",
" <td>1980.538462</td>\n",
" <td>11.230769</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>CQ</th>\n",
" <td>6.375000</td>\n",
" <td>15.625000</td>\n",
" <td>1981.750000</td>\n",
" <td>16.250000</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>CS</th>\n",
" <td>4.000000</td>\n",
" <td>1.000000</td>\n",
" <td>1989.000000</td>\n",
" <td>11.000000</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>CT</th>\n",
" <td>12.000000</td>\n",
" <td>23.000000</td>\n",
" <td>1998.000000</td>\n",
" <td>6.000000</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>CU</th>\n",
" <td>11.000000</td>\n",
" <td>13.000000</td>\n",
" <td>1993.000000</td>\n",
" <td>7.000000</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>CV</th>\n",
" <td>8.000000</td>\n",
" <td>26.000000</td>\n",
" <td>1987.000000</td>\n",
" <td>15.000000</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>DM</th>\n",
" <td>6.338901</td>\n",
" <td>16.227067</td>\n",
" <td>1989.050680</td>\n",
" <td>10.901850</td>\n",
" <td>35.982351</td>\n",
" <td>43.157864</td>\n",
" </tr>\n",
" <tr>\n",
" <th>DO</th>\n",
" <td>6.106376</td>\n",
" <td>15.822266</td>\n",
" <td>1990.625372</td>\n",
" <td>8.227618</td>\n",
" <td>35.607551</td>\n",
" <td>48.870523</td>\n",
" </tr>\n",
" <tr>\n",
" <th>DS</th>\n",
" <td>6.371805</td>\n",
" <td>15.516773</td>\n",
" <td>1981.919728</td>\n",
" <td>10.654153</td>\n",
" <td>49.948874</td>\n",
" <td>120.130546</td>\n",
" </tr>\n",
" <tr>\n",
" <th>DX</th>\n",
" <td>6.550000</td>\n",
" <td>15.975000</td>\n",
" <td>1993.725000</td>\n",
" <td>10.475000</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>NL</th>\n",
" <td>6.951278</td>\n",
" <td>16.611022</td>\n",
" <td>1987.520767</td>\n",
" <td>11.871406</td>\n",
" <td>32.294227</td>\n",
" <td>159.245660</td>\n",
" </tr>\n",
" <tr>\n",
" <th>OL</th>\n",
" <td>6.456262</td>\n",
" <td>15.781312</td>\n",
" <td>1985.588469</td>\n",
" <td>9.983101</td>\n",
" <td>20.532609</td>\n",
" <td>31.575258</td>\n",
" </tr>\n",
" <tr>\n",
" <th>OT</th>\n",
" <td>7.223655</td>\n",
" <td>16.415740</td>\n",
" <td>1991.945754</td>\n",
" <td>10.991107</td>\n",
" <td>20.267415</td>\n",
" <td>24.230556</td>\n",
" </tr>\n",
" <tr>\n",
" <th>OX</th>\n",
" <td>7.250000</td>\n",
" <td>15.833333</td>\n",
" <td>1980.416667</td>\n",
" <td>12.250000</td>\n",
" <td>19.125000</td>\n",
" <td>21.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>PB</th>\n",
" <td>7.289865</td>\n",
" <td>16.059841</td>\n",
" <td>2000.146662</td>\n",
" <td>12.845036</td>\n",
" <td>26.115922</td>\n",
" <td>31.735943</td>\n",
" </tr>\n",
" <tr>\n",
" <th>PC</th>\n",
" <td>4.743590</td>\n",
" <td>14.692308</td>\n",
" <td>1989.923077</td>\n",
" <td>12.794872</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>PE</th>\n",
" <td>6.384911</td>\n",
" <td>16.020785</td>\n",
" <td>1989.040031</td>\n",
" <td>13.036952</td>\n",
" <td>20.195545</td>\n",
" <td>21.586508</td>\n",
" </tr>\n",
" <tr>\n",
" <th>PF</th>\n",
" <td>6.569818</td>\n",
" <td>16.887289</td>\n",
" <td>1990.500939</td>\n",
" <td>13.121478</td>\n",
" <td>15.583389</td>\n",
" <td>7.923127</td>\n",
" </tr>\n",
" <tr>\n",
" <th>PG</th>\n",
" <td>2.875000</td>\n",
" <td>22.625000</td>\n",
" <td>1989.875000</td>\n",
" <td>14.875000</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>PH</th>\n",
" <td>6.750000</td>\n",
" <td>16.343750</td>\n",
" <td>1989.093750</td>\n",
" <td>15.906250</td>\n",
" <td>25.774194</td>\n",
" <td>31.064516</td>\n",
" </tr>\n",
" <tr>\n",
" <th>PI</th>\n",
" <td>7.555556</td>\n",
" <td>16.888889</td>\n",
" <td>1999.888889</td>\n",
" <td>6.666667</td>\n",
" <td>22.222222</td>\n",
" <td>19.250000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>PL</th>\n",
" <td>6.111111</td>\n",
" <td>18.527778</td>\n",
" <td>1996.944444</td>\n",
" <td>14.666667</td>\n",
" <td>20.027778</td>\n",
" <td>19.138889</td>\n",
" </tr>\n",
" <tr>\n",
" <th>PM</th>\n",
" <td>6.337041</td>\n",
" <td>17.836485</td>\n",
" <td>1991.745273</td>\n",
" <td>14.045606</td>\n",
" <td>20.426210</td>\n",
" <td>21.364155</td>\n",
" </tr>\n",
" <tr>\n",
" <th>PP</th>\n",
" <td>6.886327</td>\n",
" <td>16.342619</td>\n",
" <td>1996.033942</td>\n",
" <td>10.200128</td>\n",
" <td>21.751569</td>\n",
" <td>17.173942</td>\n",
" </tr>\n",
" <tr>\n",
" <th>PU</th>\n",
" <td>5.200000</td>\n",
" <td>9.400000</td>\n",
" <td>1990.200000</td>\n",
" <td>21.400000</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>PX</th>\n",
" <td>5.666667</td>\n",
" <td>12.833333</td>\n",
" <td>1997.333333</td>\n",
" <td>11.000000</td>\n",
" <td>19.500000</td>\n",
" <td>19.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>RF</th>\n",
" <td>5.293333</td>\n",
" <td>10.960000</td>\n",
" <td>1988.933333</td>\n",
" <td>12.760000</td>\n",
" <td>17.520548</td>\n",
" <td>13.386667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>RM</th>\n",
" <td>5.532388</td>\n",
" <td>15.132618</td>\n",
" <td>1989.526639</td>\n",
" <td>13.740897</td>\n",
" <td>16.441851</td>\n",
" <td>10.585010</td>\n",
" </tr>\n",
" <tr>\n",
" <th>RO</th>\n",
" <td>7.000000</td>\n",
" <td>17.750000</td>\n",
" <td>2000.625000</td>\n",
" <td>11.625000</td>\n",
" <td>15.375000</td>\n",
" <td>10.250000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>RX</th>\n",
" <td>3.000000</td>\n",
" <td>19.500000</td>\n",
" <td>1996.000000</td>\n",
" <td>7.000000</td>\n",
" <td>18.500000</td>\n",
" <td>15.500000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>SA</th>\n",
" <td>5.786667</td>\n",
" <td>15.440000</td>\n",
" <td>1984.066667</td>\n",
" <td>13.693333</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>SC</th>\n",
" <td>5.000000</td>\n",
" <td>9.000000</td>\n",
" <td>1989.000000</td>\n",
" <td>19.000000</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>SF</th>\n",
" <td>6.139535</td>\n",
" <td>17.604651</td>\n",
" <td>1992.348837</td>\n",
" <td>14.813953</td>\n",
" <td>26.707317</td>\n",
" <td>58.878049</td>\n",
" </tr>\n",
" <tr>\n",
" <th>SH</th>\n",
" <td>5.959184</td>\n",
" <td>12.755102</td>\n",
" <td>1991.428571</td>\n",
" <td>11.231293</td>\n",
" <td>28.549618</td>\n",
" <td>73.148936</td>\n",
" </tr>\n",
" <tr>\n",
" <th>SO</th>\n",
" <td>6.697674</td>\n",
" <td>12.837209</td>\n",
" <td>1992.372093</td>\n",
" <td>7.488372</td>\n",
" <td>25.658537</td>\n",
" <td>55.414634</td>\n",
" </tr>\n",
" <tr>\n",
" <th>SS</th>\n",
" <td>6.552419</td>\n",
" <td>15.262097</td>\n",
" <td>1989.391129</td>\n",
" <td>10.407258</td>\n",
" <td>NaN</td>\n",
" <td>93.500000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>ST</th>\n",
" <td>3.000000</td>\n",
" <td>17.000000</td>\n",
" <td>1993.000000</td>\n",
" <td>20.000000</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>SU</th>\n",
" <td>5.200000</td>\n",
" <td>25.800000</td>\n",
" <td>1994.800000</td>\n",
" <td>18.800000</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>UL</th>\n",
" <td>5.000000</td>\n",
" <td>13.500000</td>\n",
" <td>1992.000000</td>\n",
" <td>10.000000</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>UP</th>\n",
" <td>5.000000</td>\n",
" <td>17.125000</td>\n",
" <td>1988.250000</td>\n",
" <td>10.625000</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>UR</th>\n",
" <td>6.200000</td>\n",
" <td>21.100000</td>\n",
" <td>1993.000000</td>\n",
" <td>8.500000</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>US</th>\n",
" <td>12.000000</td>\n",
" <td>31.000000</td>\n",
" <td>2002.000000</td>\n",
" <td>12.500000</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>ZL</th>\n",
" <td>3.500000</td>\n",
" <td>18.500000</td>\n",
" <td>1988.000000</td>\n",
" <td>20.500000</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" month day year plot_id hindfoot_length \\\n",
"species_id \n",
"AB 4.993399 15.788779 1987.171617 13.973597 NaN \n",
"AH 6.565217 16.427918 1993.352403 14.780320 33.000000 \n",
"AS 4.500000 15.500000 1992.000000 15.500000 NaN \n",
"BA 7.021739 12.826087 1990.760870 10.521739 13.000000 \n",
"CB 8.060000 18.920000 1990.720000 13.540000 NaN \n",
"CM 8.846154 10.000000 1980.538462 11.230769 NaN \n",
"CQ 6.375000 15.625000 1981.750000 16.250000 NaN \n",
"CS 4.000000 1.000000 1989.000000 11.000000 NaN \n",
"CT 12.000000 23.000000 1998.000000 6.000000 NaN \n",
"CU 11.000000 13.000000 1993.000000 7.000000 NaN \n",
"CV 8.000000 26.000000 1987.000000 15.000000 NaN \n",
"DM 6.338901 16.227067 1989.050680 10.901850 35.982351 \n",
"DO 6.106376 15.822266 1990.625372 8.227618 35.607551 \n",
"DS 6.371805 15.516773 1981.919728 10.654153 49.948874 \n",
"DX 6.550000 15.975000 1993.725000 10.475000 NaN \n",
"NL 6.951278 16.611022 1987.520767 11.871406 32.294227 \n",
"OL 6.456262 15.781312 1985.588469 9.983101 20.532609 \n",
"OT 7.223655 16.415740 1991.945754 10.991107 20.267415 \n",
"OX 7.250000 15.833333 1980.416667 12.250000 19.125000 \n",
"PB 7.289865 16.059841 2000.146662 12.845036 26.115922 \n",
"PC 4.743590 14.692308 1989.923077 12.794872 NaN \n",
"PE 6.384911 16.020785 1989.040031 13.036952 20.195545 \n",
"PF 6.569818 16.887289 1990.500939 13.121478 15.583389 \n",
"PG 2.875000 22.625000 1989.875000 14.875000 NaN \n",
"PH 6.750000 16.343750 1989.093750 15.906250 25.774194 \n",
"PI 7.555556 16.888889 1999.888889 6.666667 22.222222 \n",
"PL 6.111111 18.527778 1996.944444 14.666667 20.027778 \n",
"PM 6.337041 17.836485 1991.745273 14.045606 20.426210 \n",
"PP 6.886327 16.342619 1996.033942 10.200128 21.751569 \n",
"PU 5.200000 9.400000 1990.200000 21.400000 NaN \n",
"PX 5.666667 12.833333 1997.333333 11.000000 19.500000 \n",
"RF 5.293333 10.960000 1988.933333 12.760000 17.520548 \n",
"RM 5.532388 15.132618 1989.526639 13.740897 16.441851 \n",
"RO 7.000000 17.750000 2000.625000 11.625000 15.375000 \n",
"RX 3.000000 19.500000 1996.000000 7.000000 18.500000 \n",
"SA 5.786667 15.440000 1984.066667 13.693333 NaN \n",
"SC 5.000000 9.000000 1989.000000 19.000000 NaN \n",
"SF 6.139535 17.604651 1992.348837 14.813953 26.707317 \n",
"SH 5.959184 12.755102 1991.428571 11.231293 28.549618 \n",
"SO 6.697674 12.837209 1992.372093 7.488372 25.658537 \n",
"SS 6.552419 15.262097 1989.391129 10.407258 NaN \n",
"ST 3.000000 17.000000 1993.000000 20.000000 NaN \n",
"SU 5.200000 25.800000 1994.800000 18.800000 NaN \n",
"UL 5.000000 13.500000 1992.000000 10.000000 NaN \n",
"UP 5.000000 17.125000 1988.250000 10.625000 NaN \n",
"UR 6.200000 21.100000 1993.000000 8.500000 NaN \n",
"US 12.000000 31.000000 2002.000000 12.500000 NaN \n",
"ZL 3.500000 18.500000 1988.000000 20.500000 NaN \n",
"\n",
" weight \n",
"species_id \n",
"AB NaN \n",
"AH NaN \n",
"AS NaN \n",
"BA 8.600000 \n",
"CB NaN \n",
"CM NaN \n",
"CQ NaN \n",
"CS NaN \n",
"CT NaN \n",
"CU NaN \n",
"CV NaN \n",
"DM 43.157864 \n",
"DO 48.870523 \n",
"DS 120.130546 \n",
"DX NaN \n",
"NL 159.245660 \n",
"OL 31.575258 \n",
"OT 24.230556 \n",
"OX 21.000000 \n",
"PB 31.735943 \n",
"PC NaN \n",
"PE 21.586508 \n",
"PF 7.923127 \n",
"PG NaN \n",
"PH 31.064516 \n",
"PI 19.250000 \n",
"PL 19.138889 \n",
"PM 21.364155 \n",
"PP 17.173942 \n",
"PU NaN \n",
"PX 19.000000 \n",
"RF 13.386667 \n",
"RM 10.585010 \n",
"RO 10.250000 \n",
"RX 15.500000 \n",
"SA NaN \n",
"SC NaN \n",
"SF 58.878049 \n",
"SH 73.148936 \n",
"SO 55.414634 \n",
"SS 93.500000 \n",
"ST NaN \n",
"SU NaN \n",
"UL NaN \n",
"UP NaN \n",
"UR NaN \n",
"US NaN \n",
"ZL NaN "
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"survey_df.groupby('species_id').mean()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We dont' get a mean value where there is a 'NaN' value present. Let's clean up our dataframe by removing the NaN values"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [],
"source": [
"survey_df_cleaned=survey_df.dropna()"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<class 'pandas.core.frame.DataFrame'>\n",
"Int64Index: 30676 entries, 63 to 35548\n",
"Data columns (total 8 columns):\n",
"month 30676 non-null int64\n",
"day 30676 non-null int64\n",
"year 30676 non-null int64\n",
"plot_id 30676 non-null int64\n",
"species_id 30676 non-null object\n",
"sex 30676 non-null object\n",
"hindfoot_length 30676 non-null float64\n",
"weight 30676 non-null float64\n",
"dtypes: float64(2), int64(4), object(2)\n",
"memory usage: 2.1+ MB\n"
]
}
],
"source": [
"survey_df_cleaned.info()"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>month</th>\n",
" <th>day</th>\n",
" <th>year</th>\n",
" <th>plot_id</th>\n",
" <th>hindfoot_length</th>\n",
" <th>weight</th>\n",
" </tr>\n",
" <tr>\n",
" <th>species_id</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>BA</th>\n",
" <td>6.955556</td>\n",
" <td>12.866667</td>\n",
" <td>1990.755556</td>\n",
" <td>10.688889</td>\n",
" <td>13.000000</td>\n",
" <td>8.600000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>DM</th>\n",
" <td>6.433227</td>\n",
" <td>16.405264</td>\n",
" <td>1989.484630</td>\n",
" <td>10.824818</td>\n",
" <td>35.990542</td>\n",
" <td>43.136013</td>\n",
" </tr>\n",
" <tr>\n",
" <th>DO</th>\n",
" <td>6.150896</td>\n",
" <td>15.970609</td>\n",
" <td>1990.902151</td>\n",
" <td>8.143728</td>\n",
" <td>35.587814</td>\n",
" <td>48.867384</td>\n",
" </tr>\n",
" <tr>\n",
" <th>DS</th>\n",
" <td>6.503707</td>\n",
" <td>15.617894</td>\n",
" <td>1982.169056</td>\n",
" <td>10.512605</td>\n",
" <td>49.992585</td>\n",
" <td>120.226396</td>\n",
" </tr>\n",
" <tr>\n",
" <th>NL</th>\n",
" <td>6.926316</td>\n",
" <td>16.670813</td>\n",
" <td>1988.041148</td>\n",
" <td>11.861244</td>\n",
" <td>32.248804</td>\n",
" <td>158.784689</td>\n",
" </tr>\n",
" <tr>\n",
" <th>OL</th>\n",
" <td>6.563536</td>\n",
" <td>15.902762</td>\n",
" <td>1985.920442</td>\n",
" <td>9.886188</td>\n",
" <td>20.532597</td>\n",
" <td>31.328177</td>\n",
" </tr>\n",
" <tr>\n",
" <th>OT</th>\n",
" <td>7.341663</td>\n",
" <td>16.539164</td>\n",
" <td>1992.358001</td>\n",
" <td>10.886112</td>\n",
" <td>20.266699</td>\n",
" <td>24.217203</td>\n",
" </tr>\n",
" <tr>\n",
" <th>OX</th>\n",
" <td>7.600000</td>\n",
" <td>16.200000</td>\n",
" <td>1981.800000</td>\n",
" <td>10.000000</td>\n",
" <td>20.400000</td>\n",
" <td>21.200000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>PB</th>\n",
" <td>7.311809</td>\n",
" <td>16.149483</td>\n",
" <td>2000.154121</td>\n",
" <td>12.800571</td>\n",
" <td>26.108098</td>\n",
" <td>31.739922</td>\n",
" </tr>\n",
" <tr>\n",
" <th>PE</th>\n",
" <td>6.393155</td>\n",
" <td>15.827212</td>\n",
" <td>1989.295492</td>\n",
" <td>12.979967</td>\n",
" <td>20.197830</td>\n",
" <td>21.576795</td>\n",
" </tr>\n",
" <tr>\n",
" <th>PF</th>\n",
" <td>6.637849</td>\n",
" <td>16.827093</td>\n",
" <td>1991.066712</td>\n",
" <td>13.247107</td>\n",
" <td>15.584071</td>\n",
" <td>7.955752</td>\n",
" </tr>\n",
" <tr>\n",
" <th>PH</th>\n",
" <td>6.645161</td>\n",
" <td>16.193548</td>\n",
" <td>1989.258065</td>\n",
" <td>16.322581</td>\n",
" <td>25.774194</td>\n",
" <td>31.064516</td>\n",
" </tr>\n",
" <tr>\n",
" <th>PI</th>\n",
" <td>7.428571</td>\n",
" <td>14.857143</td>\n",
" <td>2001.714286</td>\n",
" <td>7.000000</td>\n",
" <td>22.428571</td>\n",
" <td>19.428571</td>\n",
" </tr>\n",
" <tr>\n",
" <th>PL</th>\n",
" <td>6.028571</td>\n",
" <td>18.371429</td>\n",
" <td>1997.000000</td>\n",
" <td>14.800000</td>\n",
" <td>20.028571</td>\n",
" <td>18.971429</td>\n",
" </tr>\n",
" <tr>\n",
" <th>PM</th>\n",
" <td>6.361677</td>\n",
" <td>17.752096</td>\n",
" <td>1992.010778</td>\n",
" <td>13.962874</td>\n",
" <td>20.425150</td>\n",
" <td>21.341317</td>\n",
" </tr>\n",
" <tr>\n",
" <th>PP</th>\n",
" <td>6.879757</td>\n",
" <td>16.257663</td>\n",
" <td>1996.198720</td>\n",
" <td>10.220276</td>\n",
" <td>21.753452</td>\n",
" <td>17.187942</td>\n",
" </tr>\n",
" <tr>\n",
" <th>PX</th>\n",
" <td>2.000000</td>\n",
" <td>8.500000</td>\n",
" <td>1997.000000</td>\n",
" <td>18.000000</td>\n",
" <td>19.500000</td>\n",
" <td>19.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>RF</th>\n",
" <td>5.246575</td>\n",
" <td>11.178082</td>\n",
" <td>1988.931507</td>\n",
" <td>12.753425</td>\n",
" <td>17.520548</td>\n",
" <td>13.479452</td>\n",
" </tr>\n",
" <tr>\n",
" <th>RM</th>\n",
" <td>5.529168</td>\n",
" <td>15.071163</td>\n",
" <td>1989.700455</td>\n",
" <td>13.699628</td>\n",
" <td>16.446007</td>\n",
" <td>10.583368</td>\n",
" </tr>\n",
" <tr>\n",
" <th>RO</th>\n",
" <td>7.000000</td>\n",
" <td>17.750000</td>\n",
" <td>2000.625000</td>\n",
" <td>11.625000</td>\n",
" <td>15.375000</td>\n",
" <td>10.250000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>RX</th>\n",
" <td>3.000000</td>\n",
" <td>19.500000</td>\n",
" <td>1996.000000</td>\n",
" <td>7.000000</td>\n",
" <td>18.500000</td>\n",
" <td>15.500000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>SF</th>\n",
" <td>5.815789</td>\n",
" <td>16.473684</td>\n",
" <td>1991.894737</td>\n",
" <td>15.763158</td>\n",
" <td>26.815789</td>\n",
" <td>60.105263</td>\n",
" </tr>\n",
" <tr>\n",
" <th>SH</th>\n",
" <td>5.968750</td>\n",
" <td>12.734375</td>\n",
" <td>1991.585938</td>\n",
" <td>11.218750</td>\n",
" <td>28.601562</td>\n",
" <td>73.031250</td>\n",
" </tr>\n",
" <tr>\n",
" <th>SO</th>\n",
" <td>6.700000</td>\n",
" <td>12.800000</td>\n",
" <td>1992.325000</td>\n",
" <td>7.850000</td>\n",
" <td>25.600000</td>\n",
" <td>55.375000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" month day year plot_id hindfoot_length \\\n",
"species_id \n",
"BA 6.955556 12.866667 1990.755556 10.688889 13.000000 \n",
"DM 6.433227 16.405264 1989.484630 10.824818 35.990542 \n",
"DO 6.150896 15.970609 1990.902151 8.143728 35.587814 \n",
"DS 6.503707 15.617894 1982.169056 10.512605 49.992585 \n",
"NL 6.926316 16.670813 1988.041148 11.861244 32.248804 \n",
"OL 6.563536 15.902762 1985.920442 9.886188 20.532597 \n",
"OT 7.341663 16.539164 1992.358001 10.886112 20.266699 \n",
"OX 7.600000 16.200000 1981.800000 10.000000 20.400000 \n",
"PB 7.311809 16.149483 2000.154121 12.800571 26.108098 \n",
"PE 6.393155 15.827212 1989.295492 12.979967 20.197830 \n",
"PF 6.637849 16.827093 1991.066712 13.247107 15.584071 \n",
"PH 6.645161 16.193548 1989.258065 16.322581 25.774194 \n",
"PI 7.428571 14.857143 2001.714286 7.000000 22.428571 \n",
"PL 6.028571 18.371429 1997.000000 14.800000 20.028571 \n",
"PM 6.361677 17.752096 1992.010778 13.962874 20.425150 \n",
"PP 6.879757 16.257663 1996.198720 10.220276 21.753452 \n",
"PX 2.000000 8.500000 1997.000000 18.000000 19.500000 \n",
"RF 5.246575 11.178082 1988.931507 12.753425 17.520548 \n",
"RM 5.529168 15.071163 1989.700455 13.699628 16.446007 \n",
"RO 7.000000 17.750000 2000.625000 11.625000 15.375000 \n",
"RX 3.000000 19.500000 1996.000000 7.000000 18.500000 \n",
"SF 5.815789 16.473684 1991.894737 15.763158 26.815789 \n",
"SH 5.968750 12.734375 1991.585938 11.218750 28.601562 \n",
"SO 6.700000 12.800000 1992.325000 7.850000 25.600000 \n",
"\n",
" weight \n",
"species_id \n",
"BA 8.600000 \n",
"DM 43.136013 \n",
"DO 48.867384 \n",
"DS 120.226396 \n",
"NL 158.784689 \n",
"OL 31.328177 \n",
"OT 24.217203 \n",
"OX 21.200000 \n",
"PB 31.739922 \n",
"PE 21.576795 \n",
"PF 7.955752 \n",
"PH 31.064516 \n",
"PI 19.428571 \n",
"PL 18.971429 \n",
"PM 21.341317 \n",
"PP 17.187942 \n",
"PX 19.000000 \n",
"RF 13.479452 \n",
"RM 10.583368 \n",
"RO 10.250000 \n",
"RX 15.500000 \n",
"SF 60.105263 \n",
"SH 73.031250 \n",
"SO 55.375000 "
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"survey_df_cleaned.groupby('species_id').mean()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Plotting\n",
"\n",
"Pandas uses the matplotlib library by default. There is also a ggplot library for python, with functionality that parallels the R ggplot library. "
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x991f780>"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x8ee8cc0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"survey_df_cleaned.plot(x='hindfoot_length',y='weight')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Plot uses a line plot by default, but we can change this to a scatterplot, which is more meaningful in this case. "
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x992b9b0>"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x8c765f8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"survey_df_cleaned.plot(x='hindfoot_length',y='weight',kind='scatter')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.4"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment