{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Exercise 3.3: Adding data to a data frame\n",
"\n",
"
"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
\n",
"\n",
"We continue working with the frog tongue data. Recall that the header comments in the data file contained information about the frogs."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"# These data are from the paper,\n",
"# Kleinteich and Gorb, Sci. Rep., 4, 5225, 2014.\n",
"# It was featured in the New York Times.\n",
"# http://www.nytimes.com/2014/08/25/science/a-frog-thats-a-living-breathing-pac-man.html\n",
"#\n",
"# The authors included the data in their supplemental information.\n",
"#\n",
"# Importantly, the ID refers to the identifites of the frogs they tested.\n",
"# I: adult, 63 mm snout-vent-length (SVL) and 63.1 g body weight,\n",
"# Ceratophrys cranwelli crossed with Ceratophrys cornuta\n",
"# II: adult, 70 mm SVL and 72.7 g body weight,\n",
"# Ceratophrys cranwelli crossed with Ceratophrys cornuta\n",
"# III: juvenile, 28 mm SVL and 12.7 g body weight, Ceratophrys cranwelli\n",
"# IV: juvenile, 31 mm SVL and 12.7 g body weight, Ceratophrys cranwelli\n",
"date,ID,trial number,impact force (mN),impact time (ms),impact force / body weight,adhesive force (mN),time frog pulls on target (ms),adhesive force / body weight,adhesive impulse (N-s),total contact area (mm2),contact area without mucus (mm2),contact area with mucus / contact area without mucus,contact pressure (Pa),adhesive strength (Pa)\n",
"2013_02_26,I,3,1205,46,1.95,-785,884,1.27,-0.290,387,70,0.82,3117,-2030\n",
"2013_02_26,I,4,2527,44,4.08,-983,248,1.59,-0.181,101,94,0.07,24923,-9695\n",
"2013_03_01,I,1,1745,34,2.82,-850,211,1.37,-0.157,83,79,0.05,21020,-10239\n",
"2013_03_01,I,2,1556,41,2.51,-455,1025,0.74,-0.170,330,158,0.52,4718,-1381\n",
"2013_03_01,I,3,493,36,0.80,-974,499,1.57,-0.423,245,216,0.12,2012,-3975\n"
]
}
],
"source": [
"!head -20 data/frog_tongue_adhesion.csv"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"So, each frog has associated with it an age (adult or juvenile), snout-vent-length (SVL), body weight, and species (either cross or *cranwelli*). For a tidy data frame, we should have a column for each of these values. Your task is to load in the data, and then add these columns to the data frame. For convenience, here is a data frame with data about each frog."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"df_frog = pd.DataFrame(\n",
" data={\n",
" \"ID\": [\"I\", \"II\", \"III\", \"IV\"],\n",
" \"age\": [\"adult\", \"adult\", \"juvenile\", \"juvenile\"],\n",
" \"SVL (mm)\": [63, 70, 28, 31],\n",
" \"weight (g)\": [63.1, 72.7, 12.7, 12.7],\n",
" \"species\": [\"cross\", \"cross\", \"cranwelli\", \"cranwelli\"],\n",
" }\n",
")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Note: There are lots of ways to solve this problem. This is a good exercise in searching through the [Pandas documentation](https://pandas.pydata.org/pandas-docs/stable/) and other online resources, such as [Stack Overflow](https://stackoverflow.com/questions). Remember, much of your programming efforts are spent searching through documentation and the internet.\n",
"\n",
"Finally, as a fun challenge, see if you can highlight the strike with the highest impact force for each frog in the data frame."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Solution\n",
"\n",
"
"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The most direct way is to use [built-in pd.merge() function](https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.merge.html). This function finds a common column between two `DataFrames`, and then uses that column to merge them, filling in values that match in the common column. This is exactly what we want."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"# Load the data\n",
"df = pd.read_csv('data/frog_tongue_adhesion.csv', comment='#')\n",
"\n",
"# Perform merge\n",
"df = df.merge(df_frog)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's look at the `DataFrame` to make sure it has what we expect."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" date | \n",
" ID | \n",
" trial number | \n",
" impact force (mN) | \n",
" impact time (ms) | \n",
" impact force / body weight | \n",
" adhesive force (mN) | \n",
" time frog pulls on target (ms) | \n",
" adhesive force / body weight | \n",
" adhesive impulse (N-s) | \n",
" total contact area (mm2) | \n",
" contact area without mucus (mm2) | \n",
" contact area with mucus / contact area without mucus | \n",
" contact pressure (Pa) | \n",
" adhesive strength (Pa) | \n",
" age | \n",
" SVL (mm) | \n",
" weight (g) | \n",
" species | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 2013_02_26 | \n",
" I | \n",
" 3 | \n",
" 1205 | \n",
" 46 | \n",
" 1.95 | \n",
" -785 | \n",
" 884 | \n",
" 1.27 | \n",
" -0.290 | \n",
" 387 | \n",
" 70 | \n",
" 0.82 | \n",
" 3117 | \n",
" -2030 | \n",
" adult | \n",
" 63 | \n",
" 63.1 | \n",
" cross | \n",
"
\n",
" \n",
" 1 | \n",
" 2013_02_26 | \n",
" I | \n",
" 4 | \n",
" 2527 | \n",
" 44 | \n",
" 4.08 | \n",
" -983 | \n",
" 248 | \n",
" 1.59 | \n",
" -0.181 | \n",
" 101 | \n",
" 94 | \n",
" 0.07 | \n",
" 24923 | \n",
" -9695 | \n",
" adult | \n",
" 63 | \n",
" 63.1 | \n",
" cross | \n",
"
\n",
" \n",
" 2 | \n",
" 2013_03_01 | \n",
" I | \n",
" 1 | \n",
" 1745 | \n",
" 34 | \n",
" 2.82 | \n",
" -850 | \n",
" 211 | \n",
" 1.37 | \n",
" -0.157 | \n",
" 83 | \n",
" 79 | \n",
" 0.05 | \n",
" 21020 | \n",
" -10239 | \n",
" adult | \n",
" 63 | \n",
" 63.1 | \n",
" cross | \n",
"
\n",
" \n",
" 3 | \n",
" 2013_03_01 | \n",
" I | \n",
" 2 | \n",
" 1556 | \n",
" 41 | \n",
" 2.51 | \n",
" -455 | \n",
" 1025 | \n",
" 0.74 | \n",
" -0.170 | \n",
" 330 | \n",
" 158 | \n",
" 0.52 | \n",
" 4718 | \n",
" -1381 | \n",
" adult | \n",
" 63 | \n",
" 63.1 | \n",
" cross | \n",
"
\n",
" \n",
" 4 | \n",
" 2013_03_01 | \n",
" I | \n",
" 3 | \n",
" 493 | \n",
" 36 | \n",
" 0.80 | \n",
" -974 | \n",
" 499 | \n",
" 1.57 | \n",
" -0.423 | \n",
" 245 | \n",
" 216 | \n",
" 0.12 | \n",
" 2012 | \n",
" -3975 | \n",
" adult | \n",
" 63 | \n",
" 63.1 | \n",
" cross | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" date ID trial number impact force (mN) impact time (ms) \\\n",
"0 2013_02_26 I 3 1205 46 \n",
"1 2013_02_26 I 4 2527 44 \n",
"2 2013_03_01 I 1 1745 34 \n",
"3 2013_03_01 I 2 1556 41 \n",
"4 2013_03_01 I 3 493 36 \n",
"\n",
" impact force / body weight adhesive force (mN) \\\n",
"0 1.95 -785 \n",
"1 4.08 -983 \n",
"2 2.82 -850 \n",
"3 2.51 -455 \n",
"4 0.80 -974 \n",
"\n",
" time frog pulls on target (ms) adhesive force / body weight \\\n",
"0 884 1.27 \n",
"1 248 1.59 \n",
"2 211 1.37 \n",
"3 1025 0.74 \n",
"4 499 1.57 \n",
"\n",
" adhesive impulse (N-s) total contact area (mm2) \\\n",
"0 -0.290 387 \n",
"1 -0.181 101 \n",
"2 -0.157 83 \n",
"3 -0.170 330 \n",
"4 -0.423 245 \n",
"\n",
" contact area without mucus (mm2) \\\n",
"0 70 \n",
"1 94 \n",
"2 79 \n",
"3 158 \n",
"4 216 \n",
"\n",
" contact area with mucus / contact area without mucus \\\n",
"0 0.82 \n",
"1 0.07 \n",
"2 0.05 \n",
"3 0.52 \n",
"4 0.12 \n",
"\n",
" contact pressure (Pa) adhesive strength (Pa) age SVL (mm) weight (g) \\\n",
"0 3117 -2030 adult 63 63.1 \n",
"1 24923 -9695 adult 63 63.1 \n",
"2 21020 -10239 adult 63 63.1 \n",
"3 4718 -1381 adult 63 63.1 \n",
"4 2012 -3975 adult 63 63.1 \n",
"\n",
" species \n",
"0 cross \n",
"1 cross \n",
"2 cross \n",
"3 cross \n",
"4 cross "
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now, we can highlight the strike with the highest impact force for each frog. One way to do this is to write a function that returns an entire data frame with the same index and columns as `df` where each entry contains a formatting string like `'background-color: lightgray'`, and then use `df.style.apply()` with the `axis=None` kwarg."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
" \n",
" \n",
" | \n",
" date | \n",
" ID | \n",
" trial number | \n",
" impact force (mN) | \n",
" impact time (ms) | \n",
" impact force / body weight | \n",
" adhesive force (mN) | \n",
" time frog pulls on target (ms) | \n",
" adhesive force / body weight | \n",
" adhesive impulse (N-s) | \n",
" total contact area (mm2) | \n",
" contact area without mucus (mm2) | \n",
" contact area with mucus / contact area without mucus | \n",
" contact pressure (Pa) | \n",
" adhesive strength (Pa) | \n",
" age | \n",
" SVL (mm) | \n",
" weight (g) | \n",
" species | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 2013_02_26 | \n",
" I | \n",
" 3 | \n",
" 1205 | \n",
" 46 | \n",
" 1.950000 | \n",
" -785 | \n",
" 884 | \n",
" 1.270000 | \n",
" -0.290000 | \n",
" 387 | \n",
" 70 | \n",
" 0.820000 | \n",
" 3117 | \n",
" -2030 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
"
\n",
" \n",
" 1 | \n",
" 2013_02_26 | \n",
" I | \n",
" 4 | \n",
" 2527 | \n",
" 44 | \n",
" 4.080000 | \n",
" -983 | \n",
" 248 | \n",
" 1.590000 | \n",
" -0.181000 | \n",
" 101 | \n",
" 94 | \n",
" 0.070000 | \n",
" 24923 | \n",
" -9695 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
"
\n",
" \n",
" 2 | \n",
" 2013_03_01 | \n",
" I | \n",
" 1 | \n",
" 1745 | \n",
" 34 | \n",
" 2.820000 | \n",
" -850 | \n",
" 211 | \n",
" 1.370000 | \n",
" -0.157000 | \n",
" 83 | \n",
" 79 | \n",
" 0.050000 | \n",
" 21020 | \n",
" -10239 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
"
\n",
" \n",
" 3 | \n",
" 2013_03_01 | \n",
" I | \n",
" 2 | \n",
" 1556 | \n",
" 41 | \n",
" 2.510000 | \n",
" -455 | \n",
" 1025 | \n",
" 0.740000 | \n",
" -0.170000 | \n",
" 330 | \n",
" 158 | \n",
" 0.520000 | \n",
" 4718 | \n",
" -1381 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
"
\n",
" \n",
" 4 | \n",
" 2013_03_01 | \n",
" I | \n",
" 3 | \n",
" 493 | \n",
" 36 | \n",
" 0.800000 | \n",
" -974 | \n",
" 499 | \n",
" 1.570000 | \n",
" -0.423000 | \n",
" 245 | \n",
" 216 | \n",
" 0.120000 | \n",
" 2012 | \n",
" -3975 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
"
\n",
" \n",
" 5 | \n",
" 2013_03_01 | \n",
" I | \n",
" 4 | \n",
" 2276 | \n",
" 31 | \n",
" 3.680000 | \n",
" -592 | \n",
" 969 | \n",
" 0.960000 | \n",
" -0.176000 | \n",
" 341 | \n",
" 106 | \n",
" 0.690000 | \n",
" 6676 | \n",
" -1737 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
"
\n",
" \n",
" 6 | \n",
" 2013_03_05 | \n",
" I | \n",
" 1 | \n",
" 556 | \n",
" 43 | \n",
" 0.900000 | \n",
" -512 | \n",
" 835 | \n",
" 0.830000 | \n",
" -0.285000 | \n",
" 359 | \n",
" 110 | \n",
" 0.690000 | \n",
" 1550 | \n",
" -1427 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
"
\n",
" \n",
" 7 | \n",
" 2013_03_05 | \n",
" I | \n",
" 2 | \n",
" 1928 | \n",
" 46 | \n",
" 3.110000 | \n",
" -804 | \n",
" 508 | \n",
" 1.300000 | \n",
" -0.285000 | \n",
" 246 | \n",
" 178 | \n",
" 0.280000 | \n",
" 7832 | \n",
" -3266 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
"
\n",
" \n",
" 8 | \n",
" 2013_03_05 | \n",
" I | \n",
" 3 | \n",
" 2641 | \n",
" 50 | \n",
" 4.270000 | \n",
" -690 | \n",
" 491 | \n",
" 1.120000 | \n",
" -0.239000 | \n",
" 269 | \n",
" 224 | \n",
" 0.170000 | \n",
" 9824 | \n",
" -2568 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
"
\n",
" \n",
" 9 | \n",
" 2013_03_05 | \n",
" I | \n",
" 4 | \n",
" 1897 | \n",
" 41 | \n",
" 3.060000 | \n",
" -462 | \n",
" 839 | \n",
" 0.750000 | \n",
" -0.328000 | \n",
" 266 | \n",
" 176 | \n",
" 0.340000 | \n",
" 7122 | \n",
" -1733 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
"
\n",
" \n",
" 10 | \n",
" 2013_03_12 | \n",
" I | \n",
" 1 | \n",
" 1891 | \n",
" 40 | \n",
" 3.060000 | \n",
" -766 | \n",
" 1069 | \n",
" 1.240000 | \n",
" -0.380000 | \n",
" 408 | \n",
" 33 | \n",
" 0.920000 | \n",
" 4638 | \n",
" -1879 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
"
\n",
" \n",
" 11 | \n",
" 2013_03_12 | \n",
" I | \n",
" 2 | \n",
" 1545 | \n",
" 48 | \n",
" 2.500000 | \n",
" -715 | \n",
" 649 | \n",
" 1.150000 | \n",
" -0.298000 | \n",
" 141 | \n",
" 112 | \n",
" 0.210000 | \n",
" 10947 | \n",
" -5064 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
"
\n",
" \n",
" 12 | \n",
" 2013_03_12 | \n",
" I | \n",
" 3 | \n",
" 1307 | \n",
" 29 | \n",
" 2.110000 | \n",
" -613 | \n",
" 1845 | \n",
" 0.990000 | \n",
" -0.768000 | \n",
" 455 | \n",
" 92 | \n",
" 0.800000 | \n",
" 2874 | \n",
" -1348 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
"
\n",
" \n",
" 13 | \n",
" 2013_03_12 | \n",
" I | \n",
" 4 | \n",
" 1692 | \n",
" 31 | \n",
" 2.730000 | \n",
" -677 | \n",
" 917 | \n",
" 1.090000 | \n",
" -0.457000 | \n",
" 186 | \n",
" 129 | \n",
" 0.310000 | \n",
" 9089 | \n",
" -3636 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
"
\n",
" \n",
" 14 | \n",
" 2013_03_12 | \n",
" I | \n",
" 5 | \n",
" 1543 | \n",
" 38 | \n",
" 2.490000 | \n",
" -528 | \n",
" 750 | \n",
" 0.850000 | \n",
" -0.353000 | \n",
" 153 | \n",
" 148 | \n",
" 0.030000 | \n",
" 10095 | \n",
" -3453 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
"
\n",
" \n",
" 15 | \n",
" 2013_03_15 | \n",
" I | \n",
" 1 | \n",
" 1282 | \n",
" 31 | \n",
" 2.070000 | \n",
" -452 | \n",
" 785 | \n",
" 0.730000 | \n",
" -0.253000 | \n",
" 290 | \n",
" 105 | \n",
" 0.640000 | \n",
" 4419 | \n",
" -1557 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
"
\n",
" \n",
" 16 | \n",
" 2013_03_15 | \n",
" I | \n",
" 2 | \n",
" 775 | \n",
" 34 | \n",
" 1.250000 | \n",
" -430 | \n",
" 837 | \n",
" 0.700000 | \n",
" -0.276000 | \n",
" 257 | \n",
" 124 | \n",
" 0.520000 | \n",
" 3019 | \n",
" -1677 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
"
\n",
" \n",
" 17 | \n",
" 2013_03_15 | \n",
" I | \n",
" 3 | \n",
" 2032 | \n",
" 60 | \n",
" 3.280000 | \n",
" -652 | \n",
" 486 | \n",
" 1.050000 | \n",
" -0.257000 | \n",
" 147 | \n",
" 134 | \n",
" 0.090000 | \n",
" 13784 | \n",
" -4425 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
"
\n",
" \n",
" 18 | \n",
" 2013_03_15 | \n",
" I | \n",
" 4 | \n",
" 1240 | \n",
" 34 | \n",
" 2.000000 | \n",
" -692 | \n",
" 906 | \n",
" 1.120000 | \n",
" -0.317000 | \n",
" 364 | \n",
" 260 | \n",
" 0.280000 | \n",
" 3406 | \n",
" -1901 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
"
\n",
" \n",
" 19 | \n",
" 2013_03_15 | \n",
" I | \n",
" 5 | \n",
" 473 | \n",
" 40 | \n",
" 0.760000 | \n",
" -536 | \n",
" 1218 | \n",
" 0.870000 | \n",
" -0.382000 | \n",
" 259 | \n",
" 168 | \n",
" 0.350000 | \n",
" 1830 | \n",
" -2073 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
"
\n",
" \n",
" 20 | \n",
" 2013_03_19 | \n",
" II | \n",
" 1 | \n",
" 1612 | \n",
" 18 | \n",
" 3.790000 | \n",
" -655 | \n",
" 3087 | \n",
" 1.540000 | \n",
" -0.385000 | \n",
" 348 | \n",
" 15 | \n",
" 0.960000 | \n",
" 4633 | \n",
" -1881 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
"
\n",
" \n",
" 21 | \n",
" 2013_03_19 | \n",
" II | \n",
" 2 | \n",
" 605 | \n",
" 55 | \n",
" 1.420000 | \n",
" -292 | \n",
" 1261 | \n",
" 0.690000 | \n",
" -0.294000 | \n",
" 248 | \n",
" 24 | \n",
" 0.900000 | \n",
" 2441 | \n",
" -1177 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
"
\n",
" \n",
" 22 | \n",
" 2013_03_19 | \n",
" II | \n",
" 3 | \n",
" 327 | \n",
" 51 | \n",
" 0.770000 | \n",
" -246 | \n",
" 1508 | \n",
" 0.580000 | \n",
" -0.282000 | \n",
" 130 | \n",
" 34 | \n",
" 0.740000 | \n",
" 2517 | \n",
" -1894 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
"
\n",
" \n",
" 23 | \n",
" 2013_03_19 | \n",
" II | \n",
" 4 | \n",
" 946 | \n",
" 59 | \n",
" 2.230000 | \n",
" -245 | \n",
" 1841 | \n",
" 0.580000 | \n",
" -0.340000 | \n",
" 106 | \n",
" 26 | \n",
" 0.760000 | \n",
" 8893 | \n",
" -2301 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
"
\n",
" \n",
" 24 | \n",
" 2013_03_21 | \n",
" II | \n",
" 1 | \n",
" 541 | \n",
" 33 | \n",
" 1.270000 | \n",
" -553 | \n",
" 3126 | \n",
" 1.300000 | \n",
" -0.432000 | \n",
" 276 | \n",
" 16 | \n",
" 0.940000 | \n",
" 1959 | \n",
" -2004 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
"
\n",
" \n",
" 25 | \n",
" 2013_03_21 | \n",
" II | \n",
" 2 | \n",
" 1539 | \n",
" 43 | \n",
" 3.620000 | \n",
" -664 | \n",
" 741 | \n",
" 1.560000 | \n",
" -0.046000 | \n",
" 85 | \n",
" 24 | \n",
" 0.720000 | \n",
" 18073 | \n",
" -7802 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
"
\n",
" \n",
" 26 | \n",
" 2013_03_21 | \n",
" II | \n",
" 3 | \n",
" 529 | \n",
" 28 | \n",
" 1.240000 | \n",
" -261 | \n",
" 2482 | \n",
" 0.610000 | \n",
" -0.414000 | \n",
" 325 | \n",
" 33 | \n",
" 0.900000 | \n",
" 1627 | \n",
" -803 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
"
\n",
" \n",
" 27 | \n",
" 2013_03_21 | \n",
" II | \n",
" 4 | \n",
" 628 | \n",
" 31 | \n",
" 1.480000 | \n",
" -691 | \n",
" 998 | \n",
" 1.630000 | \n",
" -0.071000 | \n",
" 242 | \n",
" 67 | \n",
" 0.720000 | \n",
" 2600 | \n",
" -2860 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
"
\n",
" \n",
" 28 | \n",
" 2013_03_25 | \n",
" II | \n",
" 1 | \n",
" 1453 | \n",
" 72 | \n",
" 3.420000 | \n",
" -92 | \n",
" 1652 | \n",
" 0.220000 | \n",
" -0.008000 | \n",
" 136 | \n",
" 0 | \n",
" 1.000000 | \n",
" 10645 | \n",
" -678 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
"
\n",
" \n",
" 29 | \n",
" 2013_03_25 | \n",
" II | \n",
" 2 | \n",
" 297 | \n",
" 42 | \n",
" 0.700000 | \n",
" -566 | \n",
" 936 | \n",
" 1.330000 | \n",
" -0.084000 | \n",
" 126 | \n",
" 4 | \n",
" 0.970000 | \n",
" 2367 | \n",
" -4506 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
"
\n",
" \n",
" 30 | \n",
" 2013_03_25 | \n",
" II | \n",
" 3 | \n",
" 703 | \n",
" 33 | \n",
" 1.650000 | \n",
" -223 | \n",
" 2152 | \n",
" 0.520000 | \n",
" -0.209000 | \n",
" 237 | \n",
" 8 | \n",
" 0.970000 | \n",
" 2972 | \n",
" -942 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
"
\n",
" \n",
" 31 | \n",
" 2013_03_25 | \n",
" II | \n",
" 4 | \n",
" 269 | \n",
" 57 | \n",
" 0.630000 | \n",
" -512 | \n",
" 189 | \n",
" 1.200000 | \n",
" -0.055000 | \n",
" 29 | \n",
" 28 | \n",
" 0.030000 | \n",
" 9279 | \n",
" -17652 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
"
\n",
" \n",
" 32 | \n",
" 2013_03_28 | \n",
" II | \n",
" 1 | \n",
" 751 | \n",
" 39 | \n",
" 1.770000 | \n",
" -227 | \n",
" 1195 | \n",
" 0.530000 | \n",
" -0.026000 | \n",
" 206 | \n",
" 0 | \n",
" 1.000000 | \n",
" 3647 | \n",
" -1101 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
"
\n",
" \n",
" 33 | \n",
" 2013_03_28 | \n",
" II | \n",
" 2 | \n",
" 245 | \n",
" 21 | \n",
" 0.580000 | \n",
" -573 | \n",
" 1466 | \n",
" 1.350000 | \n",
" -0.215000 | \n",
" 190 | \n",
" 46 | \n",
" 0.760000 | \n",
" 1288 | \n",
" -3014 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
"
\n",
" \n",
" 34 | \n",
" 2013_04_03 | \n",
" II | \n",
" 1 | \n",
" 1182 | \n",
" 28 | \n",
" 2.780000 | \n",
" -522 | \n",
" 1197 | \n",
" 1.230000 | \n",
" -0.118000 | \n",
" 281 | \n",
" 0 | \n",
" 1.000000 | \n",
" 4213 | \n",
" -1860 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
"
\n",
" \n",
" 35 | \n",
" 2013_04_03 | \n",
" II | \n",
" 2 | \n",
" 515 | \n",
" 29 | \n",
" 1.210000 | \n",
" -599 | \n",
" 1486 | \n",
" 1.410000 | \n",
" -0.226000 | \n",
" 217 | \n",
" 0 | \n",
" 1.000000 | \n",
" 2369 | \n",
" -2757 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
"
\n",
" \n",
" 36 | \n",
" 2013_04_08 | \n",
" II | \n",
" 1 | \n",
" 435 | \n",
" 26 | \n",
" 1.020000 | \n",
" -364 | \n",
" 1017 | \n",
" 0.860000 | \n",
" -0.211000 | \n",
" 189 | \n",
" 89 | \n",
" 0.530000 | \n",
" 2302 | \n",
" -1927 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
"
\n",
" \n",
" 37 | \n",
" 2013_04_08 | \n",
" II | \n",
" 2 | \n",
" 383 | \n",
" 31 | \n",
" 0.900000 | \n",
" -469 | \n",
" 974 | \n",
" 1.100000 | \n",
" -0.260000 | \n",
" 221 | \n",
" 72 | \n",
" 0.670000 | \n",
" 1737 | \n",
" -2129 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
"
\n",
" \n",
" 38 | \n",
" 2013_04_08 | \n",
" II | \n",
" 3 | \n",
" 457 | \n",
" 15 | \n",
" 1.080000 | \n",
" -844 | \n",
" 780 | \n",
" 1.990000 | \n",
" -0.328000 | \n",
" 171 | \n",
" 106 | \n",
" 0.380000 | \n",
" 2665 | \n",
" -4925 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
"
\n",
" \n",
" 39 | \n",
" 2013_04_12 | \n",
" II | \n",
" 1 | \n",
" 730 | \n",
" 42 | \n",
" 1.720000 | \n",
" -648 | \n",
" 786 | \n",
" 1.520000 | \n",
" -0.121000 | \n",
" 142 | \n",
" 43 | \n",
" 0.700000 | \n",
" 5149 | \n",
" -4573 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
"
\n",
" \n",
" 40 | \n",
" 2013_05_27 | \n",
" III | \n",
" 1 | \n",
" 614 | \n",
" 88 | \n",
" 4.940000 | \n",
" -94 | \n",
" 683 | \n",
" 0.760000 | \n",
" -0.001000 | \n",
" 97 | \n",
" 15 | \n",
" 0.830000 | \n",
" 6326 | \n",
" -967 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 41 | \n",
" 2013_05_27 | \n",
" III | \n",
" 2 | \n",
" 414 | \n",
" 143 | \n",
" 3.330000 | \n",
" -163 | \n",
" 245 | \n",
" 1.310000 | \n",
" -0.032000 | \n",
" 108 | \n",
" 10 | \n",
" 0.600000 | \n",
" 3824 | \n",
" -1507 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 42 | \n",
" 2013_05_27 | \n",
" III | \n",
" 3 | \n",
" 324 | \n",
" 105 | \n",
" 2.610000 | \n",
" -172 | \n",
" 619 | \n",
" 1.380000 | \n",
" -0.079000 | \n",
" 55 | \n",
" 23 | \n",
" 0.370000 | \n",
" 5946 | \n",
" -3149 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 43 | \n",
" 2013_06_11 | \n",
" III | \n",
" 1 | \n",
" 776 | \n",
" 35 | \n",
" 6.240000 | \n",
" -225 | \n",
" 1823 | \n",
" 1.810000 | \n",
" -0.132000 | \n",
" 124 | \n",
" 17 | \n",
" 0.770000 | \n",
" 6272 | \n",
" -1818 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 44 | \n",
" 2013_06_11 | \n",
" III | \n",
" 2 | \n",
" 611 | \n",
" 29 | \n",
" 4.910000 | \n",
" -301 | \n",
" 918 | \n",
" 2.420000 | \n",
" -0.155000 | \n",
" 128 | \n",
" 43 | \n",
" 0.020000 | \n",
" 4770 | \n",
" -2354 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 45 | \n",
" 2013_06_11 | \n",
" III | \n",
" 3 | \n",
" 544 | \n",
" 16 | \n",
" 4.380000 | \n",
" -93 | \n",
" 1351 | \n",
" 0.750000 | \n",
" -0.110000 | \n",
" 43 | \n",
" 34 | \n",
" 0.710000 | \n",
" 12699 | \n",
" -2181 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 46 | \n",
" 2013_06_14 | \n",
" III | \n",
" 1 | \n",
" 538 | \n",
" 38 | \n",
" 4.320000 | \n",
" -131 | \n",
" 1790 | \n",
" 1.050000 | \n",
" -0.036000 | \n",
" 130 | \n",
" 74 | \n",
" 1.000000 | \n",
" 4130 | \n",
" -1005 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 47 | \n",
" 2013_06_14 | \n",
" III | \n",
" 2 | \n",
" 579 | \n",
" 31 | \n",
" 4.660000 | \n",
" -289 | \n",
" 1006 | \n",
" 2.330000 | \n",
" -0.073000 | \n",
" 113 | \n",
" 4 | \n",
" 0.480000 | \n",
" 5110 | \n",
" -2555 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 48 | \n",
" 2013_06_18 | \n",
" III | \n",
" 1 | \n",
" 806 | \n",
" 29 | \n",
" 6.490000 | \n",
" -104 | \n",
" 883 | \n",
" 0.840000 | \n",
" -0.055000 | \n",
" 115 | \n",
" 55 | \n",
" 0.660000 | \n",
" 6993 | \n",
" -902 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 49 | \n",
" 2013_06_18 | \n",
" III | \n",
" 2 | \n",
" 459 | \n",
" 32 | \n",
" 3.700000 | \n",
" -229 | \n",
" 1218 | \n",
" 1.850000 | \n",
" -0.137000 | \n",
" 89 | \n",
" 6 | \n",
" 0.950000 | \n",
" 5165 | \n",
" -2580 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 50 | \n",
" 2013_06_18 | \n",
" III | \n",
" 3 | \n",
" 458 | \n",
" 30 | \n",
" 3.690000 | \n",
" -259 | \n",
" 910 | \n",
" 2.080000 | \n",
" -0.194000 | \n",
" 91 | \n",
" 88 | \n",
" 0.150000 | \n",
" 5048 | \n",
" -2855 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 51 | \n",
" 2013_06_18 | \n",
" III | \n",
" 4 | \n",
" 626 | \n",
" 16 | \n",
" 5.040000 | \n",
" -231 | \n",
" 550 | \n",
" 1.860000 | \n",
" -0.042000 | \n",
" 82 | \n",
" 23 | \n",
" 0.010000 | \n",
" 7633 | \n",
" -2819 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 52 | \n",
" 2013_06_21 | \n",
" III | \n",
" 1 | \n",
" 621 | \n",
" 27 | \n",
" 4.990000 | \n",
" -267 | \n",
" 2081 | \n",
" 2.140000 | \n",
" -0.183000 | \n",
" 120 | \n",
" 58 | \n",
" 0.900000 | \n",
" 5152 | \n",
" -2213 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 53 | \n",
" 2013_06_21 | \n",
" III | \n",
" 2 | \n",
" 544 | \n",
" 30 | \n",
" 4.380000 | \n",
" -178 | \n",
" 376 | \n",
" 1.430000 | \n",
" -0.034000 | \n",
" 19 | \n",
" 17 | \n",
" 0.050000 | \n",
" 28641 | \n",
" -9364 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 54 | \n",
" 2013_06_21 | \n",
" III | \n",
" 3 | \n",
" 535 | \n",
" 35 | \n",
" 4.300000 | \n",
" -123 | \n",
" 289 | \n",
" 0.990000 | \n",
" -0.029000 | \n",
" 21 | \n",
" 29 | \n",
" 0.050000 | \n",
" 25471 | \n",
" -5843 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 55 | \n",
" 2013_06_21 | \n",
" III | \n",
" 4 | \n",
" 385 | \n",
" 39 | \n",
" 3.090000 | \n",
" -151 | \n",
" 607 | \n",
" 1.220000 | \n",
" -0.082000 | \n",
" 31 | \n",
" 126 | \n",
" 0.030000 | \n",
" 12409 | \n",
" -4882 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 56 | \n",
" 2013_06_26 | \n",
" III | \n",
" 1 | \n",
" 401 | \n",
" 36 | \n",
" 3.230000 | \n",
" -127 | \n",
" 2932 | \n",
" 1.020000 | \n",
" -0.215000 | \n",
" 142 | \n",
" 12 | \n",
" 0.860000 | \n",
" 2835 | \n",
" -896 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 57 | \n",
" 2013_06_26 | \n",
" III | \n",
" 2 | \n",
" 614 | \n",
" 34 | \n",
" 4.940000 | \n",
" -372 | \n",
" 680 | \n",
" 2.990000 | \n",
" -0.140000 | \n",
" 72 | \n",
" 1 | \n",
" 0.420000 | \n",
" 8475 | \n",
" -5136 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 58 | \n",
" 2013_06_26 | \n",
" III | \n",
" 3 | \n",
" 665 | \n",
" 40 | \n",
" 5.350000 | \n",
" -236 | \n",
" 685 | \n",
" 1.900000 | \n",
" -0.118000 | \n",
" 129 | \n",
" 0 | \n",
" 0.160000 | \n",
" 5171 | \n",
" -1834 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 59 | \n",
" 2013_06_26 | \n",
" III | \n",
" 4 | \n",
" 488 | \n",
" 34 | \n",
" 3.930000 | \n",
" -390 | \n",
" 1308 | \n",
" 3.140000 | \n",
" -0.208000 | \n",
" 112 | \n",
" 58 | \n",
" 0.390000 | \n",
" 4376 | \n",
" -3492 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 60 | \n",
" 2013_05_27 | \n",
" IV | \n",
" 2 | \n",
" 172 | \n",
" 26 | \n",
" 1.280000 | \n",
" -456 | \n",
" 462 | \n",
" 3.400000 | \n",
" -0.050000 | \n",
" 133 | \n",
" 0 | \n",
" 0.880000 | \n",
" 1297 | \n",
" -3440 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 61 | \n",
" 2013_05_27 | \n",
" IV | \n",
" 3 | \n",
" 142 | \n",
" 20 | \n",
" 1.050000 | \n",
" -193 | \n",
" 250 | \n",
" 1.440000 | \n",
" -0.047000 | \n",
" 57 | \n",
" 74 | \n",
" 0.830000 | \n",
" 2498 | \n",
" -3400 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 62 | \n",
" 2013_05_27 | \n",
" IV | \n",
" 4 | \n",
" 37 | \n",
" 55 | \n",
" 0.280000 | \n",
" -236 | \n",
" 743 | \n",
" 1.760000 | \n",
" -0.119000 | \n",
" 51 | \n",
" 44 | \n",
" 0.540000 | \n",
" 735 | \n",
" -4647 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 63 | \n",
" 2013_05_30 | \n",
" IV | \n",
" 1 | \n",
" 453 | \n",
" 38 | \n",
" 3.370000 | \n",
" -225 | \n",
" 844 | \n",
" 1.680000 | \n",
" -0.110000 | \n",
" 142 | \n",
" 108 | \n",
" 0.480000 | \n",
" 3177 | \n",
" -1581 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 64 | \n",
" 2013_05_30 | \n",
" IV | \n",
" 2 | \n",
" 355 | \n",
" 31 | \n",
" 2.640000 | \n",
" -217 | \n",
" 728 | \n",
" 1.610000 | \n",
" -0.023000 | \n",
" 174 | \n",
" 39 | \n",
" 0.980000 | \n",
" 2037 | \n",
" -1245 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 65 | \n",
" 2013_05_30 | \n",
" IV | \n",
" 3 | \n",
" 22 | \n",
" 33 | \n",
" 0.170000 | \n",
" -161 | \n",
" 472 | \n",
" 1.200000 | \n",
" -0.052000 | \n",
" 56 | \n",
" 4 | \n",
" 0.020000 | \n",
" 397 | \n",
" -2866 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 66 | \n",
" 2013_06_03 | \n",
" IV | \n",
" 1 | \n",
" 502 | \n",
" 74 | \n",
" 3.740000 | \n",
" -139 | \n",
" 959 | \n",
" 1.040000 | \n",
" -0.089000 | \n",
" 65 | \n",
" 77 | \n",
" 0.910000 | \n",
" 7713 | \n",
" -2141 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 67 | \n",
" 2013_06_11 | \n",
" IV | \n",
" 1 | \n",
" 273 | \n",
" 26 | \n",
" 2.030000 | \n",
" -264 | \n",
" 844 | \n",
" 1.970000 | \n",
" -0.160000 | \n",
" 124 | \n",
" 81 | \n",
" 0.290000 | \n",
" 2205 | \n",
" -2136 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 68 | \n",
" 2013_06_11 | \n",
" IV | \n",
" 2 | \n",
" 720 | \n",
" 27 | \n",
" 5.360000 | \n",
" -342 | \n",
" 1515 | \n",
" 2.550000 | \n",
" -0.226000 | \n",
" 137 | \n",
" 0 | \n",
" 0.830000 | \n",
" 5259 | \n",
" -2497 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 69 | \n",
" 2013_06_11 | \n",
" IV | \n",
" 3 | \n",
" 582 | \n",
" 33 | \n",
" 4.340000 | \n",
" -231 | \n",
" 279 | \n",
" 1.720000 | \n",
" -0.033000 | \n",
" 60 | \n",
" 4 | \n",
" 0.030000 | \n",
" 9705 | \n",
" -3847 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 70 | \n",
" 2013_06_11 | \n",
" IV | \n",
" 4 | \n",
" 198 | \n",
" 23 | \n",
" 1.470000 | \n",
" -209 | \n",
" 1427 | \n",
" 1.550000 | \n",
" -0.151000 | \n",
" 110 | \n",
" 69 | \n",
" 0.840000 | \n",
" 1793 | \n",
" -1889 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 71 | \n",
" 2013_06_14 | \n",
" IV | \n",
" 1 | \n",
" 198 | \n",
" 6 | \n",
" 1.470000 | \n",
" -292 | \n",
" 2874 | \n",
" 2.170000 | \n",
" -0.232000 | \n",
" 145 | \n",
" 50 | \n",
" 0.990000 | \n",
" 1369 | \n",
" -2018 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 72 | \n",
" 2013_06_18 | \n",
" IV | \n",
" 1 | \n",
" 597 | \n",
" 29 | \n",
" 4.440000 | \n",
" -339 | \n",
" 4251 | \n",
" 2.530000 | \n",
" -0.281000 | \n",
" 191 | \n",
" 12 | \n",
" 1.000000 | \n",
" 3116 | \n",
" -1772 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 73 | \n",
" 2013_06_18 | \n",
" IV | \n",
" 2 | \n",
" 516 | \n",
" 31 | \n",
" 3.840000 | \n",
" -371 | \n",
" 626 | \n",
" 2.760000 | \n",
" -0.094000 | \n",
" 83 | \n",
" 18 | \n",
" 0.120000 | \n",
" 6184 | \n",
" -4447 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 74 | \n",
" 2013_06_18 | \n",
" IV | \n",
" 3 | \n",
" 815 | \n",
" 34 | \n",
" 6.070000 | \n",
" -331 | \n",
" 1254 | \n",
" 2.470000 | \n",
" -0.077000 | \n",
" 151 | \n",
" 20 | \n",
" 0.710000 | \n",
" 5386 | \n",
" -2190 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 75 | \n",
" 2013_06_18 | \n",
" IV | \n",
" 4 | \n",
" 402 | \n",
" 38 | \n",
" 3.000000 | \n",
" -302 | \n",
" 986 | \n",
" 2.250000 | \n",
" -0.122000 | \n",
" 117 | \n",
" 30 | \n",
" 0.070000 | \n",
" 3446 | \n",
" -2591 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 76 | \n",
" 2013_06_21 | \n",
" IV | \n",
" 1 | \n",
" 605 | \n",
" 39 | \n",
" 4.500000 | \n",
" -216 | \n",
" 1627 | \n",
" 1.610000 | \n",
" -0.139000 | \n",
" 123 | \n",
" 20 | \n",
" 1.000000 | \n",
" 4928 | \n",
" -1759 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 77 | \n",
" 2013_06_21 | \n",
" IV | \n",
" 2 | \n",
" 711 | \n",
" 76 | \n",
" 5.300000 | \n",
" -163 | \n",
" 2021 | \n",
" 1.210000 | \n",
" -0.217000 | \n",
" 129 | \n",
" 42 | \n",
" 0.970000 | \n",
" 5498 | \n",
" -1257 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 78 | \n",
" 2013_06_21 | \n",
" IV | \n",
" 3 | \n",
" 614 | \n",
" 33 | \n",
" 4.570000 | \n",
" -367 | \n",
" 1366 | \n",
" 2.730000 | \n",
" -0.198000 | \n",
" 128 | \n",
" 108 | \n",
" 0.460000 | \n",
" 4776 | \n",
" -2857 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
" 79 | \n",
" 2013_06_21 | \n",
" IV | \n",
" 4 | \n",
" 468 | \n",
" 36 | \n",
" 3.480000 | \n",
" -218 | \n",
" 1269 | \n",
" 1.630000 | \n",
" -0.122000 | \n",
" 129 | \n",
" 68 | \n",
" 0.610000 | \n",
" 3617 | \n",
" -1688 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
"
\n",
" \n",
"
\n"
],
"text/plain": [
""
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def highlight_max(df):\n",
" # Make full data frame with all strings being light gray bg color\n",
" highlight_df = pd.DataFrame(\n",
" \"background-color: lightgray\", index=df.index, columns=df.columns\n",
" )\n",
" \n",
" # Which rows contain a maximum force\n",
" has_max_force = (\n",
" df.groupby(\"ID\")[\"impact force (mN)\"]\n",
" .transform(\"max\")\n",
" .eq(df[\"impact force (mN)\"])\n",
" )\n",
" \n",
" # Color rows with maximum force green\n",
" highlight_df.loc[has_max_force, :] = 'background-color: #7fc97f'\n",
" \n",
" return highlight_df\n",
"\n",
"df.style.apply(highlight_max, axis=None)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"While this works and does not require adding anything to the data frame, I think it is more concise to simply add a column that is a Boolean stating whether or not the row contains a maximum impact force and then using this column to determine how each row is shaded."
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
" \n",
" \n",
" | \n",
" date | \n",
" ID | \n",
" trial number | \n",
" impact force (mN) | \n",
" impact time (ms) | \n",
" impact force / body weight | \n",
" adhesive force (mN) | \n",
" time frog pulls on target (ms) | \n",
" adhesive force / body weight | \n",
" adhesive impulse (N-s) | \n",
" total contact area (mm2) | \n",
" contact area without mucus (mm2) | \n",
" contact area with mucus / contact area without mucus | \n",
" contact pressure (Pa) | \n",
" adhesive strength (Pa) | \n",
" age | \n",
" SVL (mm) | \n",
" weight (g) | \n",
" species | \n",
" max strike | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 2013_02_26 | \n",
" I | \n",
" 3 | \n",
" 1205 | \n",
" 46 | \n",
" 1.950000 | \n",
" -785 | \n",
" 884 | \n",
" 1.270000 | \n",
" -0.290000 | \n",
" 387 | \n",
" 70 | \n",
" 0.820000 | \n",
" 3117 | \n",
" -2030 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 1 | \n",
" 2013_02_26 | \n",
" I | \n",
" 4 | \n",
" 2527 | \n",
" 44 | \n",
" 4.080000 | \n",
" -983 | \n",
" 248 | \n",
" 1.590000 | \n",
" -0.181000 | \n",
" 101 | \n",
" 94 | \n",
" 0.070000 | \n",
" 24923 | \n",
" -9695 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 2 | \n",
" 2013_03_01 | \n",
" I | \n",
" 1 | \n",
" 1745 | \n",
" 34 | \n",
" 2.820000 | \n",
" -850 | \n",
" 211 | \n",
" 1.370000 | \n",
" -0.157000 | \n",
" 83 | \n",
" 79 | \n",
" 0.050000 | \n",
" 21020 | \n",
" -10239 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 3 | \n",
" 2013_03_01 | \n",
" I | \n",
" 2 | \n",
" 1556 | \n",
" 41 | \n",
" 2.510000 | \n",
" -455 | \n",
" 1025 | \n",
" 0.740000 | \n",
" -0.170000 | \n",
" 330 | \n",
" 158 | \n",
" 0.520000 | \n",
" 4718 | \n",
" -1381 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 4 | \n",
" 2013_03_01 | \n",
" I | \n",
" 3 | \n",
" 493 | \n",
" 36 | \n",
" 0.800000 | \n",
" -974 | \n",
" 499 | \n",
" 1.570000 | \n",
" -0.423000 | \n",
" 245 | \n",
" 216 | \n",
" 0.120000 | \n",
" 2012 | \n",
" -3975 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 5 | \n",
" 2013_03_01 | \n",
" I | \n",
" 4 | \n",
" 2276 | \n",
" 31 | \n",
" 3.680000 | \n",
" -592 | \n",
" 969 | \n",
" 0.960000 | \n",
" -0.176000 | \n",
" 341 | \n",
" 106 | \n",
" 0.690000 | \n",
" 6676 | \n",
" -1737 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 6 | \n",
" 2013_03_05 | \n",
" I | \n",
" 1 | \n",
" 556 | \n",
" 43 | \n",
" 0.900000 | \n",
" -512 | \n",
" 835 | \n",
" 0.830000 | \n",
" -0.285000 | \n",
" 359 | \n",
" 110 | \n",
" 0.690000 | \n",
" 1550 | \n",
" -1427 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 7 | \n",
" 2013_03_05 | \n",
" I | \n",
" 2 | \n",
" 1928 | \n",
" 46 | \n",
" 3.110000 | \n",
" -804 | \n",
" 508 | \n",
" 1.300000 | \n",
" -0.285000 | \n",
" 246 | \n",
" 178 | \n",
" 0.280000 | \n",
" 7832 | \n",
" -3266 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 8 | \n",
" 2013_03_05 | \n",
" I | \n",
" 3 | \n",
" 2641 | \n",
" 50 | \n",
" 4.270000 | \n",
" -690 | \n",
" 491 | \n",
" 1.120000 | \n",
" -0.239000 | \n",
" 269 | \n",
" 224 | \n",
" 0.170000 | \n",
" 9824 | \n",
" -2568 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
" True | \n",
"
\n",
" \n",
" 9 | \n",
" 2013_03_05 | \n",
" I | \n",
" 4 | \n",
" 1897 | \n",
" 41 | \n",
" 3.060000 | \n",
" -462 | \n",
" 839 | \n",
" 0.750000 | \n",
" -0.328000 | \n",
" 266 | \n",
" 176 | \n",
" 0.340000 | \n",
" 7122 | \n",
" -1733 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 10 | \n",
" 2013_03_12 | \n",
" I | \n",
" 1 | \n",
" 1891 | \n",
" 40 | \n",
" 3.060000 | \n",
" -766 | \n",
" 1069 | \n",
" 1.240000 | \n",
" -0.380000 | \n",
" 408 | \n",
" 33 | \n",
" 0.920000 | \n",
" 4638 | \n",
" -1879 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 11 | \n",
" 2013_03_12 | \n",
" I | \n",
" 2 | \n",
" 1545 | \n",
" 48 | \n",
" 2.500000 | \n",
" -715 | \n",
" 649 | \n",
" 1.150000 | \n",
" -0.298000 | \n",
" 141 | \n",
" 112 | \n",
" 0.210000 | \n",
" 10947 | \n",
" -5064 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 12 | \n",
" 2013_03_12 | \n",
" I | \n",
" 3 | \n",
" 1307 | \n",
" 29 | \n",
" 2.110000 | \n",
" -613 | \n",
" 1845 | \n",
" 0.990000 | \n",
" -0.768000 | \n",
" 455 | \n",
" 92 | \n",
" 0.800000 | \n",
" 2874 | \n",
" -1348 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 13 | \n",
" 2013_03_12 | \n",
" I | \n",
" 4 | \n",
" 1692 | \n",
" 31 | \n",
" 2.730000 | \n",
" -677 | \n",
" 917 | \n",
" 1.090000 | \n",
" -0.457000 | \n",
" 186 | \n",
" 129 | \n",
" 0.310000 | \n",
" 9089 | \n",
" -3636 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 14 | \n",
" 2013_03_12 | \n",
" I | \n",
" 5 | \n",
" 1543 | \n",
" 38 | \n",
" 2.490000 | \n",
" -528 | \n",
" 750 | \n",
" 0.850000 | \n",
" -0.353000 | \n",
" 153 | \n",
" 148 | \n",
" 0.030000 | \n",
" 10095 | \n",
" -3453 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 15 | \n",
" 2013_03_15 | \n",
" I | \n",
" 1 | \n",
" 1282 | \n",
" 31 | \n",
" 2.070000 | \n",
" -452 | \n",
" 785 | \n",
" 0.730000 | \n",
" -0.253000 | \n",
" 290 | \n",
" 105 | \n",
" 0.640000 | \n",
" 4419 | \n",
" -1557 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 16 | \n",
" 2013_03_15 | \n",
" I | \n",
" 2 | \n",
" 775 | \n",
" 34 | \n",
" 1.250000 | \n",
" -430 | \n",
" 837 | \n",
" 0.700000 | \n",
" -0.276000 | \n",
" 257 | \n",
" 124 | \n",
" 0.520000 | \n",
" 3019 | \n",
" -1677 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 17 | \n",
" 2013_03_15 | \n",
" I | \n",
" 3 | \n",
" 2032 | \n",
" 60 | \n",
" 3.280000 | \n",
" -652 | \n",
" 486 | \n",
" 1.050000 | \n",
" -0.257000 | \n",
" 147 | \n",
" 134 | \n",
" 0.090000 | \n",
" 13784 | \n",
" -4425 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 18 | \n",
" 2013_03_15 | \n",
" I | \n",
" 4 | \n",
" 1240 | \n",
" 34 | \n",
" 2.000000 | \n",
" -692 | \n",
" 906 | \n",
" 1.120000 | \n",
" -0.317000 | \n",
" 364 | \n",
" 260 | \n",
" 0.280000 | \n",
" 3406 | \n",
" -1901 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 19 | \n",
" 2013_03_15 | \n",
" I | \n",
" 5 | \n",
" 473 | \n",
" 40 | \n",
" 0.760000 | \n",
" -536 | \n",
" 1218 | \n",
" 0.870000 | \n",
" -0.382000 | \n",
" 259 | \n",
" 168 | \n",
" 0.350000 | \n",
" 1830 | \n",
" -2073 | \n",
" adult | \n",
" 63 | \n",
" 63.100000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 20 | \n",
" 2013_03_19 | \n",
" II | \n",
" 1 | \n",
" 1612 | \n",
" 18 | \n",
" 3.790000 | \n",
" -655 | \n",
" 3087 | \n",
" 1.540000 | \n",
" -0.385000 | \n",
" 348 | \n",
" 15 | \n",
" 0.960000 | \n",
" 4633 | \n",
" -1881 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
" True | \n",
"
\n",
" \n",
" 21 | \n",
" 2013_03_19 | \n",
" II | \n",
" 2 | \n",
" 605 | \n",
" 55 | \n",
" 1.420000 | \n",
" -292 | \n",
" 1261 | \n",
" 0.690000 | \n",
" -0.294000 | \n",
" 248 | \n",
" 24 | \n",
" 0.900000 | \n",
" 2441 | \n",
" -1177 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 22 | \n",
" 2013_03_19 | \n",
" II | \n",
" 3 | \n",
" 327 | \n",
" 51 | \n",
" 0.770000 | \n",
" -246 | \n",
" 1508 | \n",
" 0.580000 | \n",
" -0.282000 | \n",
" 130 | \n",
" 34 | \n",
" 0.740000 | \n",
" 2517 | \n",
" -1894 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 23 | \n",
" 2013_03_19 | \n",
" II | \n",
" 4 | \n",
" 946 | \n",
" 59 | \n",
" 2.230000 | \n",
" -245 | \n",
" 1841 | \n",
" 0.580000 | \n",
" -0.340000 | \n",
" 106 | \n",
" 26 | \n",
" 0.760000 | \n",
" 8893 | \n",
" -2301 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 24 | \n",
" 2013_03_21 | \n",
" II | \n",
" 1 | \n",
" 541 | \n",
" 33 | \n",
" 1.270000 | \n",
" -553 | \n",
" 3126 | \n",
" 1.300000 | \n",
" -0.432000 | \n",
" 276 | \n",
" 16 | \n",
" 0.940000 | \n",
" 1959 | \n",
" -2004 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 25 | \n",
" 2013_03_21 | \n",
" II | \n",
" 2 | \n",
" 1539 | \n",
" 43 | \n",
" 3.620000 | \n",
" -664 | \n",
" 741 | \n",
" 1.560000 | \n",
" -0.046000 | \n",
" 85 | \n",
" 24 | \n",
" 0.720000 | \n",
" 18073 | \n",
" -7802 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 26 | \n",
" 2013_03_21 | \n",
" II | \n",
" 3 | \n",
" 529 | \n",
" 28 | \n",
" 1.240000 | \n",
" -261 | \n",
" 2482 | \n",
" 0.610000 | \n",
" -0.414000 | \n",
" 325 | \n",
" 33 | \n",
" 0.900000 | \n",
" 1627 | \n",
" -803 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 27 | \n",
" 2013_03_21 | \n",
" II | \n",
" 4 | \n",
" 628 | \n",
" 31 | \n",
" 1.480000 | \n",
" -691 | \n",
" 998 | \n",
" 1.630000 | \n",
" -0.071000 | \n",
" 242 | \n",
" 67 | \n",
" 0.720000 | \n",
" 2600 | \n",
" -2860 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 28 | \n",
" 2013_03_25 | \n",
" II | \n",
" 1 | \n",
" 1453 | \n",
" 72 | \n",
" 3.420000 | \n",
" -92 | \n",
" 1652 | \n",
" 0.220000 | \n",
" -0.008000 | \n",
" 136 | \n",
" 0 | \n",
" 1.000000 | \n",
" 10645 | \n",
" -678 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 29 | \n",
" 2013_03_25 | \n",
" II | \n",
" 2 | \n",
" 297 | \n",
" 42 | \n",
" 0.700000 | \n",
" -566 | \n",
" 936 | \n",
" 1.330000 | \n",
" -0.084000 | \n",
" 126 | \n",
" 4 | \n",
" 0.970000 | \n",
" 2367 | \n",
" -4506 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 30 | \n",
" 2013_03_25 | \n",
" II | \n",
" 3 | \n",
" 703 | \n",
" 33 | \n",
" 1.650000 | \n",
" -223 | \n",
" 2152 | \n",
" 0.520000 | \n",
" -0.209000 | \n",
" 237 | \n",
" 8 | \n",
" 0.970000 | \n",
" 2972 | \n",
" -942 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 31 | \n",
" 2013_03_25 | \n",
" II | \n",
" 4 | \n",
" 269 | \n",
" 57 | \n",
" 0.630000 | \n",
" -512 | \n",
" 189 | \n",
" 1.200000 | \n",
" -0.055000 | \n",
" 29 | \n",
" 28 | \n",
" 0.030000 | \n",
" 9279 | \n",
" -17652 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 32 | \n",
" 2013_03_28 | \n",
" II | \n",
" 1 | \n",
" 751 | \n",
" 39 | \n",
" 1.770000 | \n",
" -227 | \n",
" 1195 | \n",
" 0.530000 | \n",
" -0.026000 | \n",
" 206 | \n",
" 0 | \n",
" 1.000000 | \n",
" 3647 | \n",
" -1101 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 33 | \n",
" 2013_03_28 | \n",
" II | \n",
" 2 | \n",
" 245 | \n",
" 21 | \n",
" 0.580000 | \n",
" -573 | \n",
" 1466 | \n",
" 1.350000 | \n",
" -0.215000 | \n",
" 190 | \n",
" 46 | \n",
" 0.760000 | \n",
" 1288 | \n",
" -3014 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 34 | \n",
" 2013_04_03 | \n",
" II | \n",
" 1 | \n",
" 1182 | \n",
" 28 | \n",
" 2.780000 | \n",
" -522 | \n",
" 1197 | \n",
" 1.230000 | \n",
" -0.118000 | \n",
" 281 | \n",
" 0 | \n",
" 1.000000 | \n",
" 4213 | \n",
" -1860 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 35 | \n",
" 2013_04_03 | \n",
" II | \n",
" 2 | \n",
" 515 | \n",
" 29 | \n",
" 1.210000 | \n",
" -599 | \n",
" 1486 | \n",
" 1.410000 | \n",
" -0.226000 | \n",
" 217 | \n",
" 0 | \n",
" 1.000000 | \n",
" 2369 | \n",
" -2757 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 36 | \n",
" 2013_04_08 | \n",
" II | \n",
" 1 | \n",
" 435 | \n",
" 26 | \n",
" 1.020000 | \n",
" -364 | \n",
" 1017 | \n",
" 0.860000 | \n",
" -0.211000 | \n",
" 189 | \n",
" 89 | \n",
" 0.530000 | \n",
" 2302 | \n",
" -1927 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 37 | \n",
" 2013_04_08 | \n",
" II | \n",
" 2 | \n",
" 383 | \n",
" 31 | \n",
" 0.900000 | \n",
" -469 | \n",
" 974 | \n",
" 1.100000 | \n",
" -0.260000 | \n",
" 221 | \n",
" 72 | \n",
" 0.670000 | \n",
" 1737 | \n",
" -2129 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 38 | \n",
" 2013_04_08 | \n",
" II | \n",
" 3 | \n",
" 457 | \n",
" 15 | \n",
" 1.080000 | \n",
" -844 | \n",
" 780 | \n",
" 1.990000 | \n",
" -0.328000 | \n",
" 171 | \n",
" 106 | \n",
" 0.380000 | \n",
" 2665 | \n",
" -4925 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 39 | \n",
" 2013_04_12 | \n",
" II | \n",
" 1 | \n",
" 730 | \n",
" 42 | \n",
" 1.720000 | \n",
" -648 | \n",
" 786 | \n",
" 1.520000 | \n",
" -0.121000 | \n",
" 142 | \n",
" 43 | \n",
" 0.700000 | \n",
" 5149 | \n",
" -4573 | \n",
" adult | \n",
" 70 | \n",
" 72.700000 | \n",
" cross | \n",
" False | \n",
"
\n",
" \n",
" 40 | \n",
" 2013_05_27 | \n",
" III | \n",
" 1 | \n",
" 614 | \n",
" 88 | \n",
" 4.940000 | \n",
" -94 | \n",
" 683 | \n",
" 0.760000 | \n",
" -0.001000 | \n",
" 97 | \n",
" 15 | \n",
" 0.830000 | \n",
" 6326 | \n",
" -967 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
" 41 | \n",
" 2013_05_27 | \n",
" III | \n",
" 2 | \n",
" 414 | \n",
" 143 | \n",
" 3.330000 | \n",
" -163 | \n",
" 245 | \n",
" 1.310000 | \n",
" -0.032000 | \n",
" 108 | \n",
" 10 | \n",
" 0.600000 | \n",
" 3824 | \n",
" -1507 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
" 42 | \n",
" 2013_05_27 | \n",
" III | \n",
" 3 | \n",
" 324 | \n",
" 105 | \n",
" 2.610000 | \n",
" -172 | \n",
" 619 | \n",
" 1.380000 | \n",
" -0.079000 | \n",
" 55 | \n",
" 23 | \n",
" 0.370000 | \n",
" 5946 | \n",
" -3149 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
" 43 | \n",
" 2013_06_11 | \n",
" III | \n",
" 1 | \n",
" 776 | \n",
" 35 | \n",
" 6.240000 | \n",
" -225 | \n",
" 1823 | \n",
" 1.810000 | \n",
" -0.132000 | \n",
" 124 | \n",
" 17 | \n",
" 0.770000 | \n",
" 6272 | \n",
" -1818 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
" 44 | \n",
" 2013_06_11 | \n",
" III | \n",
" 2 | \n",
" 611 | \n",
" 29 | \n",
" 4.910000 | \n",
" -301 | \n",
" 918 | \n",
" 2.420000 | \n",
" -0.155000 | \n",
" 128 | \n",
" 43 | \n",
" 0.020000 | \n",
" 4770 | \n",
" -2354 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
" 45 | \n",
" 2013_06_11 | \n",
" III | \n",
" 3 | \n",
" 544 | \n",
" 16 | \n",
" 4.380000 | \n",
" -93 | \n",
" 1351 | \n",
" 0.750000 | \n",
" -0.110000 | \n",
" 43 | \n",
" 34 | \n",
" 0.710000 | \n",
" 12699 | \n",
" -2181 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
" 46 | \n",
" 2013_06_14 | \n",
" III | \n",
" 1 | \n",
" 538 | \n",
" 38 | \n",
" 4.320000 | \n",
" -131 | \n",
" 1790 | \n",
" 1.050000 | \n",
" -0.036000 | \n",
" 130 | \n",
" 74 | \n",
" 1.000000 | \n",
" 4130 | \n",
" -1005 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
" 47 | \n",
" 2013_06_14 | \n",
" III | \n",
" 2 | \n",
" 579 | \n",
" 31 | \n",
" 4.660000 | \n",
" -289 | \n",
" 1006 | \n",
" 2.330000 | \n",
" -0.073000 | \n",
" 113 | \n",
" 4 | \n",
" 0.480000 | \n",
" 5110 | \n",
" -2555 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
" 48 | \n",
" 2013_06_18 | \n",
" III | \n",
" 1 | \n",
" 806 | \n",
" 29 | \n",
" 6.490000 | \n",
" -104 | \n",
" 883 | \n",
" 0.840000 | \n",
" -0.055000 | \n",
" 115 | \n",
" 55 | \n",
" 0.660000 | \n",
" 6993 | \n",
" -902 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" True | \n",
"
\n",
" \n",
" 49 | \n",
" 2013_06_18 | \n",
" III | \n",
" 2 | \n",
" 459 | \n",
" 32 | \n",
" 3.700000 | \n",
" -229 | \n",
" 1218 | \n",
" 1.850000 | \n",
" -0.137000 | \n",
" 89 | \n",
" 6 | \n",
" 0.950000 | \n",
" 5165 | \n",
" -2580 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
" 50 | \n",
" 2013_06_18 | \n",
" III | \n",
" 3 | \n",
" 458 | \n",
" 30 | \n",
" 3.690000 | \n",
" -259 | \n",
" 910 | \n",
" 2.080000 | \n",
" -0.194000 | \n",
" 91 | \n",
" 88 | \n",
" 0.150000 | \n",
" 5048 | \n",
" -2855 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
" 51 | \n",
" 2013_06_18 | \n",
" III | \n",
" 4 | \n",
" 626 | \n",
" 16 | \n",
" 5.040000 | \n",
" -231 | \n",
" 550 | \n",
" 1.860000 | \n",
" -0.042000 | \n",
" 82 | \n",
" 23 | \n",
" 0.010000 | \n",
" 7633 | \n",
" -2819 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
" 52 | \n",
" 2013_06_21 | \n",
" III | \n",
" 1 | \n",
" 621 | \n",
" 27 | \n",
" 4.990000 | \n",
" -267 | \n",
" 2081 | \n",
" 2.140000 | \n",
" -0.183000 | \n",
" 120 | \n",
" 58 | \n",
" 0.900000 | \n",
" 5152 | \n",
" -2213 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
" 53 | \n",
" 2013_06_21 | \n",
" III | \n",
" 2 | \n",
" 544 | \n",
" 30 | \n",
" 4.380000 | \n",
" -178 | \n",
" 376 | \n",
" 1.430000 | \n",
" -0.034000 | \n",
" 19 | \n",
" 17 | \n",
" 0.050000 | \n",
" 28641 | \n",
" -9364 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
" 54 | \n",
" 2013_06_21 | \n",
" III | \n",
" 3 | \n",
" 535 | \n",
" 35 | \n",
" 4.300000 | \n",
" -123 | \n",
" 289 | \n",
" 0.990000 | \n",
" -0.029000 | \n",
" 21 | \n",
" 29 | \n",
" 0.050000 | \n",
" 25471 | \n",
" -5843 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
" 55 | \n",
" 2013_06_21 | \n",
" III | \n",
" 4 | \n",
" 385 | \n",
" 39 | \n",
" 3.090000 | \n",
" -151 | \n",
" 607 | \n",
" 1.220000 | \n",
" -0.082000 | \n",
" 31 | \n",
" 126 | \n",
" 0.030000 | \n",
" 12409 | \n",
" -4882 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
" 56 | \n",
" 2013_06_26 | \n",
" III | \n",
" 1 | \n",
" 401 | \n",
" 36 | \n",
" 3.230000 | \n",
" -127 | \n",
" 2932 | \n",
" 1.020000 | \n",
" -0.215000 | \n",
" 142 | \n",
" 12 | \n",
" 0.860000 | \n",
" 2835 | \n",
" -896 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
" 57 | \n",
" 2013_06_26 | \n",
" III | \n",
" 2 | \n",
" 614 | \n",
" 34 | \n",
" 4.940000 | \n",
" -372 | \n",
" 680 | \n",
" 2.990000 | \n",
" -0.140000 | \n",
" 72 | \n",
" 1 | \n",
" 0.420000 | \n",
" 8475 | \n",
" -5136 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
" 58 | \n",
" 2013_06_26 | \n",
" III | \n",
" 3 | \n",
" 665 | \n",
" 40 | \n",
" 5.350000 | \n",
" -236 | \n",
" 685 | \n",
" 1.900000 | \n",
" -0.118000 | \n",
" 129 | \n",
" 0 | \n",
" 0.160000 | \n",
" 5171 | \n",
" -1834 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
" 59 | \n",
" 2013_06_26 | \n",
" III | \n",
" 4 | \n",
" 488 | \n",
" 34 | \n",
" 3.930000 | \n",
" -390 | \n",
" 1308 | \n",
" 3.140000 | \n",
" -0.208000 | \n",
" 112 | \n",
" 58 | \n",
" 0.390000 | \n",
" 4376 | \n",
" -3492 | \n",
" juvenile | \n",
" 28 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
" 60 | \n",
" 2013_05_27 | \n",
" IV | \n",
" 2 | \n",
" 172 | \n",
" 26 | \n",
" 1.280000 | \n",
" -456 | \n",
" 462 | \n",
" 3.400000 | \n",
" -0.050000 | \n",
" 133 | \n",
" 0 | \n",
" 0.880000 | \n",
" 1297 | \n",
" -3440 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
" 61 | \n",
" 2013_05_27 | \n",
" IV | \n",
" 3 | \n",
" 142 | \n",
" 20 | \n",
" 1.050000 | \n",
" -193 | \n",
" 250 | \n",
" 1.440000 | \n",
" -0.047000 | \n",
" 57 | \n",
" 74 | \n",
" 0.830000 | \n",
" 2498 | \n",
" -3400 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
" 62 | \n",
" 2013_05_27 | \n",
" IV | \n",
" 4 | \n",
" 37 | \n",
" 55 | \n",
" 0.280000 | \n",
" -236 | \n",
" 743 | \n",
" 1.760000 | \n",
" -0.119000 | \n",
" 51 | \n",
" 44 | \n",
" 0.540000 | \n",
" 735 | \n",
" -4647 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
" 63 | \n",
" 2013_05_30 | \n",
" IV | \n",
" 1 | \n",
" 453 | \n",
" 38 | \n",
" 3.370000 | \n",
" -225 | \n",
" 844 | \n",
" 1.680000 | \n",
" -0.110000 | \n",
" 142 | \n",
" 108 | \n",
" 0.480000 | \n",
" 3177 | \n",
" -1581 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
" 64 | \n",
" 2013_05_30 | \n",
" IV | \n",
" 2 | \n",
" 355 | \n",
" 31 | \n",
" 2.640000 | \n",
" -217 | \n",
" 728 | \n",
" 1.610000 | \n",
" -0.023000 | \n",
" 174 | \n",
" 39 | \n",
" 0.980000 | \n",
" 2037 | \n",
" -1245 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
" 65 | \n",
" 2013_05_30 | \n",
" IV | \n",
" 3 | \n",
" 22 | \n",
" 33 | \n",
" 0.170000 | \n",
" -161 | \n",
" 472 | \n",
" 1.200000 | \n",
" -0.052000 | \n",
" 56 | \n",
" 4 | \n",
" 0.020000 | \n",
" 397 | \n",
" -2866 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
" 66 | \n",
" 2013_06_03 | \n",
" IV | \n",
" 1 | \n",
" 502 | \n",
" 74 | \n",
" 3.740000 | \n",
" -139 | \n",
" 959 | \n",
" 1.040000 | \n",
" -0.089000 | \n",
" 65 | \n",
" 77 | \n",
" 0.910000 | \n",
" 7713 | \n",
" -2141 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
" 67 | \n",
" 2013_06_11 | \n",
" IV | \n",
" 1 | \n",
" 273 | \n",
" 26 | \n",
" 2.030000 | \n",
" -264 | \n",
" 844 | \n",
" 1.970000 | \n",
" -0.160000 | \n",
" 124 | \n",
" 81 | \n",
" 0.290000 | \n",
" 2205 | \n",
" -2136 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
" 68 | \n",
" 2013_06_11 | \n",
" IV | \n",
" 2 | \n",
" 720 | \n",
" 27 | \n",
" 5.360000 | \n",
" -342 | \n",
" 1515 | \n",
" 2.550000 | \n",
" -0.226000 | \n",
" 137 | \n",
" 0 | \n",
" 0.830000 | \n",
" 5259 | \n",
" -2497 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
" 69 | \n",
" 2013_06_11 | \n",
" IV | \n",
" 3 | \n",
" 582 | \n",
" 33 | \n",
" 4.340000 | \n",
" -231 | \n",
" 279 | \n",
" 1.720000 | \n",
" -0.033000 | \n",
" 60 | \n",
" 4 | \n",
" 0.030000 | \n",
" 9705 | \n",
" -3847 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
" 70 | \n",
" 2013_06_11 | \n",
" IV | \n",
" 4 | \n",
" 198 | \n",
" 23 | \n",
" 1.470000 | \n",
" -209 | \n",
" 1427 | \n",
" 1.550000 | \n",
" -0.151000 | \n",
" 110 | \n",
" 69 | \n",
" 0.840000 | \n",
" 1793 | \n",
" -1889 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
" 71 | \n",
" 2013_06_14 | \n",
" IV | \n",
" 1 | \n",
" 198 | \n",
" 6 | \n",
" 1.470000 | \n",
" -292 | \n",
" 2874 | \n",
" 2.170000 | \n",
" -0.232000 | \n",
" 145 | \n",
" 50 | \n",
" 0.990000 | \n",
" 1369 | \n",
" -2018 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
" 72 | \n",
" 2013_06_18 | \n",
" IV | \n",
" 1 | \n",
" 597 | \n",
" 29 | \n",
" 4.440000 | \n",
" -339 | \n",
" 4251 | \n",
" 2.530000 | \n",
" -0.281000 | \n",
" 191 | \n",
" 12 | \n",
" 1.000000 | \n",
" 3116 | \n",
" -1772 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
" 73 | \n",
" 2013_06_18 | \n",
" IV | \n",
" 2 | \n",
" 516 | \n",
" 31 | \n",
" 3.840000 | \n",
" -371 | \n",
" 626 | \n",
" 2.760000 | \n",
" -0.094000 | \n",
" 83 | \n",
" 18 | \n",
" 0.120000 | \n",
" 6184 | \n",
" -4447 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
" 74 | \n",
" 2013_06_18 | \n",
" IV | \n",
" 3 | \n",
" 815 | \n",
" 34 | \n",
" 6.070000 | \n",
" -331 | \n",
" 1254 | \n",
" 2.470000 | \n",
" -0.077000 | \n",
" 151 | \n",
" 20 | \n",
" 0.710000 | \n",
" 5386 | \n",
" -2190 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" True | \n",
"
\n",
" \n",
" 75 | \n",
" 2013_06_18 | \n",
" IV | \n",
" 4 | \n",
" 402 | \n",
" 38 | \n",
" 3.000000 | \n",
" -302 | \n",
" 986 | \n",
" 2.250000 | \n",
" -0.122000 | \n",
" 117 | \n",
" 30 | \n",
" 0.070000 | \n",
" 3446 | \n",
" -2591 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
" 76 | \n",
" 2013_06_21 | \n",
" IV | \n",
" 1 | \n",
" 605 | \n",
" 39 | \n",
" 4.500000 | \n",
" -216 | \n",
" 1627 | \n",
" 1.610000 | \n",
" -0.139000 | \n",
" 123 | \n",
" 20 | \n",
" 1.000000 | \n",
" 4928 | \n",
" -1759 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
" 77 | \n",
" 2013_06_21 | \n",
" IV | \n",
" 2 | \n",
" 711 | \n",
" 76 | \n",
" 5.300000 | \n",
" -163 | \n",
" 2021 | \n",
" 1.210000 | \n",
" -0.217000 | \n",
" 129 | \n",
" 42 | \n",
" 0.970000 | \n",
" 5498 | \n",
" -1257 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
" 78 | \n",
" 2013_06_21 | \n",
" IV | \n",
" 3 | \n",
" 614 | \n",
" 33 | \n",
" 4.570000 | \n",
" -367 | \n",
" 1366 | \n",
" 2.730000 | \n",
" -0.198000 | \n",
" 128 | \n",
" 108 | \n",
" 0.460000 | \n",
" 4776 | \n",
" -2857 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
" 79 | \n",
" 2013_06_21 | \n",
" IV | \n",
" 4 | \n",
" 468 | \n",
" 36 | \n",
" 3.480000 | \n",
" -218 | \n",
" 1269 | \n",
" 1.630000 | \n",
" -0.122000 | \n",
" 129 | \n",
" 68 | \n",
" 0.610000 | \n",
" 3617 | \n",
" -1688 | \n",
" juvenile | \n",
" 31 | \n",
" 12.700000 | \n",
" cranwelli | \n",
" False | \n",
"
\n",
" \n",
"
\n"
],
"text/plain": [
""
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[\"max strike\"] = (\n",
" df.groupby(\"ID\")[\"impact force (mN)\"].transform(\"max\").eq(df[\"impact force (mN)\"])\n",
")\n",
"\n",
"\n",
"def highlight_max(s):\n",
" if s[\"max strike\"]:\n",
" return [\"background-color: #7fc97f\"] * len(s)\n",
" else:\n",
" return [\"background-color: lightgray\"] * len(s)\n",
"\n",
"\n",
"df.style.apply(highlight_max, axis=1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Computing environment"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"tags": [
"hide-input"
]
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Python implementation: CPython\n",
"Python version : 3.11.3\n",
"IPython version : 8.12.0\n",
"\n",
"pandas : 1.5.3\n",
"jupyterlab: 3.6.3\n",
"\n"
]
}
],
"source": [
"%load_ext watermark\n",
"%watermark -v -p pandas,jupyterlab"
]
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.3"
}
},
"nbformat": 4,
"nbformat_minor": 4
}