{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# When Does The Brain Reach It's Peak In Art?\n", "\n", "\n", "## The Museum of Modern Art (MoMA) Collection\n", "\n", "The Museum of Modern Art (MoMA) acquired its first artworks in 1929, the year it was established. Today, the Museum’s evolving collection contains almost 200,000 works from around the world spanning the last 150 years.\n", "MoMA is committed to helping everyone understand, enjoy, and use it collection. The Museum’s website features 88,398 artworks from 26,422 artists. [This research dataset](https://github.com/MuseumofModernArt/collection/blob/master/Artworks.csv) contains 138,161 records, representing all of the works that have been accessioned into MoMA’s collection and cataloged in its database. It includes basic metadata for each work, including title, artist, date made, medium, dimensions, and date acquired by the Museum. At this time, the dataset is available in CSV format, encoded in `UTF-8`.\n", "\n", "Description of some of the MoMA's columns we are interested in:\n", "\n", "- `Title`: The title of the artwork.\n", "- `Artist`: The name of the artist who created the artwork.\n", "- `Nationality`: The nationality of the artist.\n", "- `BeginDate`: The year in which the artist was born.\n", "- `EndDate`: The year in which the artist died.\n", "- `Gender`: The gender of the artist.\n", "- `Date`: The date that the artwork was created.\n", "- `Department`: The department inside MoMA to which the artwork belongs.\n", "- `Medium`: Description of the artwork.\n", "- `Classification`: The kind of the artwork.\n", "\n", "\n", "## Introduction\n", "\n", "Scientists say that the human brain reaches its peak efficiency by the age of 30. For instance, you can read *Chapter 6* of [Behave: The Biology of Humans at Our Best and Worst](https://www.amazon.com/Behave-Biology-Humans-Best-Worst/dp/1594205078) by [Robert M. Sapolsky](https://en.wikipedia.org/wiki/Robert_Sapolsky). \n", "\n", "We discovered the Moma dataset and wondered *if most of the artworks were actually created by artists in their 30s*. \n", "\n", "We'll proceed from the assumption that, since the artworks have been preserved and included in the collection of the museum, they represent a valuable result of the human brain activity. \n", "\n", "We'll calculate the age when the artist created his work as the difference between the `Date` and the `BeginDate` columns. \n", "Then we'll create a plot to see *at what age the most of the valuable artworks were created*.\n", "\n", "\n", "## Reading The MoMA Dataset\n", "\n", "Let's take a look at the data." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "display.width: 80\n", "display.width: 120\n" ] }, { "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>Title</th>\n", " <th>Artist</th>\n", " <th>ConstituentID</th>\n", " <th>ArtistBio</th>\n", " <th>Nationality</th>\n", " <th>BeginDate</th>\n", " <th>EndDate</th>\n", " <th>Gender</th>\n", " <th>Date</th>\n", " <th>Medium</th>\n", " <th>...</th>\n", " <th>ThumbnailURL</th>\n", " <th>Circumference (cm)</th>\n", " <th>Depth (cm)</th>\n", " <th>Diameter (cm)</th>\n", " <th>Height (cm)</th>\n", " <th>Length (cm)</th>\n", " <th>Weight (kg)</th>\n", " <th>Width (cm)</th>\n", " <th>Seat Height (cm)</th>\n", " <th>Duration (sec.)</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>Ferdinandsbrücke Project, Vienna, Austria (Ele...</td>\n", " <td>Otto Wagner</td>\n", " <td>6210</td>\n", " <td>(Austrian, 1841–1918)</td>\n", " <td>(Austrian)</td>\n", " <td>(1841)</td>\n", " <td>(1918)</td>\n", " <td>(Male)</td>\n", " <td>1896</td>\n", " <td>Ink and cut-and-pasted painted pages on paper</td>\n", " <td>...</td>\n", " <td>http://www.moma.org/media/W1siZiIsIjU5NDA1Il0s...</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>48.6000</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>168.9000</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>City of Music, National Superior Conservatory ...</td>\n", " <td>Christian de Portzamparc</td>\n", " <td>7470</td>\n", " <td>(French, born 1944)</td>\n", " <td>(French)</td>\n", " <td>(1944)</td>\n", " <td>(0)</td>\n", " <td>(Male)</td>\n", " <td>1987</td>\n", " <td>Paint and colored pencil on print</td>\n", " <td>...</td>\n", " <td>http://www.moma.org/media/W1siZiIsIjk3Il0sWyJw...</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>40.6401</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>29.8451</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>Villa near Vienna Project, Outside Vienna, Aus...</td>\n", " <td>Emil Hoppe</td>\n", " <td>7605</td>\n", " <td>(Austrian, 1876–1957)</td>\n", " <td>(Austrian)</td>\n", " <td>(1876)</td>\n", " <td>(1957)</td>\n", " <td>(Male)</td>\n", " <td>1903</td>\n", " <td>Graphite, pen, color pencil, ink, and gouache ...</td>\n", " <td>...</td>\n", " <td>http://www.moma.org/media/W1siZiIsIjk4Il0sWyJw...</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>34.3000</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>31.8000</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>The Manhattan Transcripts Project, New York, N...</td>\n", " <td>Bernard Tschumi</td>\n", " <td>7056</td>\n", " <td>(French and Swiss, born Switzerland 1944)</td>\n", " <td>()</td>\n", " <td>(1944)</td>\n", " <td>(0)</td>\n", " <td>(Male)</td>\n", " <td>1980</td>\n", " <td>Photographic reproduction with colored synthet...</td>\n", " <td>...</td>\n", " <td>http://www.moma.org/media/W1siZiIsIjEyNCJdLFsi...</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>50.8000</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>50.8000</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>Villa, project, outside Vienna, Austria, Exter...</td>\n", " <td>Emil Hoppe</td>\n", " <td>7605</td>\n", " <td>(Austrian, 1876–1957)</td>\n", " <td>(Austrian)</td>\n", " <td>(1876)</td>\n", " <td>(1957)</td>\n", " <td>(Male)</td>\n", " <td>1903</td>\n", " <td>Graphite, color pencil, ink, and gouache on tr...</td>\n", " <td>...</td>\n", " <td>http://www.moma.org/media/W1siZiIsIjEyNiJdLFsi...</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>38.4000</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>19.1000</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "<p>5 rows × 29 columns</p>\n", "</div>" ], "text/plain": [ " Title Artist ConstituentID \\\n", "0 Ferdinandsbrücke Project, Vienna, Austria (Ele... Otto Wagner 6210 \n", "1 City of Music, National Superior Conservatory ... Christian de Portzamparc 7470 \n", "2 Villa near Vienna Project, Outside Vienna, Aus... Emil Hoppe 7605 \n", "3 The Manhattan Transcripts Project, New York, N... Bernard Tschumi 7056 \n", "4 Villa, project, outside Vienna, Austria, Exter... Emil Hoppe 7605 \n", "\n", " ArtistBio Nationality BeginDate EndDate Gender Date \\\n", "0 (Austrian, 1841–1918) (Austrian) (1841) (1918) (Male) 1896 \n", "1 (French, born 1944) (French) (1944) (0) (Male) 1987 \n", "2 (Austrian, 1876–1957) (Austrian) (1876) (1957) (Male) 1903 \n", "3 (French and Swiss, born Switzerland 1944) () (1944) (0) (Male) 1980 \n", "4 (Austrian, 1876–1957) (Austrian) (1876) (1957) (Male) 1903 \n", "\n", " Medium ... ThumbnailURL \\\n", "0 Ink and cut-and-pasted painted pages on paper ... http://www.moma.org/media/W1siZiIsIjU5NDA1Il0s... \n", "1 Paint and colored pencil on print ... http://www.moma.org/media/W1siZiIsIjk3Il0sWyJw... \n", "2 Graphite, pen, color pencil, ink, and gouache ... ... http://www.moma.org/media/W1siZiIsIjk4Il0sWyJw... \n", "3 Photographic reproduction with colored synthet... ... http://www.moma.org/media/W1siZiIsIjEyNCJdLFsi... \n", "4 Graphite, color pencil, ink, and gouache on tr... ... http://www.moma.org/media/W1siZiIsIjEyNiJdLFsi... \n", "\n", " Circumference (cm) Depth (cm) Diameter (cm) Height (cm) Length (cm) Weight (kg) Width (cm) Seat Height (cm) \\\n", "0 NaN NaN NaN 48.6000 NaN NaN 168.9000 NaN \n", "1 NaN NaN NaN 40.6401 NaN NaN 29.8451 NaN \n", "2 NaN NaN NaN 34.3000 NaN NaN 31.8000 NaN \n", "3 NaN NaN NaN 50.8000 NaN NaN 50.8000 NaN \n", "4 NaN NaN NaN 38.4000 NaN NaN 19.1000 NaN \n", "\n", " Duration (sec.) \n", "0 NaN \n", "1 NaN \n", "2 NaN \n", "3 NaN \n", "4 NaN \n", "\n", "[5 rows x 29 columns]" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Import libs\n", "from numpy import nan\n", "import pandas as pd\n", "import re\n", "\n", "# Set width of display\n", "print('display.width:', pd.get_option('display.width'))\n", "pd.set_option('display.width', 120)\n", "print('display.width:', pd.get_option('display.width'))\n", "\n", "# Get data\n", "moma = pd.read_csv('data/Artworks.csv')\n", "moma.head()" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "<class 'pandas.core.frame.DataFrame'>\n", "RangeIndex: 138161 entries, 0 to 138160\n", "Data columns (total 29 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 Title 138122 non-null object \n", " 1 Artist 136847 non-null object \n", " 2 ConstituentID 136847 non-null object \n", " 3 ArtistBio 132113 non-null object \n", " 4 Nationality 136847 non-null object \n", " 5 BeginDate 136847 non-null object \n", " 6 EndDate 136847 non-null object \n", " 7 Gender 136847 non-null object \n", " 8 Date 135936 non-null object \n", " 9 Medium 127923 non-null object \n", " 10 Dimensions 128078 non-null object \n", " 11 CreditLine 135629 non-null object \n", " 12 AccessionNumber 138161 non-null object \n", " 13 Classification 138161 non-null object \n", " 14 Department 138161 non-null object \n", " 15 DateAcquired 131029 non-null object \n", " 16 Cataloged 138161 non-null object \n", " 17 ObjectID 138161 non-null int64 \n", " 18 URL 85925 non-null object \n", " 19 ThumbnailURL 75283 non-null object \n", " 20 Circumference (cm) 10 non-null float64\n", " 21 Depth (cm) 13791 non-null float64\n", " 22 Diameter (cm) 1468 non-null float64\n", " 23 Height (cm) 120027 non-null float64\n", " 24 Length (cm) 741 non-null float64\n", " 25 Weight (kg) 289 non-null float64\n", " 26 Width (cm) 119105 non-null float64\n", " 27 Seat Height (cm) 0 non-null float64\n", " 28 Duration (sec.) 2233 non-null float64\n", "dtypes: float64(9), int64(1), object(19)\n", "memory usage: 30.6+ MB\n" ] } ], "source": [ "moma.info()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We see 138,161 artworks. Almost all of the columns contain `null` values.\n", "\n", "\n", "## Exploring The Data\n", "\n", "Now, we'll overview the `NaN` values in the data." ] }, { "cell_type": "code", "execution_count": 3, "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>nan_count</th>\n", " <th>nan_percentage</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>Title</th>\n", " <td>39</td>\n", " <td>0.028228</td>\n", " </tr>\n", " <tr>\n", " <th>Artist</th>\n", " <td>1314</td>\n", " <td>0.951064</td>\n", " </tr>\n", " <tr>\n", " <th>ArtistBio</th>\n", " <td>6048</td>\n", " <td>4.377502</td>\n", " </tr>\n", " <tr>\n", " <th>Nationality</th>\n", " <td>1314</td>\n", " <td>0.951064</td>\n", " </tr>\n", " <tr>\n", " <th>BeginDate</th>\n", " <td>1314</td>\n", " <td>0.951064</td>\n", " </tr>\n", " <tr>\n", " <th>EndDate</th>\n", " <td>1314</td>\n", " <td>0.951064</td>\n", " </tr>\n", " <tr>\n", " <th>Gender</th>\n", " <td>1314</td>\n", " <td>0.951064</td>\n", " </tr>\n", " <tr>\n", " <th>Date</th>\n", " <td>2225</td>\n", " <td>1.610440</td>\n", " </tr>\n", " <tr>\n", " <th>Department</th>\n", " <td>0</td>\n", " <td>0.000000</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " nan_count nan_percentage\n", "Title 39 0.028228\n", "Artist 1314 0.951064\n", "ArtistBio 6048 4.377502\n", "Nationality 1314 0.951064\n", "BeginDate 1314 0.951064\n", "EndDate 1314 0.951064\n", "Gender 1314 0.951064\n", "Date 2225 1.610440\n", "Department 0 0.000000" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Number of null values per column\n", "moma_nan_cnt = moma[['Title', 'Artist', 'ArtistBio', 'Nationality', 'BeginDate', 'EndDate',\n", " 'Gender', 'Date', 'Department']].isnull().sum()\n", "\n", "# Percentage of null values\n", "moma_nan_pct = moma_nan_cnt / moma.shape[0] * 100\n", "\n", "moma_nan = pd.DataFrame({'nan_count': moma_nan_cnt, 'nan_percentage': moma_nan_pct})\n", "moma_nan" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It looks like there is no artist defined for 1314 (0.95%) artworks (`Artist`, `Nationality`, `BeginDate`, `EndDate`, `Gender` columns). The important column `Date` contains 1.6% empty values.\n", "\n", "Let's find duplicate artworks in the dataset using the unique identifier of the object `ObjectID`." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Duplicated: 0\n" ] } ], "source": [ "# Duplicated\n", "print('Duplicated: {}'.format(moma.duplicated(subset='ObjectID').sum()))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Fortunately, there are no duplicates!\n", "\n", "Let's inspect **the `ArtistBio` column**." ] }, { "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>Title</th>\n", " <th>Artist</th>\n", " <th>ConstituentID</th>\n", " <th>ArtistBio</th>\n", " <th>Nationality</th>\n", " <th>BeginDate</th>\n", " <th>EndDate</th>\n", " <th>Gender</th>\n", " <th>Date</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>151</th>\n", " <td>Slow House Project, North Haven, New York, Pla...</td>\n", " <td>Diller + Scofidio, Elizabeth Diller, Ricardo S...</td>\n", " <td>8707, 6951, 6952</td>\n", " <td>(American, established 1979) (American, born P...</td>\n", " <td>(American) (American) (American)</td>\n", " <td>(1979) (1954) (1935)</td>\n", " <td>(0) (0) (0)</td>\n", " <td>() (Female) (Male)</td>\n", " <td>1989</td>\n", " </tr>\n", " <tr>\n", " <th>160</th>\n", " <td>City Hall, project, North Canton, Ohio, Perspe...</td>\n", " <td>Venturi and Rauch, Robert Venturi, John Rauch</td>\n", " <td>8213, 6132, 8214</td>\n", " <td>(American, est. 1964–1979) (American, 1925–201...</td>\n", " <td>(American) (American) (American)</td>\n", " <td>(1964) (1925) (1930)</td>\n", " <td>(1979) (2018) (0)</td>\n", " <td>() (Male) (Male)</td>\n", " <td>1965</td>\n", " </tr>\n", " <tr>\n", " <th>161</th>\n", " <td>House, Northern Delaware, Preliminary study of...</td>\n", " <td>Venturi and Rauch, Robert Venturi, John Rauch,...</td>\n", " <td>8213, 6132, 8214, 8216</td>\n", " <td>(American, est. 1964–1979) (American, 1925–201...</td>\n", " <td>(American) (American) (American) (American)</td>\n", " <td>(1964) (1925) (1930) (1931)</td>\n", " <td>(1979) (2018) (0) (0)</td>\n", " <td>() (Male) (Male) (Female)</td>\n", " <td>1978</td>\n", " </tr>\n", " <tr>\n", " <th>162</th>\n", " <td>Gordon Wu Hall, Princeton University, Princeto...</td>\n", " <td>Venturi, Rauch and Scott Brown, Robert Venturi...</td>\n", " <td>8215, 6132, 8214, 8216</td>\n", " <td>(American, established 1980) (American, 1925–2...</td>\n", " <td>(American) (American) (American) (American)</td>\n", " <td>(1980) (1925) (1930) (1931)</td>\n", " <td>(0) (2018) (0) (0)</td>\n", " <td>() (Male) (Male) (Female)</td>\n", " <td>1981</td>\n", " </tr>\n", " <tr>\n", " <th>163</th>\n", " <td>Gordon Wu Hall, Princeton University, Princeto...</td>\n", " <td>Venturi, Rauch and Scott Brown, Robert Venturi...</td>\n", " <td>8215, 6132, 8214, 8216</td>\n", " <td>(American, established 1980) (American, 1925–2...</td>\n", " <td>(American) (American) (American) (American)</td>\n", " <td>(1980) (1925) (1930) (1931)</td>\n", " <td>(0) (2018) (0) (0)</td>\n", " <td>() (Male) (Male) (Female)</td>\n", " <td>1981</td>\n", " </tr>\n", " <tr>\n", " <th>164</th>\n", " <td>Lewis Thomas Laboratory for Molecular Biology,...</td>\n", " <td>Venturi, Rauch and Scott Brown, Robert Venturi...</td>\n", " <td>8215, 6132, 8214, 8216</td>\n", " <td>(American, established 1980) (American, 1925–2...</td>\n", " <td>(American) (American) (American) (American)</td>\n", " <td>(1980) (1925) (1930) (1931)</td>\n", " <td>(0) (2018) (0) (0)</td>\n", " <td>() (Male) (Male) (Female)</td>\n", " <td>1983</td>\n", " </tr>\n", " <tr>\n", " <th>241</th>\n", " <td>Sixth Street House project, Santa Monica, CA (...</td>\n", " <td>Morphosis, Santa Monica, CA, Thom Mayne, Andre...</td>\n", " <td>29711, 8218, 22884</td>\n", " <td>(founded 1972) (American, born 1944) (American...</td>\n", " <td>() (American) (American)</td>\n", " <td>(1972) (1944) (1958)</td>\n", " <td>(0) (0) (0)</td>\n", " <td>() (Male) (Male)</td>\n", " <td>1990</td>\n", " </tr>\n", " <tr>\n", " <th>368</th>\n", " <td>Slow House Project, North Haven, Long Island, ...</td>\n", " <td>Diller + Scofidio, Elizabeth Diller, Ricardo S...</td>\n", " <td>8707, 6951, 6952</td>\n", " <td>(American, established 1979) (American, born P...</td>\n", " <td>(American) (American) (American)</td>\n", " <td>(1979) (1954) (1935)</td>\n", " <td>(0) (0) (0)</td>\n", " <td>() (Female) (Male)</td>\n", " <td>1991</td>\n", " </tr>\n", " <tr>\n", " <th>450</th>\n", " <td>Eclectic House Facade, project</td>\n", " <td>Venturi and Rauch, John Rauch, Robert Venturi</td>\n", " <td>8213, 8214, 6132</td>\n", " <td>(American, est. 1964–1979) (American, born 193...</td>\n", " <td>(American) (American) (American)</td>\n", " <td>(1964) (1930) (1925)</td>\n", " <td>(1979) (0) (2018)</td>\n", " <td>() (Male) (Male)</td>\n", " <td>1977</td>\n", " </tr>\n", " <tr>\n", " <th>582</th>\n", " <td>Charrette Submission for The Museum of Modern ...</td>\n", " <td>Herzog & de Meuron, Basel, Jacques Herzog, Pie...</td>\n", " <td>7567, 7421, 7422</td>\n", " <td>(est. 1978) (Swiss, born 1950) (Swiss, born 1950)</td>\n", " <td>(Swiss) (Swiss) (Swiss)</td>\n", " <td>(1978) (1950) (1950)</td>\n", " <td>(0) (0) (0)</td>\n", " <td>() (Male) (Male)</td>\n", " <td>1997</td>\n", " </tr>\n", " <tr>\n", " <th>584</th>\n", " <td>National Commercial Bank, Jeddah, Saudi Arabia...</td>\n", " <td>Skidmore Owings & Merrill, Gordon Bunshaft</td>\n", " <td>5518, 8170</td>\n", " <td>(American, founded 1936) (American, 1909–1990)</td>\n", " <td>(American) (American)</td>\n", " <td>(1936) (1909)</td>\n", " <td>(0) (1990)</td>\n", " <td>() (Male)</td>\n", " <td>1977</td>\n", " </tr>\n", " <tr>\n", " <th>586</th>\n", " <td>National Commercial Bank, Jeddah, Saudi Arabia...</td>\n", " <td>Skidmore Owings & Merrill, Gordon Bunshaft</td>\n", " <td>5518, 8170</td>\n", " <td>(American, founded 1936) (American, 1909–1990)</td>\n", " <td>(American) (American)</td>\n", " <td>(1936) (1909)</td>\n", " <td>(0) (1990)</td>\n", " <td>() (Male)</td>\n", " <td>1977</td>\n", " </tr>\n", " <tr>\n", " <th>588</th>\n", " <td>National Commercial Bank, Jeddah, Saudi Arabia...</td>\n", " <td>Skidmore Owings & Merrill, Gordon Bunshaft</td>\n", " <td>5518, 8170</td>\n", " <td>(American, founded 1936) (American, 1909–1990)</td>\n", " <td>(American) (American)</td>\n", " <td>(1936) (1909)</td>\n", " <td>(0) (1990)</td>\n", " <td>() (Male)</td>\n", " <td>1977</td>\n", " </tr>\n", " <tr>\n", " <th>590</th>\n", " <td>National Commercial Bank, Jeddah, Saudi Arabia...</td>\n", " <td>Skidmore Owings & Merrill, Gordon Bunshaft</td>\n", " <td>5518, 8170</td>\n", " <td>(American, founded 1936) (American, 1909–1990)</td>\n", " <td>(American) (American)</td>\n", " <td>(1936) (1909)</td>\n", " <td>(0) (1990)</td>\n", " <td>() (Male)</td>\n", " <td>1977</td>\n", " </tr>\n", " <tr>\n", " <th>591</th>\n", " <td>Charrette Submission for The Museum of Modern ...</td>\n", " <td>Dominique Perrault Architecture, Paris, Domini...</td>\n", " <td>8053, 8052</td>\n", " <td>(founded 1981) (French, born 1953)</td>\n", " <td>(French) (French)</td>\n", " <td>(1981) (1953)</td>\n", " <td>(0) (0)</td>\n", " <td>() (Male)</td>\n", " <td>1997</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " Title Artist \\\n", "151 Slow House Project, North Haven, New York, Pla... Diller + Scofidio, Elizabeth Diller, Ricardo S... \n", "160 City Hall, project, North Canton, Ohio, Perspe... Venturi and Rauch, Robert Venturi, John Rauch \n", "161 House, Northern Delaware, Preliminary study of... Venturi and Rauch, Robert Venturi, John Rauch,... \n", "162 Gordon Wu Hall, Princeton University, Princeto... Venturi, Rauch and Scott Brown, Robert Venturi... \n", "163 Gordon Wu Hall, Princeton University, Princeto... Venturi, Rauch and Scott Brown, Robert Venturi... \n", "164 Lewis Thomas Laboratory for Molecular Biology,... Venturi, Rauch and Scott Brown, Robert Venturi... \n", "241 Sixth Street House project, Santa Monica, CA (... Morphosis, Santa Monica, CA, Thom Mayne, Andre... \n", "368 Slow House Project, North Haven, Long Island, ... Diller + Scofidio, Elizabeth Diller, Ricardo S... \n", "450 Eclectic House Facade, project Venturi and Rauch, John Rauch, Robert Venturi \n", "582 Charrette Submission for The Museum of Modern ... Herzog & de Meuron, Basel, Jacques Herzog, Pie... \n", "584 National Commercial Bank, Jeddah, Saudi Arabia... Skidmore Owings & Merrill, Gordon Bunshaft \n", "586 National Commercial Bank, Jeddah, Saudi Arabia... Skidmore Owings & Merrill, Gordon Bunshaft \n", "588 National Commercial Bank, Jeddah, Saudi Arabia... Skidmore Owings & Merrill, Gordon Bunshaft \n", "590 National Commercial Bank, Jeddah, Saudi Arabia... Skidmore Owings & Merrill, Gordon Bunshaft \n", "591 Charrette Submission for The Museum of Modern ... Dominique Perrault Architecture, Paris, Domini... \n", "\n", " ConstituentID ArtistBio \\\n", "151 8707, 6951, 6952 (American, established 1979) (American, born P... \n", "160 8213, 6132, 8214 (American, est. 1964–1979) (American, 1925–201... \n", "161 8213, 6132, 8214, 8216 (American, est. 1964–1979) (American, 1925–201... \n", "162 8215, 6132, 8214, 8216 (American, established 1980) (American, 1925–2... \n", "163 8215, 6132, 8214, 8216 (American, established 1980) (American, 1925–2... \n", "164 8215, 6132, 8214, 8216 (American, established 1980) (American, 1925–2... \n", "241 29711, 8218, 22884 (founded 1972) (American, born 1944) (American... \n", "368 8707, 6951, 6952 (American, established 1979) (American, born P... \n", "450 8213, 8214, 6132 (American, est. 1964–1979) (American, born 193... \n", "582 7567, 7421, 7422 (est. 1978) (Swiss, born 1950) (Swiss, born 1950) \n", "584 5518, 8170 (American, founded 1936) (American, 1909–1990) \n", "586 5518, 8170 (American, founded 1936) (American, 1909–1990) \n", "588 5518, 8170 (American, founded 1936) (American, 1909–1990) \n", "590 5518, 8170 (American, founded 1936) (American, 1909–1990) \n", "591 8053, 8052 (founded 1981) (French, born 1953) \n", "\n", " Nationality BeginDate EndDate \\\n", "151 (American) (American) (American) (1979) (1954) (1935) (0) (0) (0) \n", "160 (American) (American) (American) (1964) (1925) (1930) (1979) (2018) (0) \n", "161 (American) (American) (American) (American) (1964) (1925) (1930) (1931) (1979) (2018) (0) (0) \n", "162 (American) (American) (American) (American) (1980) (1925) (1930) (1931) (0) (2018) (0) (0) \n", "163 (American) (American) (American) (American) (1980) (1925) (1930) (1931) (0) (2018) (0) (0) \n", "164 (American) (American) (American) (American) (1980) (1925) (1930) (1931) (0) (2018) (0) (0) \n", "241 () (American) (American) (1972) (1944) (1958) (0) (0) (0) \n", "368 (American) (American) (American) (1979) (1954) (1935) (0) (0) (0) \n", "450 (American) (American) (American) (1964) (1930) (1925) (1979) (0) (2018) \n", "582 (Swiss) (Swiss) (Swiss) (1978) (1950) (1950) (0) (0) (0) \n", "584 (American) (American) (1936) (1909) (0) (1990) \n", "586 (American) (American) (1936) (1909) (0) (1990) \n", "588 (American) (American) (1936) (1909) (0) (1990) \n", "590 (American) (American) (1936) (1909) (0) (1990) \n", "591 (French) (French) (1981) (1953) (0) (0) \n", "\n", " Gender Date \n", "151 () (Female) (Male) 1989 \n", "160 () (Male) (Male) 1965 \n", "161 () (Male) (Male) (Female) 1978 \n", "162 () (Male) (Male) (Female) 1981 \n", "163 () (Male) (Male) (Female) 1981 \n", "164 () (Male) (Male) (Female) 1983 \n", "241 () (Male) (Male) 1990 \n", "368 () (Female) (Male) 1991 \n", "450 () (Male) (Male) 1977 \n", "582 () (Male) (Male) 1997 \n", "584 () (Male) 1977 \n", "586 () (Male) 1977 \n", "588 () (Male) 1977 \n", "590 () (Male) 1977 \n", "591 () (Male) 1997 " ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "artist_bio_pattern_org = r'(?:founded|established|est\\.|active|formed)'\n", "\n", "# Value examples\n", "moma.loc[((moma['ArtistBio'].notnull())\n", " & (moma['ArtistBio'].str.contains(artist_bio_pattern_org, flags=re.I))\n", " ),\n", " ['Title', 'Artist', 'ConstituentID', 'ArtistBio',\n", " 'Nationality', 'BeginDate', 'EndDate', 'Gender', 'Date'\n", " ]\n", " ].head(15)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's inspect **the `Gender` column**." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(Male) 104121\n", "(Female) 17728\n", "() 7403\n", "(Male) (Male) 1771\n", "NaN 1314\n", "(Male) (Male) (Male) 885\n", "(Male) () 819\n", "(Male) (Female) 731\n", "() (Male) 520\n", "(Female) (Male) 489\n", "(Female) (Female) 172\n", "() () 146\n", "(Female) (Male) (Male) 110\n", "() (Male) (Female) 106\n", "() (Male) (Male) 97\n", "Name: Gender, dtype: int64" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Value examples\n", "moma['Gender'].value_counts(dropna=False).head(15)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `Gender` column can contain the following:\n", "\n", "- `Male`\n", "- `Female`\n", "- empty value\n", "- combinations of the values above\n", "\n", "Let's look at the last case." ] }, { "cell_type": "code", "execution_count": 7, "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>Title</th>\n", " <th>Artist</th>\n", " <th>ConstituentID</th>\n", " <th>ArtistBio</th>\n", " <th>Nationality</th>\n", " <th>BeginDate</th>\n", " <th>EndDate</th>\n", " <th>Gender</th>\n", " <th>Date</th>\n", " <th>Medium</th>\n", " <th>...</th>\n", " <th>ThumbnailURL</th>\n", " <th>Circumference (cm)</th>\n", " <th>Depth (cm)</th>\n", " <th>Diameter (cm)</th>\n", " <th>Height (cm)</th>\n", " <th>Length (cm)</th>\n", " <th>Weight (kg)</th>\n", " <th>Width (cm)</th>\n", " <th>Seat Height (cm)</th>\n", " <th>Duration (sec.)</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>65</th>\n", " <td>House IV Project, Falls Village, Connecticut (...</td>\n", " <td>Peter Eisenman, Robert Cole</td>\n", " <td>6969, 8134</td>\n", " <td>(American, born 1932)</td>\n", " <td>(American) ()</td>\n", " <td>(1932) (0)</td>\n", " <td>(0) (0)</td>\n", " <td>(Male) (Male)</td>\n", " <td>1975</td>\n", " <td>Ink and color ink on frosted polymer sheet</td>\n", " <td>...</td>\n", " <td>http://www.moma.org/media/W1siZiIsIjIxMDA0MSJd...</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>34.9251</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>113.3477</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>66</th>\n", " <td>Villa dall'Ava, Paris (Saint-Cloud), France, E...</td>\n", " <td>Rem Koolhaas, Madelon Vriesendorp</td>\n", " <td>6956, 6957</td>\n", " <td>(Dutch, born 1944) (Dutch, born 1945)</td>\n", " <td>(Dutch) (Dutch)</td>\n", " <td>(1944) (1945)</td>\n", " <td>(0) (0)</td>\n", " <td>(Male) (Female)</td>\n", " <td>1987</td>\n", " <td>Synthetic polymer paint and ink on paper</td>\n", " <td>...</td>\n", " <td>http://www.moma.org/media/W1siZiIsIjYwMTEyIl0s...</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>63.5001</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>99.0602</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>76</th>\n", " <td>Regional Administrative Center, project \"Tries...</td>\n", " <td>Aldo Rossi, Gianni Braghieri, M. Bosshard</td>\n", " <td>7661, 8131, 8180</td>\n", " <td>(Italian, 1931–1997) (Italian, born 1945) (Ita...</td>\n", " <td>(Italian) (Italian) (Italian)</td>\n", " <td>(1931) (1945) (0)</td>\n", " <td>(1997) (0) (0)</td>\n", " <td>(Male) (Male) (Male)</td>\n", " <td>1974</td>\n", " <td>Rubbed ink and pastel on whiteprint</td>\n", " <td>...</td>\n", " <td>http://www.moma.org/media/W1siZiIsIjY5MSJdLFsi...</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>72.4000</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>91.4000</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>107</th>\n", " <td>Woodland Crematorium, Woodland Cemetery, Stock...</td>\n", " <td>Erik Gunnar Asplund, Sigurd Lewerentz</td>\n", " <td>27, 24452</td>\n", " <td>(Swedish, 1885–1940) (Swedish)</td>\n", " <td>(Swedish) (Swedish)</td>\n", " <td>(1885) (0)</td>\n", " <td>(1940) (0)</td>\n", " <td>(Male) (Male)</td>\n", " <td>1937</td>\n", " <td>Graphite on tracing paper</td>\n", " <td>...</td>\n", " <td>http://www.moma.org/media/W1siZiIsIjEyNjUiXSxb...</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>41.3000</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>96.2000</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>110</th>\n", " <td>Palais de la Découverte Project, Paris, France...</td>\n", " <td>Paul Nelson, Frantz Jourdain, Oscar Nitzchke</td>\n", " <td>8102, 6703, 4312</td>\n", " <td>(American, 1895–1979) (French, 1847–1935) (Ame...</td>\n", " <td>(American) (French) (American)</td>\n", " <td>(1895) (1847) (1900)</td>\n", " <td>(1979) (1935) (1991)</td>\n", " <td>(Male) (Male) (Male)</td>\n", " <td>1938</td>\n", " <td>Ink and color pencil on paper mounted on board</td>\n", " <td>...</td>\n", " <td>http://www.moma.org/media/W1siZiIsIjEzMjMiXSxb...</td>\n", " <td>NaN</td>\n", " <td>1.3</td>\n", " <td>NaN</td>\n", " <td>37.5000</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>95.3000</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>...</th>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " </tr>\n", " <tr>\n", " <th>137981</th>\n", " <td>Algae Geographies cup</td>\n", " <td>Atelier Luma/ Luma Arles, Eric Klarenbeek, Maa...</td>\n", " <td>131930, 132165, 132166, 132113</td>\n", " <td>(est. 2016) (Dutch, born 1978) (Dutch) (Dutch,...</td>\n", " <td>() (Dutch) (Dutch) (Dutch)</td>\n", " <td>(2016) (1978) (0) (2014)</td>\n", " <td>(0) (0) (0) (0)</td>\n", " <td>() (Male) (Female) ()</td>\n", " <td>2019</td>\n", " <td>Microalgae and sugar-based biopolymer</td>\n", " <td>...</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>7.0</td>\n", " <td>NaN</td>\n", " <td>7.0000</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>7.0000</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>137982</th>\n", " <td>Algae Geographies cup</td>\n", " <td>Atelier Luma/ Luma Arles, Eric Klarenbeek, Maa...</td>\n", " <td>131930, 132165, 132166, 132113</td>\n", " <td>(est. 2016) (Dutch, born 1978) (Dutch) (Dutch,...</td>\n", " <td>() (Dutch) (Dutch) (Dutch)</td>\n", " <td>(2016) (1978) (0) (2014)</td>\n", " <td>(0) (0) (0) (0)</td>\n", " <td>() (Male) (Female) ()</td>\n", " <td>2019</td>\n", " <td>Microalgae and sugar-based biopolymer</td>\n", " <td>...</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>7.0</td>\n", " <td>NaN</td>\n", " <td>7.0000</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>7.0000</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>137983</th>\n", " <td>Algae Geographies cup</td>\n", " <td>Atelier Luma/ Luma Arles, Eric Klarenbeek, Maa...</td>\n", " <td>131930, 132165, 132166, 132113</td>\n", " <td>(est. 2016) (Dutch, born 1978) (Dutch) (Dutch,...</td>\n", " <td>() (Dutch) (Dutch) (Dutch)</td>\n", " <td>(2016) (1978) (0) (2014)</td>\n", " <td>(0) (0) (0) (0)</td>\n", " <td>() (Male) (Female) ()</td>\n", " <td>2019</td>\n", " <td>Microalgae and sugar-based biopolymer</td>\n", " <td>...</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>7.0</td>\n", " <td>NaN</td>\n", " <td>7.0000</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>7.0000</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>137984</th>\n", " <td>Algae Geographies cup</td>\n", " <td>Atelier Luma/ Luma Arles, Eric Klarenbeek, Maa...</td>\n", " <td>131930, 132165, 132166, 132113</td>\n", " <td>(est. 2016) (Dutch, born 1978) (Dutch) (Dutch,...</td>\n", " <td>() (Dutch) (Dutch) (Dutch)</td>\n", " <td>(2016) (1978) (0) (2014)</td>\n", " <td>(0) (0) (0) (0)</td>\n", " <td>() (Male) (Female) ()</td>\n", " <td>2019</td>\n", " <td>Microalgae and sugar-based biopolymer</td>\n", " <td>...</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>7.0</td>\n", " <td>NaN</td>\n", " <td>7.0000</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>7.0000</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>137985</th>\n", " <td>Algae Geographies cup</td>\n", " <td>Atelier Luma/ Luma Arles, Eric Klarenbeek, Maa...</td>\n", " <td>131930, 132165, 132166, 132113</td>\n", " <td>(est. 2016) (Dutch, born 1978) (Dutch) (Dutch,...</td>\n", " <td>() (Dutch) (Dutch) (Dutch)</td>\n", " <td>(2016) (1978) (0) (2014)</td>\n", " <td>(0) (0) (0) (0)</td>\n", " <td>() (Male) (Female) ()</td>\n", " <td>2019</td>\n", " <td>Microalgae and sugar-based biopolymer</td>\n", " <td>...</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>7.0</td>\n", " <td>NaN</td>\n", " <td>7.0000</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>7.0000</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "<p>7554 rows × 29 columns</p>\n", "</div>" ], "text/plain": [ " Title Artist \\\n", "65 House IV Project, Falls Village, Connecticut (... Peter Eisenman, Robert Cole \n", "66 Villa dall'Ava, Paris (Saint-Cloud), France, E... Rem Koolhaas, Madelon Vriesendorp \n", "76 Regional Administrative Center, project \"Tries... Aldo Rossi, Gianni Braghieri, M. Bosshard \n", "107 Woodland Crematorium, Woodland Cemetery, Stock... Erik Gunnar Asplund, Sigurd Lewerentz \n", "110 Palais de la Découverte Project, Paris, France... Paul Nelson, Frantz Jourdain, Oscar Nitzchke \n", "... ... ... \n", "137981 Algae Geographies cup Atelier Luma/ Luma Arles, Eric Klarenbeek, Maa... \n", "137982 Algae Geographies cup Atelier Luma/ Luma Arles, Eric Klarenbeek, Maa... \n", "137983 Algae Geographies cup Atelier Luma/ Luma Arles, Eric Klarenbeek, Maa... \n", "137984 Algae Geographies cup Atelier Luma/ Luma Arles, Eric Klarenbeek, Maa... \n", "137985 Algae Geographies cup Atelier Luma/ Luma Arles, Eric Klarenbeek, Maa... \n", "\n", " ConstituentID ArtistBio \\\n", "65 6969, 8134 (American, born 1932) \n", "66 6956, 6957 (Dutch, born 1944) (Dutch, born 1945) \n", "76 7661, 8131, 8180 (Italian, 1931–1997) (Italian, born 1945) (Ita... \n", "107 27, 24452 (Swedish, 1885–1940) (Swedish) \n", "110 8102, 6703, 4312 (American, 1895–1979) (French, 1847–1935) (Ame... \n", "... ... ... \n", "137981 131930, 132165, 132166, 132113 (est. 2016) (Dutch, born 1978) (Dutch) (Dutch,... \n", "137982 131930, 132165, 132166, 132113 (est. 2016) (Dutch, born 1978) (Dutch) (Dutch,... \n", "137983 131930, 132165, 132166, 132113 (est. 2016) (Dutch, born 1978) (Dutch) (Dutch,... \n", "137984 131930, 132165, 132166, 132113 (est. 2016) (Dutch, born 1978) (Dutch) (Dutch,... \n", "137985 131930, 132165, 132166, 132113 (est. 2016) (Dutch, born 1978) (Dutch) (Dutch,... \n", "\n", " Nationality BeginDate EndDate Gender Date \\\n", "65 (American) () (1932) (0) (0) (0) (Male) (Male) 1975 \n", "66 (Dutch) (Dutch) (1944) (1945) (0) (0) (Male) (Female) 1987 \n", "76 (Italian) (Italian) (Italian) (1931) (1945) (0) (1997) (0) (0) (Male) (Male) (Male) 1974 \n", "107 (Swedish) (Swedish) (1885) (0) (1940) (0) (Male) (Male) 1937 \n", "110 (American) (French) (American) (1895) (1847) (1900) (1979) (1935) (1991) (Male) (Male) (Male) 1938 \n", "... ... ... ... ... ... \n", "137981 () (Dutch) (Dutch) (Dutch) (2016) (1978) (0) (2014) (0) (0) (0) (0) () (Male) (Female) () 2019 \n", "137982 () (Dutch) (Dutch) (Dutch) (2016) (1978) (0) (2014) (0) (0) (0) (0) () (Male) (Female) () 2019 \n", "137983 () (Dutch) (Dutch) (Dutch) (2016) (1978) (0) (2014) (0) (0) (0) (0) () (Male) (Female) () 2019 \n", "137984 () (Dutch) (Dutch) (Dutch) (2016) (1978) (0) (2014) (0) (0) (0) (0) () (Male) (Female) () 2019 \n", "137985 () (Dutch) (Dutch) (Dutch) (2016) (1978) (0) (2014) (0) (0) (0) (0) () (Male) (Female) () 2019 \n", "\n", " Medium ... ThumbnailURL \\\n", "65 Ink and color ink on frosted polymer sheet ... http://www.moma.org/media/W1siZiIsIjIxMDA0MSJd... \n", "66 Synthetic polymer paint and ink on paper ... http://www.moma.org/media/W1siZiIsIjYwMTEyIl0s... \n", "76 Rubbed ink and pastel on whiteprint ... http://www.moma.org/media/W1siZiIsIjY5MSJdLFsi... \n", "107 Graphite on tracing paper ... http://www.moma.org/media/W1siZiIsIjEyNjUiXSxb... \n", "110 Ink and color pencil on paper mounted on board ... http://www.moma.org/media/W1siZiIsIjEzMjMiXSxb... \n", "... ... ... ... \n", "137981 Microalgae and sugar-based biopolymer ... NaN \n", "137982 Microalgae and sugar-based biopolymer ... NaN \n", "137983 Microalgae and sugar-based biopolymer ... NaN \n", "137984 Microalgae and sugar-based biopolymer ... NaN \n", "137985 Microalgae and sugar-based biopolymer ... NaN \n", "\n", " Circumference (cm) Depth (cm) Diameter (cm) Height (cm) Length (cm) Weight (kg) Width (cm) Seat Height (cm) \\\n", "65 NaN NaN NaN 34.9251 NaN NaN 113.3477 NaN \n", "66 NaN NaN NaN 63.5001 NaN NaN 99.0602 NaN \n", "76 NaN NaN NaN 72.4000 NaN NaN 91.4000 NaN \n", "107 NaN NaN NaN 41.3000 NaN NaN 96.2000 NaN \n", "110 NaN 1.3 NaN 37.5000 NaN NaN 95.3000 NaN \n", "... ... ... ... ... ... ... ... ... \n", "137981 NaN 7.0 NaN 7.0000 NaN NaN 7.0000 NaN \n", "137982 NaN 7.0 NaN 7.0000 NaN NaN 7.0000 NaN \n", "137983 NaN 7.0 NaN 7.0000 NaN NaN 7.0000 NaN \n", "137984 NaN 7.0 NaN 7.0000 NaN NaN 7.0000 NaN \n", "137985 NaN 7.0 NaN 7.0000 NaN NaN 7.0000 NaN \n", "\n", " Duration (sec.) \n", "65 NaN \n", "66 NaN \n", "76 NaN \n", "107 NaN \n", "110 NaN \n", "... ... \n", "137981 NaN \n", "137982 NaN \n", "137983 NaN \n", "137984 NaN \n", "137985 NaN \n", "\n", "[7554 rows x 29 columns]" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gender_pattern_arr = r'(?:\\((?:male|female)?\\))'\n", "\n", "# Value examples\n", "moma.loc[((moma['Gender'].notnull())\n", " & (moma['Gender'].str.count(gender_pattern_arr, flags=re.I) > 1)\n", " )\n", " ]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "By exploring the columns `Gender` and `ArtistBio` above, we have found that the artist can be represented by a company, a collective of artists, an association of a company and artists.\n", " \n", "There is no clear indication in the data to check whether the artist is an individual or a team. \n", "We could identify the teams by the missing value in the `Gender` column. \n", "However, gender can also be specified for the team. Below is an example of such data:\n", "\n", "- `Robin Schwartz` is a photographer,\n", "- `General Idea` is a collective of three Canadian artists,\n", "- `Hi Red Center` is a short-lived radical art collective." ] }, { "cell_type": "code", "execution_count": 8, "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>Title</th>\n", " <th>Artist</th>\n", " <th>ConstituentID</th>\n", " <th>ArtistBio</th>\n", " <th>Nationality</th>\n", " <th>BeginDate</th>\n", " <th>EndDate</th>\n", " <th>Gender</th>\n", " <th>Date</th>\n", " <th>Medium</th>\n", " <th>Dimensions</th>\n", " <th>CreditLine</th>\n", " <th>AccessionNumber</th>\n", " <th>Classification</th>\n", " <th>Department</th>\n", " <th>DateAcquired</th>\n", " <th>Cataloged</th>\n", " <th>ObjectID</th>\n", " <th>URL</th>\n", " <th>ThumbnailURL</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>101220</th>\n", " <td>News Flash! What Is the Communication Satellit...</td>\n", " <td>Hi Red Center</td>\n", " <td>36946</td>\n", " <td>(Japanese, 1963–1964)</td>\n", " <td>()</td>\n", " <td>(1963)</td>\n", " <td>(1964)</td>\n", " <td>()</td>\n", " <td>1964</td>\n", " <td>Offset</td>\n", " <td>sheet: 6 7/8 x 10\" (17.4 x 25.4 cm)</td>\n", " <td>The Gilbert and Lila Silverman Fluxus Collecti...</td>\n", " <td>FC2887</td>\n", " <td>Print</td>\n", " <td>Fluxus Collection</td>\n", " <td>2008-10-08</td>\n", " <td>N</td>\n", " <td>136625</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>63914</th>\n", " <td>Mid-summer Meadow</td>\n", " <td>Robin Schwartz</td>\n", " <td>5287</td>\n", " <td>(American, born 1957)</td>\n", " <td>(American)</td>\n", " <td>(1957)</td>\n", " <td>(0)</td>\n", " <td>(Female)</td>\n", " <td>1958</td>\n", " <td>Woodcut</td>\n", " <td>composition: 16 1/4 x 17 1/16\" (41.3 x 43.4cm)...</td>\n", " <td>The Ingram-Merrill Foundation</td>\n", " <td>385.1958</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1958-12-19</td>\n", " <td>Y</td>\n", " <td>68210</td>\n", " <td>http://www.moma.org/collection/works/68210</td>\n", " <td>http://www.moma.org/media/W1siZiIsIjIyMzM4NCJd...</td>\n", " </tr>\n", " <tr>\n", " <th>131800</th>\n", " <td>Bundle of Events from Fluxus 1</td>\n", " <td>Hi Red Center</td>\n", " <td>36946</td>\n", " <td>(Japanese, 1963–1964)</td>\n", " <td>()</td>\n", " <td>(1963)</td>\n", " <td>(1964)</td>\n", " <td>()</td>\n", " <td>1964, assembled c. 1976</td>\n", " <td>Double-sided offset</td>\n", " <td>book: 7 1/2 × 8 1/4 × 1 15/16\" (19.1 × 21 × 5 cm)</td>\n", " <td>The Gilbert and Lila Silverman Fluxus Collecti...</td>\n", " <td>2183.2008.16</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>2008-10-08</td>\n", " <td>N</td>\n", " <td>277655</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>136750</th>\n", " <td>Orgasm Energy Chart</td>\n", " <td>General Idea</td>\n", " <td>7474</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1970</td>\n", " <td>Offset lithograph</td>\n", " <td>composition (irreg.): 15 15/16 × 6 7/16\" (40.5...</td>\n", " <td>Anonymous gift</td>\n", " <td>785.2019</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>2020-04-01</td>\n", " <td>Y</td>\n", " <td>402075</td>\n", " <td>http://www.moma.org/collection/works/402075</td>\n", " <td>http://www.moma.org/media/W1siZiIsIjQ4MTc1MSJd...</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " Title Artist ConstituentID ArtistBio \\\n", "101220 News Flash! What Is the Communication Satellit... Hi Red Center 36946 (Japanese, 1963–1964) \n", "63914 Mid-summer Meadow Robin Schwartz 5287 (American, born 1957) \n", "131800 Bundle of Events from Fluxus 1 Hi Red Center 36946 (Japanese, 1963–1964) \n", "136750 Orgasm Energy Chart General Idea 7474 (Canadian, 1969–1994) \n", "\n", " Nationality BeginDate EndDate Gender Date Medium \\\n", "101220 () (1963) (1964) () 1964 Offset \n", "63914 (American) (1957) (0) (Female) 1958 Woodcut \n", "131800 () (1963) (1964) () 1964, assembled c. 1976 Double-sided offset \n", "136750 (Canadian) (1969) (1994) (Male) 1970 Offset lithograph \n", "\n", " Dimensions CreditLine \\\n", "101220 sheet: 6 7/8 x 10\" (17.4 x 25.4 cm) The Gilbert and Lila Silverman Fluxus Collecti... \n", "63914 composition: 16 1/4 x 17 1/16\" (41.3 x 43.4cm)... The Ingram-Merrill Foundation \n", "131800 book: 7 1/2 × 8 1/4 × 1 15/16\" (19.1 × 21 × 5 cm) The Gilbert and Lila Silverman Fluxus Collecti... \n", "136750 composition (irreg.): 15 15/16 × 6 7/16\" (40.5... Anonymous gift \n", "\n", " AccessionNumber Classification Department DateAcquired Cataloged ObjectID \\\n", "101220 FC2887 Print Fluxus Collection 2008-10-08 N 136625 \n", "63914 385.1958 Print Drawings & Prints 1958-12-19 Y 68210 \n", "131800 2183.2008.16 Illustrated Book Drawings & Prints 2008-10-08 N 277655 \n", "136750 785.2019 Print Drawings & Prints 2020-04-01 Y 402075 \n", "\n", " URL ThumbnailURL \n", "101220 NaN NaN \n", "63914 http://www.moma.org/collection/works/68210 http://www.moma.org/media/W1siZiIsIjIyMzM4NCJd... \n", "131800 NaN NaN \n", "136750 http://www.moma.org/collection/works/402075 http://www.moma.org/media/W1siZiIsIjQ4MTc1MSJd... " ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Value examples\n", "moma.iloc[[101220, 63914, 131800, 136750], 0:20]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since the main goal of this project is to analyze the individual capabilities of the human brain, we'll focus on the artworks created by single authors, not teams.\n", "\n", "Let's inspect **the `date` columns** such as **`BeginDate`, `EndDate`, `Date`**." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(1995) (1966) (1965) 1\n", "(1995) (1968) (1965) 1\n", "(1996) 2\n", "(1996) (1960) (1961) 5\n", "(1996) (1963) (1965) (1963) (1966) (1965) 1\n", "(1996) (1963) (1966) (1965) (1963) (1965) 1\n", "(1997) 42\n", "(1997) (1964) (1966) 3\n", "(1997) (1988) (1938) (1968) 1\n", "(1998) 2\n", "(1998) (1972) 1\n", "(1999) 1\n", "(1999) (1979) 1\n", "(2000) 1\n", "(2000) (1969) (1972) 1\n", "(2000) (1971) (1972) 1\n", "(2001) (1955) 1\n", "(2002) (1957) (1959) (1958) (1971) (1958) (1964) (1965) (1963) (1958) (0) 1\n", "(2002) (1977) 1\n", "(2002) (1977) (1971) (1980) 3\n", "(2003) 3\n", "(2003) (0) 2\n", "(2003) (1973) (1972) (1973) 3\n", "(2004) 3\n", "(2004) (1973) (0) (0) 1\n", "(2004) (1976) 4\n", "(2005) 12\n", "(2005) (1943) (1953) (1965) (1960) (1967) (1960) (1967) (1974) (1999) (1959) (1996) (1976) (2004) (1952) (1996) (1988) 6\n", "(2006) (1974) (1976) (1976) 1\n", "(2006) (1975) (1983) 13\n", "(2007) 1\n", "(2007) (0) (1977) (1973) (0) (0) 6\n", "(2007) (1979) (1980) 3\n", "(2007) (1979) (1980) (0) (1977) 1\n", "(2009) (1980) (1983) 5\n", "(2010) 3\n", "(2012) 1\n", "(2014) 5\n", "(2016) (1978) (0) (2014) 15\n", "NaN 1314\n", "Name: BeginDate, dtype: int64\n", "Index(['(0)', '(0) (0)', '(0) (0) (0)', '(0) (0) (0) (0)', '(0) (0) (0) (0) (0)', '(0) (0) (0) (0) (0) (0)',\n", " '(0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0)',\n", " '(0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (1957)',\n", " '(0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (1957)',\n", " '(0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (1957)', '(0) (0) (0) (0) (0) (0) (0) (0) (0) (1957)',\n", " '(0) (0) (0) (0) (0) (0) (0) (1957)',\n", " '(0) (0) (0) (0) (0) (0) (1955) (0) (0) (1956) (0) (1943) (0) (1954) (0) (0) (0) (0)',\n", " '(0) (0) (0) (0) (0) (0) (1957)', '(0) (0) (0) (0) (0) (1923) (0) (0) (0)', '(0) (0) (0) (0) (0) (2001)',\n", " '(0) (0) (0) (0) (1937) (0) (0) (1939) (0)', '(0) (0) (0) (1867) (0)', '(0) (0) (0) (1872) (0)',\n", " '(0) (0) (0) (1875) (0) (0)', '(0) (0) (0) (1897)',\n", " '(0) (0) (0) (1922) (0) (0) (1933) (1937) (1916) (1899) (1935)', '(0) (0) (1862) (1861) (0)',\n", " '(0) (0) (1863) (0) (0)', '(0) (0) (1877)', '(0) (0) (1886) (1883)',\n", " '(0) (0) (1889) (1888) (1892) (0) (0) (1875) (0) (0) (1891) (0) (1891) (0) (1861) (0) (0) (0) (0) (0)',\n", " '(0) (0) (1894) (0) (0) (0) (1898)', '(0) (0) (1894) (0) (0) (1894) (0) (0) (0) (0)', '(0) (0) (1895)',\n", " '(0) (0) (1896) (1892)', '(0) (0) (1897) (1892)', '(0) (0) (1899) (0) (1883) (1891)', '(0) (0) (1902) (0)',\n", " '(0) (0) (1903)',\n", " '(0) (0) (1922) (1922) (1930) (1938) (1925) (1927) (1936) (1916) (1928) (1928) (1926) (1930) (0) (0) (0)',\n", " '(0) (0) (1925) (1894)', '(0) (0) (1925) (1900) (1904)', '(0) (0) (1926)',\n", " '(0) (0) (1934) (0) (1927) (1938) (0) (1927) (1940) (1933) (1929) (1936) (0) (1926) (1926) (1932) (1932) (0) (1930) (1930) (1925) (1935) (1932) (1928) (0)'],\n", " dtype='object')\n" ] } ], "source": [ "# Value examples\n", "print(moma['BeginDate'].value_counts(dropna=False).sort_index().tail(40),\n", " moma['BeginDate'].value_counts(dropna=False).sort_index().head(40).index,\n", " sep='\\n'\n", " )" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(2017) (0) (0) 10\n", "(2017) (0) (0) (0) (0) 1\n", "(2017) (0) (0) (0) (0) (0) (0) 1\n", "(2017) (0) (0) (0) (0) (0) (1988) (0) (0) (0) (0) (0) 1\n", "(2017) (0) (1970) (0) 1\n", "(2017) (1986) 1\n", "(2017) (2006) (2009) 23\n", "(2017) (2013) 1\n", "(2017) (2014) 3\n", "(2017) (2017) 1\n", "(2017) (2018) (2007) (1997) (0) (0) (0) 5\n", "(2018) 513\n", "(2018) (0) 2\n", "(2018) (0) (1978) (1993) 1\n", "(2018) (0) (2008) 2\n", "(2018) (1966) 4\n", "(2018) (1978) 2\n", "(2018) (1978) (0) 1\n", "(2018) (1987) 1\n", "(2018) (1988) 1\n", "(2018) (2006) (2009) 29\n", "(2018) (2017) (0) 1\n", "(2019) 479\n", "(2019) (0) 13\n", "(2019) (0) (0) 1\n", "(2019) (0) (0) (0) 1\n", "(2019) (0) (0) (0) (0) (0) (0) (0) 10\n", "(2019) (1958) 1\n", "(2019) (1981) 1\n", "(2019) (1998) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) 1\n", "(2020) 570\n", "(2020) (0) 6\n", "(2020) (0) (0) (0) (0) (2015) (0) (0) (2012) (2020) (0) (0) (0) (0) (0) 1\n", "(2020) (0) (1969) 1\n", "(2020) (1989) (0) 1\n", "(2020) (2006) 8\n", "(2020) (2006) (2009) 64\n", "(2020) (2010) 1\n", "(2020) (2011) 2\n", "NaN 1314\n", "Name: EndDate, dtype: int64\n", "Index(['(0)', '(0) (0)', '(0) (0) (0)', '(0) (0) (0) (0)', '(0) (0) (0) (0) (0)', '(0) (0) (0) (0) (0) (0)',\n", " '(0) (0) (0) (0) (0) (0) (0)', '(0) (0) (0) (0) (0) (0) (0) (0)', '(0) (0) (0) (0) (0) (0) (0) (0) (0)',\n", " '(0) (0) (0) (0) (0) (0) (0) (0) (0) (0)', '(0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0)',\n", " '(0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0)', '(0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0)',\n", " '(0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0)',\n", " '(0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0)',\n", " '(0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0)',\n", " '(0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0)',\n", " '(0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0)',\n", " '(0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (1999) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (1992) (0) (0)',\n", " '(0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (2017) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0) (0)',\n", " '(0) (0) (0) (0) (0) (0) (0) (0) (0) (2011) (1995) (0) (0) (0) (2007) (2017) (2005) (0) (2003) (0)',\n", " '(0) (0) (0) (0) (0) (0) (0) (0) (2009) (0)', '(0) (0) (0) (0) (0) (0) (1999) (0) (0) (0) (2005)',\n", " '(0) (0) (0) (0) (0) (0) (2013) (0)', '(0) (0) (0) (0) (0) (1997) (0) (0) (0)',\n", " '(0) (0) (0) (0) (0) (2004) (0) (0) (0)', '(0) (0) (0) (0) (0) (2012) (0) (0) (0) (0) (0) (0)',\n", " '(0) (0) (0) (0) (0) (2014) (0)', '(0) (0) (0) (0) (0) (2014) (0) (0) (0) (0) (0)',\n", " '(0) (0) (0) (0) (1983) (2008) (0) (0) (1987) (0) (2004) (2010) (2006) (0) (0) (1990) (2015) (2005) (2003) (0) (2019) (1990)',\n", " '(0) (0) (0) (0) (1988)', '(0) (0) (0) (0) (1991) (0)',\n", " '(0) (0) (0) (0) (1995) (1998) (0) (2006) (0) (0) (1998) (0) (0) (2017) (0) (1993) (2006) (0) (1998) (0) (1991) (0) (1998) (2013) (0)',\n", " '(0) (0) (0) (0) (1996) (0) (0) (0) (0) (0) (0) (0)', '(0) (0) (0) (0) (2009) (0)',\n", " '(0) (0) (0) (0) (2012) (0) (0) (0)', '(0) (0) (0) (1910) (0)', '(0) (0) (0) (1923) (0)', '(0) (0) (0) (1932)',\n", " '(0) (0) (0) (1936) (0)'],\n", " dtype='object')\n" ] } ], "source": [ "# Value examples\n", "print(moma['EndDate'].value_counts(dropna=False).sort_index().tail(40),\n", " moma['EndDate'].value_counts(dropna=False).sort_index().head(40).index,\n", " sep='\\n'\n", " )" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " 1961 1\n", "(1858) 1\n", "(1868-69?) 1\n", "(1873) 1\n", "(1883) 1\n", " ... \n", "version I, 1918 1\n", "version I, 1920 (close to the marble of 1915) 1\n", "winter 1908-09 1\n", "winter 1911-12 1\n", "NaN 2225\n", "Name: Date, Length: 9384, dtype: int64\n" ] } ], "source": [ "# Value examples\n", "print(moma['Date'].value_counts(dropna=False).sort_index())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The `BeginDate` and `EndDate` columns, like the `Gender` column, contain groups of values for the teams:\n", "\n", "- `(2020) (2006) (2009)`\n", "- `(0) (0) (0) (0)`\n", "- `(0) (0) (0) (1936) (0)`\n", "\n", "The `Date` column contains quite mixed data that needs to be cleaned up. The artwork creation date can be:\n", "\n", "- one year,\n", "- range of years.\n", "\n", "So, we have a following plan to clean up the data:\n", "\n", "1. Drop the rows where the `BeginDate` or `Date` columns contain null values, since we won't be able calculate the age.\n", "2. Drop the rows where artist is not a single author.\n", "3. For the `BeginDate` and `EndDate` columns:\n", "\n", " - Extract and convert the year to a number.\n", " - Assign it to the new columns `begin_date_clean` and `end_date_clean`.\n", "\n", "\n", "4. Clean up the gender and assign it to the `gender_clean` column.\n", "5. For the `Date` column:\n", "\n", " - If the date isn't a range:\n", "\n", " * Extract and convert the value to a number.\n", "\n", " - If the date is a range:\n", "\n", " * Extract two bound years.\n", " * Convert them to the integer type and then average them by adding them together and dividing by two.\n", " * Use the round() function to round the average, so values like 1872.5 become 1872.\n", "\n", " - Assign the year to the `data_clean` column.\n", "\n", "\n", "## Clearing The Data\n", "\n", "We'll perform data cleanup iteratively, step by step. We'll use hard-coded regular expression patterns to avoid missing any values.\n", "\n", "### Drop the columns\n", "\n", "First, let's drop the unnecessary columns from the dataframe. \n", "The `ConstituentID`, `Medium`, `Dimensions`, `CreditLine`, `AccessionNumber`, `DateAcquired`, `Cataloged`, `ObjectID`, `URL`, `ThumbnailURL`, `Circumference (cm)`, `Depth (cm)`, `Diameter (cm)`, `Height (cm)`, `Length (cm)`, `Weight (kg)`, `Width (cm)`, `Seat Height (cm)`, `Duration (sec.)` columns don't contain some useful information for our goal." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Before drop:\n", "Index(['Title', 'Artist', 'ConstituentID', 'ArtistBio', 'Nationality', 'BeginDate', 'EndDate', 'Gender', 'Date',\n", " 'Medium', 'Dimensions', 'CreditLine', 'AccessionNumber', 'Classification', 'Department', 'DateAcquired',\n", " 'Cataloged', 'ObjectID', 'URL', 'ThumbnailURL', 'Circumference (cm)', 'Depth (cm)', 'Diameter (cm)',\n", " 'Height (cm)', 'Length (cm)', 'Weight (kg)', 'Width (cm)', 'Seat Height (cm)', 'Duration (sec.)'],\n", " dtype='object')\n", "\n", "After drop:\n", "Index(['Title', 'Artist', 'ArtistBio', 'Nationality', 'BeginDate', 'EndDate', 'Gender', 'Date', 'Classification',\n", " 'Department'],\n", " dtype='object')\n" ] } ], "source": [ "print('Before drop:', moma.columns, sep='\\n', end='\\n\\n')\n", "\n", "# List to drop\n", "drop_cols = ['ConstituentID', 'Medium', 'Dimensions', 'CreditLine', 'AccessionNumber', 'DateAcquired',\n", " 'Cataloged', 'ObjectID', 'URL', 'ThumbnailURL', 'Circumference (cm)',\n", " 'Depth (cm)', 'Diameter (cm)', 'Height (cm)', 'Length (cm)', 'Weight (kg)', 'Width (cm)',\n", " 'Seat Height (cm)', 'Duration (sec.)'\n", " ]\n", "\n", "# Drop columns\n", "moma.drop(drop_cols, axis=1, inplace=True)\n", "\n", "print('After drop:', moma.columns, sep='\\n')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Rename the columns\n", "\n", "Let's convert the remaining column names to `snake_case` format." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Before rename:\n", "Index(['Title', 'Artist', 'ArtistBio', 'Nationality', 'BeginDate', 'EndDate', 'Gender', 'Date', 'Classification',\n", " 'Department'],\n", " dtype='object')\n", "\n", "After rename:\n", "Index(['title', 'artist', 'artist_bio', 'nationality', 'begin_date', 'end_date', 'gender', 'date', 'classification',\n", " 'department'],\n", " dtype='object')\n" ] } ], "source": [ "print('Before rename:', moma.columns, sep='\\n', end='\\n\\n')\n", "\n", "# Convert to lower case\n", "moma.columns = moma.columns.str.lower()\n", "\n", "# Add underline\n", "cols = {'artistbio':'artist_bio', 'begindate':'begin_date', 'enddate':'end_date'}\n", "moma.rename(columns=cols, inplace=True)\n", "\n", "print('After rename:', moma.columns, sep='\\n')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Clear the `ArtistBio` column\n", "\n", "The `ArtistBio` column contains some details about the artist. Years from this column are also represented in the `BeginDate` and `EndDate` columns we are interested in.\n", "\n", "As mentioned, we need to remove all companies and other author groups. For instance, the `ArtistBio` contains values such as `(British, founded 1967)` or `(Italian, established 1969)` for organizations.\n", "\n", "Also, the column may represent the artist's years of activity, rather than the years of life. Since we are interested in the year of birth to calculate the age, these rows are useless.\n", "\n", "Let's drop all of them." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " artist_bio artist_bio_pattern_drop\n", "0 (British, founded 1967) True\n", "1 (Italian, established 1969) True\n", "2 (est. 1933) True\n", "3 (American, active 1904–present) True\n", "\n" ] }, { "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>valid_count</th>\n", " <th>valid_percentage</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>True</th>\n", " <td>136719</td>\n", " <td>136719</td>\n", " </tr>\n", " <tr>\n", " <th>False</th>\n", " <td>1442</td>\n", " <td>1442</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " valid_count valid_percentage\n", "True 136719 136719\n", "False 1442 1442" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "artist_bio_pattern_drop = r'(?:founded|established|est\\.|active|formed)'\n", "\n", "# Test\n", "artist_bio_test = pd.DataFrame(['(British, founded 1967)',\n", " '(Italian, established 1969)',\n", " '(est. 1933)',\n", " '(American, active 1904–present)'\n", " ], columns=['artist_bio'])\n", "artist_bio_test['artist_bio_pattern_drop'] = artist_bio_test['artist_bio'].str.contains(artist_bio_pattern_drop, flags=re.I)\n", "print(artist_bio_test, end='\\n\\n')\n", "\n", "artist_bio_bool_drop = moma['artist_bio'].str.contains(artist_bio_pattern_drop, flags=re.I) # bool mask to drop\n", "artist_bio_bool_drop.fillna(False, inplace=True) # do not drop artist_bio with NaN\n", "\n", "# Number of valid (True) and invalid (False) rows\n", "artist_bio_cnt = (~artist_bio_bool_drop).value_counts(dropna=False)\n", "\n", "# Percentage of valid (True) and invalid (False) rows\n", "artist_bio_pct = artist_bio_cnt * 100 / moma.shape[0]\n", "artist_bio_pct = (~artist_bio_bool_drop).value_counts(dropna=False)\n", "\n", "artist_bio_stat = pd.DataFrame({'valid_count': artist_bio_cnt, 'valid_percentage': artist_bio_pct})\n", "artist_bio_stat" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Before drop:\n", "total: 138161\n", "True 136719\n", "False 1442\n", "Name: artist_bio, dtype: int64\n", "\n", "After drop:\n", "total: 136719\n", "True 136719\n", "Name: artist_bio, dtype: int64\n" ] } ], "source": [ "print('Before drop:')\n", "# Total number of rows before\n", "print('total:', moma.shape[0])\n", "# Number of valid (True) and invalid (False) rows\n", "print((~artist_bio_bool_drop).value_counts(dropna=False), end='\\n\\n')\n", "\n", "# Drop\n", "artist_bio_drop = moma[artist_bio_bool_drop].index # rows to drop\n", "moma.drop(index=artist_bio_drop, inplace=True)\n", "\n", "print('After drop:')\n", "# Total number of rows after\n", "print('total:', moma.shape[0])\n", "# Number of valid (True) and invalid (False) rows\n", "print((~(moma['artist_bio'].str.contains(artist_bio_pattern_drop, flags=re.I)\n", " .fillna(False)\n", " )\n", " ).value_counts(dropna=False)\n", " )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Clear the `BeginDate` column\n", "\n", "According to the plan above, we'll remove rows with `NaN` values." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Before dropna:\n", "total: 136719\n", "NaNs: 1314\n", "\n", "After dropna:\n", "total: 135405\n", "NaNs: 0\n" ] } ], "source": [ "print('Before dropna:')\n", "print('total:', moma.shape[0]) # print the total number of rows before\n", "print('NaNs:', moma['begin_date'].isna().sum(), end='\\n\\n') # print the number of NaNs before\n", "\n", "moma.dropna(subset=['begin_date'], axis=0, inplace=True) # drop NaNs\n", "\n", "print('After dropna:')\n", "print('total:', moma.shape[0]) # print the total number of rows after\n", "print('NaNs:', moma['begin_date'].isna().sum()) # print the number of NaNs after" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's remove rows containing a group of values from the dataset (for example, `(2020) (0) (1969)`), that is, organizations." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " begin_date begin_date_pattern\n", "0 (0) False\n", "1 (0) (0) False\n", "2 (1885) (0) False\n", "3 (0) (1995)(1895) (1847) (1900) False\n", "4 (1880) True\n", "\n" ] }, { "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>valid_count</th>\n", " <th>valid_percentage</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>True</th>\n", " <td>120458</td>\n", " <td>88.961264</td>\n", " </tr>\n", " <tr>\n", " <th>False</th>\n", " <td>14947</td>\n", " <td>11.038736</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " valid_count valid_percentage\n", "True 120458 88.961264\n", "False 14947 11.038736" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "begin_date_pattern = r'^\\(([0-2]\\d{3})\\)$'\n", "\n", "# Test\n", "begin_date_test = pd.DataFrame(['(0)',\n", " '(0) (0)',\n", " '(1885) (0)',\n", " '(0) (1995)'\n", " '(1895) (1847) (1900)',\n", " '(1880)'\n", " ], columns=['begin_date'])\n", "begin_date_test['begin_date_pattern'] = (begin_date_test['begin_date'].str.replace(r'\\s', '')\n", " .str.match(begin_date_pattern, flags=re.I)\n", " )\n", "print(begin_date_test, end='\\n\\n')\n", "\n", "# Valid rows\n", "begin_date_bool_valid = moma['begin_date'].str.replace(r'\\s', '').str.match(begin_date_pattern, flags=re.I)\n", "\n", "# Number of valid (True) and invalid (False) rows\n", "begin_date_cnt = begin_date_bool_valid.value_counts(dropna=False)\n", "\n", "# Percentage of valid (True) and invalid (False) rows\n", "begin_date_pct = begin_date_cnt * 100 / moma.shape[0]\n", "\n", "begin_date_stat = pd.DataFrame({'valid_count': begin_date_cnt, 'valid_percentage': begin_date_pct})\n", "begin_date_stat" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Although this is a large percentage (about 11%) of the total number of rows, we have to drop them." ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Before drop:\n", "total: 135405\n", "True 120458\n", "False 14947\n", "Name: begin_date, dtype: int64\n", "\n", "After drop:\n", "total: 120458\n", "True 120458\n", "Name: begin_date, dtype: int64\n", "\n" ] } ], "source": [ "print('Before drop:')\n", "# Total number of rows before\n", "print('total:', moma.shape[0])\n", "# Number of valid (True) and invalid (False) rows\n", "print(begin_date_bool_valid.value_counts(dropna=False), end='\\n\\n')\n", "\n", "# Drop\n", "begin_date_drop = moma[~begin_date_bool_valid].index # rows to drop\n", "moma.drop(index=begin_date_drop, inplace=True)\n", "\n", "print('After drop:')\n", "# Total number of rows after\n", "print('total:', moma.shape[0])\n", "# Number of valid (True) and invalid (False) rows\n", "print((moma['begin_date'].str.replace(r'\\s', '')\n", " .str.match(begin_date_pattern, flags=re.I)\n", " .value_counts(dropna=False)\n", " ), end='\\n\\n'\n", " )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's convert the years to the integer type and add these values to the new `begin_date_clean` column." ] }, { "cell_type": "code", "execution_count": 19, "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>begin_date</th>\n", " <th>begin_date_clean</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>(1841)</td>\n", " <td>1841</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>(1944)</td>\n", " <td>1944</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>(1876)</td>\n", " <td>1876</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>(1944)</td>\n", " <td>1944</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>(1876)</td>\n", " <td>1876</td>\n", " </tr>\n", " <tr>\n", " <th>5</th>\n", " <td>(1944)</td>\n", " <td>1944</td>\n", " </tr>\n", " <tr>\n", " <th>6</th>\n", " <td>(1944)</td>\n", " <td>1944</td>\n", " </tr>\n", " <tr>\n", " <th>7</th>\n", " <td>(1944)</td>\n", " <td>1944</td>\n", " </tr>\n", " <tr>\n", " <th>8</th>\n", " <td>(1944)</td>\n", " <td>1944</td>\n", " </tr>\n", " <tr>\n", " <th>9</th>\n", " <td>(1944)</td>\n", " <td>1944</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " begin_date begin_date_clean\n", "0 (1841) 1841\n", "1 (1944) 1944\n", "2 (1876) 1876\n", "3 (1944) 1944\n", "4 (1876) 1876\n", "5 (1944) 1944\n", "6 (1944) 1944\n", "7 (1944) 1944\n", "8 (1944) 1944\n", "9 (1944) 1944" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Extract the birth year\n", "moma['begin_date_clean'] = (moma['begin_date'].str.replace(r'\\s', '')\n", " .str.extract(begin_date_pattern, flags=re.I)\n", " .astype(int)\n", " )\n", "moma[['begin_date', 'begin_date_clean']].head(10) # check the values" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Clear the `EndDate` column\n", "\n", "The year of death is not directly involved in the calculation of age. However, we'll clean up the `end_date` column to use it for validation: `date <= end_date`.\n", "\n", "Let's check the column for `NaN` values." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "NaNs: 0\n" ] } ], "source": [ "print('NaNs:', moma['end_date'].isna().sum()) # print the number of NaNs" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are no empty values in the `end_date`. \n", "\n", "Let's take a look at the single year values." ] }, { "cell_type": "code", "execution_count": 21, "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>valid_count</th>\n", " <th>valid_percentage</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>True</th>\n", " <td>82898</td>\n", " <td>68.819007</td>\n", " </tr>\n", " <tr>\n", " <th>False</th>\n", " <td>37560</td>\n", " <td>31.180993</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " valid_count valid_percentage\n", "True 82898 68.819007\n", "False 37560 31.180993" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "end_date_pattern = r'^\\(([0-2]\\d{3})\\)$'\n", "\n", "# Valid rows\n", "end_date_bool_valid = moma['end_date'].str.replace(r'\\s', '').str.match(end_date_pattern, flags=re.I)\n", "\n", "# Number of valid (True) and invalid (False) rows\n", "end_date_cnt = end_date_bool_valid.value_counts(dropna=False)\n", "\n", "# Percentage of valid (True) and invalid (False) rows\n", "end_date_pct = end_date_cnt * 100 / moma.shape[0]\n", "\n", "end_date_stat = pd.DataFrame({'valid_count': end_date_cnt, 'valid_percentage': end_date_pct})\n", "end_date_stat" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(0) 37560\n", "Name: end_date, dtype: int64" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Inspect values\n", "moma.loc[~end_date_bool_valid, 'end_date'].value_counts()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "About 30% of the rows doesn't contain the year of death. \n", "\n", "We'll extract the years and convert them to an integer, then add those values to the `end_date_clean` column.\n", "Also we'll fill in the empty values with `0` in the `end_date_clean` column." ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "True 120458\n", "Name: end_date_clean, dtype: int64\n" ] }, { "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>end_date</th>\n", " <th>end_date_clean</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>(1918)</td>\n", " <td>1918</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>(0)</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>(1957)</td>\n", " <td>1957</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>(0)</td>\n", " <td>0</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>(1957)</td>\n", " <td>1957</td>\n", " </tr>\n", " <tr>\n", " <th>5</th>\n", " <td>(0)</td>\n", " <td>0</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " end_date end_date_clean\n", "0 (1918) 1918\n", "1 (0) 0\n", "2 (1957) 1957\n", "3 (0) 0\n", "4 (1957) 1957\n", "5 (0) 0" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Extract the death year\n", "moma['end_date_clean'] = (moma.loc[end_date_bool_valid, 'end_date'].str.replace(r'\\s', '')\n", " .str.extract(end_date_pattern, flags=re.I)\n", " )\n", "moma['end_date_clean'].fillna(0, inplace=True)\n", "moma['end_date_clean'] = moma['end_date_clean'].astype(int)\n", "\n", "# Number of valid (True) and invalid (False) rows\n", "print(moma['end_date_clean'].notnull().value_counts())\n", "moma[['end_date', 'end_date_clean']].head(6) # check the values" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Clear the `Gender` column\n", "\n", "We'll clean up the `Gender` column to create plots for men and women.\n", "\n", "Let's check for NaN values." ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "NaNs: 0\n" ] } ], "source": [ "print('NaNs:', moma['gender'].isna().sum()) # print the number of NaNs" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are no `NaN` values in the `gender` column.\n", "\n", "Let's consider the rows where the `gender` column contains a single value." ] }, { "cell_type": "code", "execution_count": 25, "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>valid_count</th>\n", " <th>valid_percentage</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>True</th>\n", " <td>120029</td>\n", " <td>99.643859</td>\n", " </tr>\n", " <tr>\n", " <th>False</th>\n", " <td>429</td>\n", " <td>0.356141</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " valid_count valid_percentage\n", "True 120029 99.643859\n", "False 429 0.356141" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "gender_pattern = r'^\\((?P<gender>(?:male|female))\\)$'\n", "\n", "# Valid rows\n", "gender_bool_valid = moma['gender'].str.replace(r'\\s', '').str.match(gender_pattern, flags=re.I)\n", "\n", "# Number of valid (True) and invalid (False) rows\n", "gender_cnt = gender_bool_valid.value_counts(dropna=False)\n", "\n", "# Percentage of valid (True) and invalid (False) rows\n", "gender_pct = gender_cnt * 100 / moma.shape[0]\n", "\n", "gender_stat = pd.DataFrame({'valid_count': gender_cnt, 'valid_percentage': gender_pct})\n", "gender_stat" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "() 418\n", "(Non-Binary) 11\n", "Name: gender, dtype: int64" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Inspect values\n", "moma.loc[~gender_bool_valid, 'gender'].value_counts()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The gender is not defined in 429 rows.\n", "\n", "We'll extract valid gender values and assign them to the `gender_clean` column." ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "True 120029\n", "False 429\n", "Name: gender_clean, dtype: int64\n", "\n", "male 102580\n", "female 17449\n", "NaN 429\n", "Name: gender_clean, dtype: int64\n" ] }, { "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>gender</th>\n", " <th>gender_clean</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>(Male)</td>\n", " <td>male</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>(Male)</td>\n", " <td>male</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>(Male)</td>\n", " <td>male</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>(Male)</td>\n", " <td>male</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>(Male)</td>\n", " <td>male</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " gender gender_clean\n", "0 (Male) male\n", "1 (Male) male\n", "2 (Male) male\n", "3 (Male) male\n", "4 (Male) male" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Extract the gender\n", "moma['gender_clean'] = (moma.loc[gender_bool_valid, 'gender'].str.replace(r'\\s', '')\n", " .str.extract(gender_pattern, flags=re.I)['gender']\n", " .str.lower()\n", " )\n", "# Number of valid (True) and invalid (False) rows\n", "print(moma['gender_clean'].notnull().value_counts(), end='\\n\\n')\n", "print(moma['gender_clean'].value_counts(dropna=False))\n", "moma[['gender', 'gender_clean']].head() # check the values" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Clear the `Nationality` column\n", "\n", "We'll process the this column to create plots depending on nationality.\n", "\n", "First, check for NaN values." ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "NaNs: 0\n" ] } ], "source": [ "print('NaNs:', moma['nationality'].isna().sum()) # print the number of NaNs" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "There are no `NaN` values in the `Nationality` column.\n", "\n", "Let's consider the rows where the `nationality` column contains a single value." ] }, { "cell_type": "code", "execution_count": 29, "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>valid_count</th>\n", " <th>valid_percentage</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>True</th>\n", " <td>120295</td>\n", " <td>99.864683</td>\n", " </tr>\n", " <tr>\n", " <th>False</th>\n", " <td>163</td>\n", " <td>0.135317</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " valid_count valid_percentage\n", "True 120295 99.864683\n", "False 163 0.135317" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "nationality_pattern = r'^\\((?P<nationality>(.+))\\)$'\n", "\n", "# Valid rows\n", "nationality_bool_valid = moma['nationality'].str.replace(r'\\s', '').str.match(nationality_pattern, flags=re.I)\n", "\n", "# Number of valid (True) and invalid (False) rows\n", "nationality_cnt = nationality_bool_valid.value_counts(dropna=False)\n", "\n", "# Percentage of valid (True) and invalid (False) rows\n", "nationality_pct = nationality_cnt * 100 / moma.shape[0]\n", "\n", "nationality_stat = pd.DataFrame({'valid_count': nationality_cnt, 'valid_percentage': nationality_pct})\n", "nationality_stat" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "() 163\n", "Name: nationality, dtype: int64" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Inspect values\n", "moma.loc[~nationality_bool_valid, 'nationality'].value_counts()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The nationality is not defined in 163 rows.\n", "\n", "We'll extract valid nationality values and assign them to the `nationality_clean` column." ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "True 120295\n", "False 163\n", "Name: nationality_clean, dtype: int64\n", "\n", "american 56038\n", "french 22392\n", "german 8955\n", "british 5306\n", "spanish 3082\n", " ... \n", "kuwaiti 1\n", "ugandan 1\n", "vietnamese 1\n", "nicaraguan 1\n", "azerbaijani 1\n", "Name: nationality_clean, Length: 113, dtype: int64\n" ] }, { "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>nationality</th>\n", " <th>nationality_clean</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>(Austrian)</td>\n", " <td>austrian</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>(French)</td>\n", " <td>french</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>(Austrian)</td>\n", " <td>austrian</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>()</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>(Austrian)</td>\n", " <td>austrian</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " nationality nationality_clean\n", "0 (Austrian) austrian\n", "1 (French) french\n", "2 (Austrian) austrian\n", "3 () NaN\n", "4 (Austrian) austrian" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Extract the nationality\n", "moma['nationality_clean'] = (moma.loc[nationality_bool_valid, 'nationality'].str.replace(r'\\s', '')\n", " .str.extract(nationality_pattern, flags=re.I)['nationality']\n", " .str.lower()\n", " )\n", "# Number of valid (True) and invalid (False) rows\n", "print(moma['nationality_clean'].notnull().value_counts(), end='\\n\\n')\n", "print(moma['nationality_clean'].value_counts(dropna=False))\n", "moma[['nationality', 'nationality_clean']].head() # check the values" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Clear the `Date` column\n", "\n", "Now, we'll continue with clearing the `date` column.\n", "\n", "As a reminder, we decided to process the `date` column as follows:\n", "\n", "- If the date isn't a range:\n", "\n", " * Extract and convert the value to a number.\n", "\n", "- If the date is a range:\n", "\n", " * Extract two bound years.\n", " * Convert them to the integer type and then average them by adding them together and dividing by two.\n", " * Use the round() function to round the average, so values like 1872.5 become 1872.\n", "\n", "- Assign the year to the `data_clean` column.\n", "\n", "Let's drop the rows with `NaN` values." ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Before dropna:\n", "total: 120458\n", "NaNs: 1362\n", "\n", "After dropna:\n", "total: 119096\n", "NaNs: 0\n" ] } ], "source": [ "print('Before dropna:')\n", "print('total:', moma.shape[0]) # print the total number of rows before\n", "print('NaNs:', moma['date'].isna().sum(), end='\\n\\n') # print the number of NaNs before\n", "\n", "moma.dropna(subset=['date'], axis=0, inplace=True) # drop NaNs\n", "\n", "print('After dropna:')\n", "print('total:', moma.shape[0]) # print the total number of rows after\n", "print('NaNs:', moma['date'].isna().sum()) # print the number of NaNs after" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "First, we'll prepare the data: remove `c.`, `(`, `)` and do some others replacements that you can see below." ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " date date_pattern_char_replace\n", "0 c. 1960s 1960s\n", "1 c. 1964, printed 1992 1964, printed 1992\n", "2 c.1935-1945 1935-1945\n", "3 c. 1983, signed 2007 1983, signed 2007\n", "4 (c. 1914-20) 1914-20\n", "5 1964, assembled c.1965 1964, assembled 1965\n", "6 1927. (Print executed c. 1925-1927). 1927. Print executed 1925-1927.\n", "7 published c. 1946 published 1946\n", "8 (1960s) 1960s\n", "9 1973 (published 1974) 1973 published 1974\n", "10 Published 1944 (Prints executed 1915-1930) Published 1944 Prints executed 1915-1930\n", "11 (September 29-October 24, 1967) September 29-October 24, 1967\n", "12 1965-66, printed 1983 1965-66, printed 1983\n", "13 1968 - 1972 1968-1972\n", "14 1947–49, published 1949 1947-49, published 1949\n", "15 Dec. 9, 1954 Dec. 9, 1954\n", "\n", "Before replace:\n", "138151 1935 (originals executed 1933–34)\n", "138152 1935 (originals executed 1933–34)\n", "138153 1935 (originals executed 1933–34)\n", "138154 1935 (originals executed 1933–34)\n", "138155 1935 (originals executed 1933–34)\n", "138156 1935 (originals executed 1933–34)\n", "138157 1935 (originals executed 1933–34)\n", "138158 1935 (originals executed 1933–34)\n", "138159 1935 (originals executed 1933–34)\n", "138160 1935 (originals executed 1933–34)\n", "Name: date, dtype: object\n", "\n", "After replace:\n", "138151 1935 originals executed 1933-34\n", "138152 1935 originals executed 1933-34\n", "138153 1935 originals executed 1933-34\n", "138154 1935 originals executed 1933-34\n", "138155 1935 originals executed 1933-34\n", "138156 1935 originals executed 1933-34\n", "138157 1935 originals executed 1933-34\n", "138158 1935 originals executed 1933-34\n", "138159 1935 originals executed 1933-34\n", "138160 1935 originals executed 1933-34\n", "Name: date, dtype: object\n" ] } ], "source": [ "date_pattern_char_replace = {r'(?:\\bc\\.\\s?|\\(|\\)|;|:)': '', # remove special chars\n", " r'\\s+': ' ', # reduce gaps\n", " r'(?:\\–|\\/|\\s\\-\\s)': '-' # set range character as hyphen\n", " } # dictionary to replace\n", "\n", "# Test\n", "date_test = pd.DataFrame(['c. 1960s',\n", " 'c. 1964, printed 1992',\n", " 'c.1935-1945',\n", " 'c. 1983, signed 2007',\n", " '(c. 1914-20)',\n", " '1964, assembled c.1965',\n", " '1927. (Print executed c. 1925-1927).',\n", " 'published c. 1946',\n", " '(1960s)',\n", " '1973 (published 1974)',\n", " 'Published 1944 (Prints executed 1915-1930)',\n", " '(September 29-October 24, 1967)',\n", " '1965-66, printed 1983',\n", " '1968 - 1972',\n", " '1947–49, published 1949',\n", " 'Dec. 9, 1954'\n", " ], columns=['date'])\n", "date_test['date_pattern_char_replace'] = date_test['date'].replace(regex=date_pattern_char_replace)\n", "print(date_test, end='\\n\\n')\n", "\n", "# Replace chars\n", "print('Before replace:', moma['date'].tail(10), sep='\\n', end='\\n\\n')\n", "moma['date'] = moma['date'].replace(regex=date_pattern_char_replace) # replace\n", "print('After replace:', moma['date'].tail(10), sep='\\n')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Look at the values without year pattern." ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "moma values:\n", "n.d. 676\n", "Unknown 123\n", "unknown 19\n", "London?, published in aid of the Comforts Fund for Women and Children of Sovie 7\n", "no date 4\n", "TBC 3\n", "New York 2\n", "TBD 2\n", "Various 1\n", "196? 1\n", "date of publicati 1\n", "newspaper published March 30 1\n", "Unkown 1\n", "n.d 1\n", "nd 1\n", "Name: date, dtype: int64\n", "\n", "Matched: 843\n" ] } ], "source": [ "date_pattern_drop_1 = r'([0-2]\\d{3})'\n", "\n", "date_bool_drop_1 = moma['date'].str.count(date_pattern_drop_1) == 0 # bool mask to drop\n", "\n", "# Inspect values\n", "print('moma values:', moma.loc[date_bool_drop_1, 'date'].value_counts(dropna=False), sep='\\n', end='\\n\\n')\n", "print('Matched: {}'.format(date_bool_drop_1.sum()))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It doesn't make sense to do data recovery as part of this project. So we'll get rid of these rows." ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Before drop 1:\n", "total: 119096\n", "True 118253\n", "False 843\n", "Name: date, dtype: int64\n", "\n", "After drop 1:\n", "total: 118253\n", "True 118253\n", "Name: date, dtype: int64\n" ] } ], "source": [ "print('Before drop 1:')\n", "# Total number of rows before\n", "print('total:', moma.shape[0])\n", "# Number of valid (True) and invalid (False) rows\n", "print((~date_bool_drop_1).value_counts(dropna=False), end='\\n\\n')\n", "\n", "# Drop\n", "date_drop_1 = moma[date_bool_drop_1].index # rows to drop\n", "moma.drop(index=date_drop_1, inplace=True)\n", "\n", "print('After drop 1:')\n", "# Total number of rows after\n", "print('total:', moma.shape[0])\n", "# Number of valid (True) and invalid (False) rows\n", "print((moma['date'].str.count(date_pattern_drop_1) != 0).value_counts(dropna=False))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We'll discard values such as `early 1940s`, `1920s`, since this is a rather vague period and therefore has no value for our task." ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " date date_pattern_drop_2\n", "0 1915? True\n", "1 1860s? True\n", "2 1880 ? True\n", "3 1920s True\n", "4 1880s-90s True\n", "5 1960s-1970s True\n", "6 1920s or 1930s True\n", "7 late 1950s True\n", "8 early 1940s True\n", "9 Early 1970's True\n", "\n", "moma values:\n", "early 1940s 152\n", "early 1930s 97\n", "1950s 84\n", "1960s 71\n", "1930s 63\n", "1920s 58\n", "1970s 54\n", "1901? 25\n", "1960s-1970s 12\n", "late 1950s 11\n", "1896? 11\n", "1990s 8\n", "early 1950s 8\n", "early 1960s 6\n", "1940s 6\n", "1870s 5\n", "late 1930s 4\n", "1980s 4\n", "1880s-90s 4\n", "late 1960s 4\n", "1850s 4\n", "1890s 3\n", "Late 1930s 3\n", "early 1970s 3\n", "late 1920s 3\n", "1960's 3\n", "Early 1950's 2\n", "1920s or 1930s 2\n", "1922? 2\n", "1956? 2\n", "1860s 2\n", "1840s 2\n", "1900? 2\n", "1930s or 1940s 2\n", "1910? 2\n", "1910s 2\n", "1970's 2\n", "1987? 1\n", "1880 ? 1\n", "1920's 1\n", "1908? 1\n", "1959? 1\n", "late 1850s 1\n", "1927? 1\n", "1915? 1\n", "Early 1960s 1\n", "1950s-1960s 1\n", "1860s or 70s 1\n", "1855? 1\n", "1879? 1\n", "late 1970's 1\n", "Early 1950s 1\n", "1880s 1\n", "Early 1970's 1\n", "1903? 1\n", "1969? 1\n", "early 1900s 1\n", "1860s? 1\n", "early 1980s 1\n", "1963? 1\n", "1930? 1\n", "1964? 1\n", "1929? 1\n", "late 1970s 1\n", "late 1940s 1\n", "1907? 1\n", "Name: date, dtype: int64\n", "\n", "Matched: 757\n" ] } ], "source": [ "date_pattern_drop_2 = (r'^(?:early|late)?\\s?[0-2]\\d{3}\\'?(?:s|\\s?\\?|s\\?)'\n", " '(?:(?:\\-|\\sor\\s)(?:[0-2]\\d)?\\d{2}\\'?(?:s|\\s?\\?|s\\?))?$'\n", " )\n", "\n", "# Test\n", "date_test = pd.DataFrame(['1915?',\n", " '1860s?',\n", " '1880 ?',\n", " '1920s',\n", " '1880s-90s',\n", " '1960s-1970s',\n", " '1920s or 1930s',\n", " 'late 1950s',\n", " 'early 1940s',\n", " 'Early 1970\\'s'\n", " ], columns=['date'])\n", "date_test['date_pattern_drop_2'] = date_test['date'].str.contains(date_pattern_drop_2, flags=re.I)\n", "print(date_test, end='\\n\\n')\n", "\n", "date_bool_drop_2 = moma['date'].str.contains(date_pattern_drop_2, flags=re.I) # bool mask to drop\n", "\n", "# Inspect values\n", "pd.set_option('display.max_rows', 80) # increase the number of rows to display\n", "print('moma values:', moma.loc[date_bool_drop_2, 'date'].value_counts(dropna=False), sep='\\n', end='\\n\\n')\n", "print('Matched: {}'.format(date_bool_drop_2.sum()))\n", "pd.reset_option('display.max_rows') # reset the number of rows to display to default" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Before drop 2:\n", "total: 118253\n", "True 117496\n", "False 757\n", "Name: date, dtype: int64\n", "\n", "After drop 2:\n", "total: 117496\n", "True 117496\n", "Name: date, dtype: int64\n" ] } ], "source": [ "print('Before drop 2:')\n", "# Total number of rows before\n", "print('total:', moma.shape[0])\n", "# Number of valid (True) and invalid (False) rows\n", "print((~date_bool_drop_2).value_counts(dropna=False), end='\\n\\n')\n", "\n", "# Drop\n", "date_drop_2 = moma[date_bool_drop_2].index # rows to drop\n", "moma.drop(index=date_drop_2, inplace=True)\n", "\n", "print('After drop 2:')\n", "# Total number of rows after\n", "print('total:', moma.shape[0])\n", "# Number of valid (True) and invalid (False) rows\n", "print((~moma['date'].str.contains(date_pattern_drop_2, flags=re.I)).value_counts(dropna=False))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And such as `Before 1900`, `After 1933`." ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " date date_pattern_drop_3\n", "0 Before 1900 True\n", "1 Before 1900? True\n", "2 After 1933 True\n", "3 after 1891 True\n", "\n", "moma values:\n", "Before 1900 177\n", "After 1933 62\n", "after 1891 34\n", "After 1924 16\n", "after 1938 9\n", "After 1929 8\n", "after 1888 6\n", "Before 1952 5\n", "after 1900 5\n", "Before 1899 4\n", "Before 1941 4\n", "Before 1948 3\n", "before 1927 3\n", "after 1910 2\n", "Before 1955 2\n", "after 1890 2\n", "Before 1910 2\n", "Before 1946 2\n", "Before 1900? 2\n", "before 1933 2\n", "Before 1975 2\n", "Before 1959 2\n", "before 1930 2\n", "After 1959 2\n", "Before 1979 1\n", "Before 1870 1\n", "Before 1931 1\n", "After 1925 1\n", "Before 1961 1\n", "before 1929 1\n", "after 1962 1\n", "After 1957 1\n", "before 1924 1\n", "Before 1929 1\n", "Before 1980 1\n", "Before 1949 1\n", "before 1887 1\n", "Before 1960 1\n", "before 1985 1\n", "Before 1935 1\n", "Before 1908 1\n", "Before 1954 1\n", "before 1943 1\n", "before 1971 1\n", "Before 1934 1\n", "after 1923 1\n", "Before 1933 1\n", "After 1954 1\n", "After 1852 1\n", "after 1895 1\n", "Before 1977 1\n", "Before 1932 1\n", "before 1928 1\n", "Name: date, dtype: int64\n", "\n", "Matched: 387\n" ] } ], "source": [ "date_pattern_drop_3 = r'^(?:before|after)\\s?[0-2]\\d{3}\\s?\\??$'\n", "\n", "# Test\n", "date_test = pd.DataFrame(['Before 1900',\n", " 'Before 1900?',\n", " 'After 1933',\n", " 'after 1891'\n", " ], columns=['date'])\n", "date_test['date_pattern_drop_3'] = date_test['date'].str.contains(date_pattern_drop_3, flags=re.I)\n", "print(date_test, end='\\n\\n')\n", "\n", "date_bool_drop_3 = moma['date'].str.contains(date_pattern_drop_3, flags=re.I) # bool mask to drop\n", "\n", "# Inspect values\n", "print('moma values:', moma.loc[date_bool_drop_3, 'date'].value_counts(dropna=False), sep='\\n', end='\\n\\n')\n", "print('Matched: {}'.format(date_bool_drop_3.sum()))" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Before drop 3:\n", "total: 117496\n", "True 117109\n", "False 387\n", "Name: date, dtype: int64\n", "\n", "After drop 3:\n", "total: 117109\n", "True 117109\n", "Name: date, dtype: int64\n" ] } ], "source": [ "print('Before drop 3:')\n", "# Total number of rows before\n", "print('total:', moma.shape[0])\n", "# Number of valid (True) and invalid (False) rows\n", "print((~date_bool_drop_3).value_counts(dropna=False), end='\\n\\n')\n", "\n", "# Drop\n", "date_drop_3 = moma[date_bool_drop_3].index # rows to drop\n", "moma.drop(index=date_drop_3, inplace=True)\n", "\n", "print('After drop 3:')\n", "# Total number of rows after\n", "print('total:', moma.shape[0])\n", "# Number of valid (True) and invalid (False) rows\n", "print((~moma['date'].str.contains(date_pattern_drop_3, flags=re.I)).value_counts(dropna=False))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As well as the rows with an indistinct year such as `1898 or earlier`." ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " date date_pattern_drop_4\n", "0 1898 or earlier True\n", "1 1898 or before? True\n", "\n", "moma values:\n", "1899 or before 25\n", "1910 or earlier 14\n", "1910 or before 6\n", "1939 or before 3\n", "1898 or earlier 2\n", "1898 or before? 2\n", "1853 or earlier 1\n", "1911 or after 1\n", "1931 or after 1\n", "1931 or earlier 1\n", "Name: date, dtype: int64\n", "\n", "Matched: 56\n" ] } ], "source": [ "date_pattern_drop_4 = r'^[0-2]\\d{3}\\sor\\s(?:before|after|earlier)\\??$'\n", "\n", "# Test\n", "date_test = pd.DataFrame(['1898 or earlier',\n", " '1898 or before?'\n", " ], columns=['date'])\n", "date_test['date_pattern_drop_4'] = date_test['date'].str.contains(date_pattern_drop_4, flags=re.I)\n", "print(date_test, end='\\n\\n')\n", "\n", "date_bool_drop_4 = moma['date'].str.contains(date_pattern_drop_4, flags=re.I) # bool mask to drop\n", "\n", "# Inspect values\n", "print('moma values:', moma.loc[date_bool_drop_4, 'date'].value_counts(dropna=False), sep='\\n', end='\\n\\n')\n", "print('Matched: {}'.format(date_bool_drop_4.sum()))" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Before drop 4:\n", "total: 117109\n", "True 117053\n", "False 56\n", "Name: date, dtype: int64\n", "\n", "After drop 4:\n", "total: 117053\n", "True 117053\n", "Name: date, dtype: int64\n" ] } ], "source": [ "print('Before drop 4:')\n", "# Total number of rows before\n", "print('total:', moma.shape[0])\n", "# Number of valid (True) and invalid (False) rows\n", "print((~date_bool_drop_4).value_counts(dropna=False), end='\\n\\n')\n", "\n", "# Drop\n", "date_drop_4 = moma[date_bool_drop_4].index # rows to drop\n", "moma.drop(index=date_drop_4, inplace=True)\n", "\n", "print('After drop 4:')\n", "# Total number of rows after\n", "print('total:', moma.shape[0])\n", "# Number of valid (True) and invalid (False) rows\n", "print((~moma['date'].str.contains(date_pattern_drop_4, flags=re.I)).value_counts(dropna=False))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For some artworks, the years of publication are specified instead of the years of creation (`published 1965`, `published April 1898`). We'll remove these data from the dataset." ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " date date_pattern_drop_5\n", "0 published 1965 True\n", "1 Published 1946 True\n", "2 published April 1898 True\n", "3 newspaper published May 15-16, 1999 True\n", "4 Published 1944 Prints executed 1915-1930 False\n", "\n", "moma values:\n", "published 1942 25\n", "published April 1898 5\n", "published November 1897 4\n", "published October 1897 4\n", "published December 1897 3\n", " ..\n", "newspaper published August 23-29, 2004 1\n", "newspaper published May 5, 2000 1\n", "published January 1985 1\n", "newspaper published November 4, 2000 1\n", "newspaper published July 25, 1995 1\n", "Name: date, Length: 296, dtype: int64\n", "\n", "Matched: 350\n" ] } ], "source": [ "date_pattern_drop_5 = r'(?!.*prints executed.*)^(?:newspapers?\\s)?(?:published.*)'\n", "\n", "# Test\n", "date_test = pd.DataFrame(['published 1965',\n", " 'Published 1946',\n", " 'published April 1898',\n", " 'newspaper published May 15-16, 1999',\n", " 'Published 1944 Prints executed 1915-1930' # must be False (we'll explore this later)\n", " ], columns=['date'])\n", "date_test['date_pattern_drop_5'] = date_test['date'].str.contains(date_pattern_drop_5, flags=re.I)\n", "print(date_test, end='\\n\\n')\n", "\n", "date_bool_drop_5 = moma['date'].str.contains(date_pattern_drop_5, flags=re.I) # bool mask to drop\n", "\n", "# Inspect values\n", "print('moma values:', moma.loc[date_bool_drop_5, 'date'].value_counts(dropna=False), sep='\\n', end='\\n\\n')\n", "print('Matched: {}'.format(date_bool_drop_5.sum()))" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Before drop 5:\n", "total: 117053\n", "True 116703\n", "False 350\n", "Name: date, dtype: int64\n", "\n", "After drop 5:\n", "total: 116703\n", "True 116703\n", "Name: date, dtype: int64\n" ] } ], "source": [ "print('Before drop 5:')\n", "# Total number of rows before\n", "print('total:', moma.shape[0])\n", "# Number of valid (True) and invalid (False) rows\n", "print((~date_bool_drop_5).value_counts(dropna=False), end='\\n\\n')\n", "\n", "# Drop\n", "date_drop_5 = moma[date_bool_drop_5].index # rows to drop\n", "moma.drop(index=date_drop_5, inplace=True)\n", "\n", "print('After drop 5:')\n", "# Total number of rows after\n", "print('total:', moma.shape[0])\n", "# Number of valid (True) and invalid (False) rows\n", "print((~moma['date'].str.contains(date_pattern_drop_5, flags=re.I)).value_counts(dropna=False))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's distinguish three groups among the remaining values:\n", "\n", "- Year or range of years followed by additional information, for instance:\n", " - year of printing `(1964, printed 1992)`,\n", " - years of assembly `(1961, assembled 1964-65)`. \n", "\n", "- Year or range of years specified after `executed`:\n", " - `(1922, executed 1920-21)`,\n", " - for prints `(Print executed 1936)`. \n", "\n", "- Year or range of years with detailed information such as season, month, date, place, etc., such as:\n", " - `September 29-October 24, 1967`,\n", " - `August 5, 1877-June 22, 1894`,\n", " - `Fontainebleau, summer 1921`.\n", "\n", "\n", "We'll consider each case separately.\n", "\n", "In *the first case* we'll do the following:\n", "\n", "- Replace the secondary words with placeholder `updated` for convenience.\n", "- Extract the year or years of creation.\n", "- Store them in the additional columns `year_1` and `year_2` of the `moma` dataframe." ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " date year_1 year_2\n", "0 1896 1896 NaN\n", "1 1941-1948 1941 1948\n", "2 1969-70 1969 70\n", "3 1965 printed 2014 1965 NaN\n", "4 1964, printed 1992 1964 NaN\n", "5 2000-01, printed 2007 2000 01\n", "6 1973 published 1974 1973 NaN\n", "7 1941, published 1943 1941 NaN\n", "8 1975 Published 1976. 1975 NaN\n", "9 1947-49, published 1949 1947 49\n", "10 1918, published 1922-1923 1918 NaN\n", "11 1961, assembled 1964-65 1961 NaN\n", "12 1969, realized 1973 1969 NaN\n", "13 1983, signed 2007 1983 NaN\n", "14 1945, reprinted 1990 1945 NaN\n", "15 1961, reconstructed 1981 1961 NaN\n", "16 1963, fabricated 1975 1963 NaN\n", "17 1985, released 1990 1985 NaN\n", "18 1944, printed in 1967 1944 NaN\n", "19 1966 repainted in 1990 1966 NaN\n", "20 1950-52 manufactured 1955 1950 52\n", "21 1950-55-1980 1950 55\n", "\n", "moma values:\n", "1963-66, published 1966 1\n", "1953-1959 1\n", "1964-73 1\n", "1936, published 1938 1\n", "1983-2002 1\n", "1976-82 1\n", "1910-1915 1\n", "1960, assembled 1976 1\n", "1956-59 1\n", "1949-50, printed 1966 1\n", "1962-80, assembled 1980 1\n", "1958-87 1\n", "1926-27 cast 1976 1\n", "2001-2008 1\n", "1854-58 1\n", "1912, published 1921 1\n", "1893-1931 1\n", "1881-86 1\n", "1960-62, assembled 1965 1\n", "1967, printed in 1968 1\n", "1963-1978 1\n", "1944 cast 1954 1\n", "1898, published 1918 1\n", "1974-82 1\n", "1945, printed 1980 1\n", "1949, printed 1980 1\n", "1961-2010 1\n", "1986-88 1\n", "1969, published 1976 1\n", "1915 published 1918 1\n", "1902-09 1\n", "1882-84 1\n", "1897, printed 1950 1\n", "1928-50 1\n", "1966-1980 1\n", "1943-49 1\n", "1923-27 1\n", "1966 repainted in 1990 1\n", "1938-39 cast 1959 1\n", "1948 reprinted 1990 1\n", "Name: date, dtype: int64\n", "\n", "Matched: 110718\n" ] } ], "source": [ "date_updated_replace = (r'(?:published|repainted\\sin|printed\\sin|printed|assembled|'\n", " 'realized|signed|reprinted|reconstructed|fabricated|'\n", " 'released|cast|arranged|manufactured)'\n", " ) # keys to replace with placeholder\n", "date_pattern_1 = (r'^(?P<year_1>[0-2]\\d{3})'\n", " '(?:\\-(?P<year_2>(?:[0-2]\\d)?\\d{2}))?'\n", " '(?:,?(?:\\supdated|\\-)\\s?[0-2]\\d{3}(?:\\-(?:[0-2]\\d)?\\d{2})?)?s?\\.?$'\n", " )\n", "\n", "# Test\n", "date_test = pd.DataFrame(['1896',\n", " '1941-1948',\n", " '1969-70',\n", " '1965 printed 2014',\n", " '1964, printed 1992',\n", " '2000-01, printed 2007',\n", " '1973 published 1974',\n", " '1941, published 1943',\n", " '1975 Published 1976.',\n", " '1947-49, published 1949',\n", " '1918, published 1922-1923',\n", " '1961, assembled 1964-65',\n", " '1969, realized 1973',\n", " '1983, signed 2007',\n", " '1945, reprinted 1990',\n", " '1961, reconstructed 1981',\n", " '1963, fabricated 1975',\n", " '1985, released 1990',\n", " '1944, printed in 1967',\n", " '1966 repainted in 1990',\n", " '1950-52 manufactured 1955',\n", " '1950-55-1980'\n", " ], columns=['date'])\n", "date_test[['year_1', 'year_2']] = (date_test['date'].str.replace(date_updated_replace, 'updated', flags=re.I)\n", " .str.extract(date_pattern_1, flags=re.I)\n", " )\n", "print(date_test, end='\\n\\n')\n", "\n", "date_bool_1 = (moma['date'].str.replace(date_updated_replace, 'updated', flags=re.I)\n", " .str.match(date_pattern_1, flags=re.I)\n", " ) # bool mask to extract the years\n", "\n", "# Inspect values\n", "print('moma values:', moma.loc[date_bool_1, 'date'].value_counts(dropna=False).tail(40), sep='\\n', end='\\n\\n')\n", "print('Matched: {}'.format(date_bool_1.sum()))" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Before extract 1:\n", "total: 116703\n", "True 110718\n", "False 5985\n", "Name: date, dtype: int64\n", "\n", "After extract 1:\n", " date year_1 year_2\n", "count 116703 110718 20104\n", "unique 6236 195 236\n", "\n" ] }, { "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>date</th>\n", " <th>year_1</th>\n", " <th>year_2</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>1896</td>\n", " <td>1896</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>1987</td>\n", " <td>1987</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>1903</td>\n", " <td>1903</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>1980</td>\n", " <td>1980</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>1903</td>\n", " <td>1903</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>5</th>\n", " <td>1976-77</td>\n", " <td>1976</td>\n", " <td>77</td>\n", " </tr>\n", " <tr>\n", " <th>6</th>\n", " <td>1976-77</td>\n", " <td>1976</td>\n", " <td>77</td>\n", " </tr>\n", " <tr>\n", " <th>7</th>\n", " <td>1976-77</td>\n", " <td>1976</td>\n", " <td>77</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " date year_1 year_2\n", "0 1896 1896 NaN\n", "1 1987 1987 NaN\n", "2 1903 1903 NaN\n", "3 1980 1980 NaN\n", "4 1903 1903 NaN\n", "5 1976-77 1976 77\n", "6 1976-77 1976 77\n", "7 1976-77 1976 77" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "print('Before extract 1:')\n", "# Total number of rows\n", "print('total:', moma.shape[0])\n", "# Number of rows matching the pattern (True) and the rest (False)\n", "print(date_bool_1.value_counts(dropna=False), end='\\n\\n')\n", "\n", "# Extract\n", "moma.loc[date_bool_1, ['year_1', 'year_2']] = (moma.loc[date_bool_1, 'date']\n", " .str.replace(date_updated_replace, 'updated', flags=re.I)\n", " .str.extract(date_pattern_1, flags=re.I)\n", " )\n", "\n", "# Inspect values\n", "print('After extract 1:', moma[['date', 'year_1', 'year_2']].describe().loc[['count', 'unique']], sep='\\n', end='\\n\\n')\n", "moma.loc[date_bool_1, ['date', 'year_1', 'year_2']].head(8)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We have extracted most of the data in the `Date` column (94.9%)!\n", "\n", "Let's move on to *the second case* (that is, `executed`)." ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Illustrated Book 630\n", "Print 11\n", "Periodical 2\n", "Name: classification, dtype: int64" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(moma.loc[moma['date'].str.contains(r'print executed', flags=re.I), 'classification']\n", " .value_counts()\n", ")" ] }, { "cell_type": "code", "execution_count": 47, "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>title</th>\n", " <th>artist</th>\n", " <th>artist_bio</th>\n", " <th>nationality</th>\n", " <th>begin_date</th>\n", " <th>end_date</th>\n", " <th>gender</th>\n", " <th>date</th>\n", " <th>classification</th>\n", " <th>department</th>\n", " <th>begin_date_clean</th>\n", " <th>end_date_clean</th>\n", " <th>gender_clean</th>\n", " <th>nationality_clean</th>\n", " <th>year_1</th>\n", " <th>year_2</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>7951</th>\n", " <td>Group in a Storm (Gruppe im Sturm)(plate 14) f...</td>\n", " <td>Ernst Barlach</td>\n", " <td>(German, 1870–1938)</td>\n", " <td>(German)</td>\n", " <td>(1870)</td>\n", " <td>(1938)</td>\n", " <td>(Male)</td>\n", " <td>1920 print executed 1919</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1870</td>\n", " <td>1938</td>\n", " <td>male</td>\n", " <td>german</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>7961</th>\n", " <td>Peasants Strolling (Bauerngang) from the illus...</td>\n", " <td>Heinrich Campendonk</td>\n", " <td>(German, 1889–1957)</td>\n", " <td>(German)</td>\n", " <td>(1889)</td>\n", " <td>(1957)</td>\n", " <td>(Male)</td>\n", " <td>1920 print executed 1918</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1889</td>\n", " <td>1957</td>\n", " <td>male</td>\n", " <td>german</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>7962</th>\n", " <td>Sick Girl (Krankes Mädchen) (plate 19) from th...</td>\n", " <td>Erich Heckel</td>\n", " <td>(German, 1883–1970)</td>\n", " <td>(German)</td>\n", " <td>(1883)</td>\n", " <td>(1970)</td>\n", " <td>(Male)</td>\n", " <td>1920 print executed 1913</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1883</td>\n", " <td>1970</td>\n", " <td>male</td>\n", " <td>german</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>7964</th>\n", " <td>Woman Desired by Man (Weib vom Manne begehrt) ...</td>\n", " <td>Max Pechstein</td>\n", " <td>(German, 1881–1955)</td>\n", " <td>(German)</td>\n", " <td>(1881)</td>\n", " <td>(1955)</td>\n", " <td>(Male)</td>\n", " <td>1920 print executed 1919</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1881</td>\n", " <td>1955</td>\n", " <td>male</td>\n", " <td>german</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>7965</th>\n", " <td>Woman's Head (plate 22) from the illustrated b...</td>\n", " <td>Karl Schmidt-Rottluff</td>\n", " <td>(German, 1884–1976)</td>\n", " <td>(German)</td>\n", " <td>(1884)</td>\n", " <td>(1976)</td>\n", " <td>(Male)</td>\n", " <td>1920 print executed in 1916</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1884</td>\n", " <td>1976</td>\n", " <td>male</td>\n", " <td>german</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>...</th>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " </tr>\n", " <tr>\n", " <th>100039</th>\n", " <td>40 dessins de Picasso en marge du Buffon</td>\n", " <td>Pablo Picasso</td>\n", " <td>(Spanish, 1881–1973)</td>\n", " <td>(Spanish)</td>\n", " <td>(1881)</td>\n", " <td>(1973)</td>\n", " <td>(Male)</td>\n", " <td>Paris, Berggruen, 1957. Print executed 1954-1957.</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1881</td>\n", " <td>1973</td>\n", " <td>male</td>\n", " <td>spanish</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>100040</th>\n", " <td>40 dessins de Picasso en marge du Buffon</td>\n", " <td>Pablo Picasso</td>\n", " <td>(Spanish, 1881–1973)</td>\n", " <td>(Spanish)</td>\n", " <td>(1881)</td>\n", " <td>(1973)</td>\n", " <td>(Male)</td>\n", " <td>Paris, Berggruen, 1957. Print executed 1954-1957.</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1881</td>\n", " <td>1973</td>\n", " <td>male</td>\n", " <td>spanish</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>102304</th>\n", " <td>Members of the Brücke Artists' Group (Titelvig...</td>\n", " <td>Ernst Ludwig Kirchner</td>\n", " <td>(German, 1880–1938)</td>\n", " <td>(German)</td>\n", " <td>(1880)</td>\n", " <td>(1938)</td>\n", " <td>(Male)</td>\n", " <td>1910 print executed 1907</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1880</td>\n", " <td>1938</td>\n", " <td>male</td>\n", " <td>german</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>102305</th>\n", " <td>PM (Passive Members) [PM (Passive Mitglieder)]...</td>\n", " <td>Ernst Ludwig Kirchner</td>\n", " <td>(German, 1880–1938)</td>\n", " <td>(German)</td>\n", " <td>(1880)</td>\n", " <td>(1938)</td>\n", " <td>(Male)</td>\n", " <td>1910 print executed 1907</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1880</td>\n", " <td>1938</td>\n", " <td>male</td>\n", " <td>german</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>102306</th>\n", " <td>PM (Passive Members) [PM (Passive Mitglieder)]...</td>\n", " <td>Ernst Ludwig Kirchner</td>\n", " <td>(German, 1880–1938)</td>\n", " <td>(German)</td>\n", " <td>(1880)</td>\n", " <td>(1938)</td>\n", " <td>(Male)</td>\n", " <td>1910 print executed 1908</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1880</td>\n", " <td>1938</td>\n", " <td>male</td>\n", " <td>german</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "<p>643 rows × 16 columns</p>\n", "</div>" ], "text/plain": [ " title artist artist_bio nationality \\\n", "7951 Group in a Storm (Gruppe im Sturm)(plate 14) f... Ernst Barlach (German, 1870–1938) (German) \n", "7961 Peasants Strolling (Bauerngang) from the illus... Heinrich Campendonk (German, 1889–1957) (German) \n", "7962 Sick Girl (Krankes Mädchen) (plate 19) from th... Erich Heckel (German, 1883–1970) (German) \n", "7964 Woman Desired by Man (Weib vom Manne begehrt) ... Max Pechstein (German, 1881–1955) (German) \n", "7965 Woman's Head (plate 22) from the illustrated b... Karl Schmidt-Rottluff (German, 1884–1976) (German) \n", "... ... ... ... ... \n", "100039 40 dessins de Picasso en marge du Buffon Pablo Picasso (Spanish, 1881–1973) (Spanish) \n", "100040 40 dessins de Picasso en marge du Buffon Pablo Picasso (Spanish, 1881–1973) (Spanish) \n", "102304 Members of the Brücke Artists' Group (Titelvig... Ernst Ludwig Kirchner (German, 1880–1938) (German) \n", "102305 PM (Passive Members) [PM (Passive Mitglieder)]... Ernst Ludwig Kirchner (German, 1880–1938) (German) \n", "102306 PM (Passive Members) [PM (Passive Mitglieder)]... Ernst Ludwig Kirchner (German, 1880–1938) (German) \n", "\n", " begin_date end_date gender date classification \\\n", "7951 (1870) (1938) (Male) 1920 print executed 1919 Illustrated Book \n", "7961 (1889) (1957) (Male) 1920 print executed 1918 Illustrated Book \n", "7962 (1883) (1970) (Male) 1920 print executed 1913 Illustrated Book \n", "7964 (1881) (1955) (Male) 1920 print executed 1919 Illustrated Book \n", "7965 (1884) (1976) (Male) 1920 print executed in 1916 Illustrated Book \n", "... ... ... ... ... ... \n", "100039 (1881) (1973) (Male) Paris, Berggruen, 1957. Print executed 1954-1957. Illustrated Book \n", "100040 (1881) (1973) (Male) Paris, Berggruen, 1957. Print executed 1954-1957. Illustrated Book \n", "102304 (1880) (1938) (Male) 1910 print executed 1907 Illustrated Book \n", "102305 (1880) (1938) (Male) 1910 print executed 1907 Illustrated Book \n", "102306 (1880) (1938) (Male) 1910 print executed 1908 Illustrated Book \n", "\n", " department begin_date_clean end_date_clean gender_clean nationality_clean year_1 year_2 \n", "7951 Drawings & Prints 1870 1938 male german NaN NaN \n", "7961 Drawings & Prints 1889 1957 male german NaN NaN \n", "7962 Drawings & Prints 1883 1970 male german NaN NaN \n", "7964 Drawings & Prints 1881 1955 male german NaN NaN \n", "7965 Drawings & Prints 1884 1976 male german NaN NaN \n", "... ... ... ... ... ... ... ... \n", "100039 Drawings & Prints 1881 1973 male spanish NaN NaN \n", "100040 Drawings & Prints 1881 1973 male spanish NaN NaN \n", "102304 Drawings & Prints 1880 1938 male german NaN NaN \n", "102305 Drawings & Prints 1880 1938 male german NaN NaN \n", "102306 Drawings & Prints 1880 1938 male german NaN NaN \n", "\n", "[643 rows x 16 columns]" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Value examples\n", "(moma.loc[moma['date'].str.contains(r'print executed', flags=re.I)])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We need to extract the year when the print was created.\n", "\n", "Now let's process the values with `originals executed` etc." ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " date year_1 year_2\n", "0 1921 executed 1920 1920 NaN\n", "1 1922, executed 1920-21 1920 21\n", "2 1935 originals executed 1933-34 1933 34\n", "3 1935 drawings executed 1933-34 1933 34\n", "4 1922-23 original executed in 1922 1922 NaN\n", "5 1973-1974, executed 1973 1973 NaN\n", "6 Print executed 1936 1936 NaN\n", "7 Prints executed 1956 1956 NaN\n", "8 1950, print executed 1949-50 1949 50\n", "9 1972. Print executed 1971-1972. 1971 1972\n", "10 1962. Print executed 1960. 1960 NaN\n", "11 1944. Print executed 1942. 1942 NaN\n", "12 1927. Print executed 1925-1927. 1925 1927\n", "13 1963 Woodcuts executed 1907 1907 NaN\n", "14 1970. Sculpture executed 1968-1970. 1968 1970\n", "\n", "moma values:\n", "1898, prints executed 1897 1\n", "Prints executed 1953 1\n", "1950, prints executed 1945-1950 1\n", "1951. Prints executed 1948-1951. 1\n", "Print executed 1945 1\n", "1950. prints executed 1949. 1\n", "1951. Print executed 1942. 1\n", "1953 original executed in 1932 1\n", "Print executed 1909-1917 1\n", "1918 prints executed 1917 1\n", "Print executed 1930-1932 1\n", "1828. Prints executed 1826-1827. 1\n", "1926 print executed 1921 1\n", "Print executed 1924-1925 1\n", "1962, prints executed 1948 1\n", "1922 prints executed 1921 1\n", "1983. Prints executed 1981-1983. 1\n", "1917 executed 1914 1\n", "1944. Prints executed 1943. 1\n", "1962 Prints executed 1959-1961. 1\n", "1963. Prints executed 1949-1963. 1\n", "1968. Prints executed 1966-1967. 1\n", "1965. Prints executed 1964. 1\n", "1921. Prints executed 1920-1921. 1\n", "1968, prints executed 1967-68 1\n", "1920 print executed in 1916 1\n", "1931. Prints executed 1930. 1\n", "1920 print executed 1916 1\n", "Print executed 1960 1\n", "1918 executed 1911 1\n", "Prints executed 1954-1955 1\n", "1948. Prints executed 1942-1948. 1\n", "1947. Prints executed 1946-1947. 1\n", "1954, woodcut executed 1948 1\n", "1920 print executed 1918 1\n", "1927. Print executed 1926-1927. 1\n", "Print executed 1921 1\n", "Prints executed 1956-1957 1\n", "1930, prints executed 1929 1\n", "1964 Prints executed 1963 1\n", "Name: date, dtype: int64\n", "\n", "Matched: 1110\n" ] } ], "source": [ "date_char_trim = r'[\\.,]'\n", "date_pattern_2 = (r'^(?:[0-2]\\d{3})?(?:\\-\\d{2,4})?,?\\s?'\n", " '(?:originals?|drawings?|prints?|woodcuts?|sculpture?)?\\s?executed\\s(?:in\\s)?'\n", " '(?P<year_1>[0-2]\\d{3})(?:\\-(?P<year_2>(?:[0-2]\\d)?\\d{2}))?$'\n", " )\n", "\n", "# Test\n", "date_test = pd.DataFrame(['1921 executed 1920',\n", " '1922, executed 1920-21',\n", " '1935 originals executed 1933-34',\n", " '1935 drawings executed 1933-34',\n", " '1922-23 original executed in 1922',\n", " '1973-1974, executed 1973',\n", " 'Print executed 1936',\n", " 'Prints executed 1956',\n", " '1950, print executed 1949-50',\n", " '1972. Print executed 1971-1972.',\n", " '1962. Print executed 1960.',\n", " '1944. Print executed 1942.',\n", " '1927. Print executed 1925-1927.',\n", " '1963 Woodcuts executed 1907',\n", " '1970. Sculpture executed 1968-1970.'\n", " ], columns=['date'])\n", "date_test[['year_1', 'year_2']] = (date_test['date'].str.replace(date_char_trim, '', flags=re.I)\n", " .str.extract(date_pattern_2, flags=re.I)\n", " )\n", "print(date_test, end='\\n\\n')\n", "\n", "date_bool_2 = (moma['date'].str.replace(date_char_trim, '', flags=re.I)\n", " .str.match(date_pattern_2, flags=re.I)\n", " ) # bool mask to extract the years\n", "\n", "# Inspect values\n", "print('moma values:', moma.loc[date_bool_2, 'date'].value_counts(dropna=False).tail(40), sep='\\n', end='\\n\\n')\n", "print('Matched: {}'.format(date_bool_2.sum()))" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Before extract 2:\n", "total: 116703\n", "False 115593\n", "True 1110\n", "Name: date, dtype: int64\n", "\n", "After extract 2:\n", " date year_1 year_2\n", "count 116703 111828 20470\n", "unique 6236 195 238\n", "\n" ] }, { "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>date</th>\n", " <th>year_1</th>\n", " <th>year_2</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>11027</th>\n", " <td>1944. Print executed 1938.</td>\n", " <td>1938</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>11029</th>\n", " <td>1944. Print executed 1942.</td>\n", " <td>1942</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>11030</th>\n", " <td>1944. Print executed 1942.</td>\n", " <td>1942</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>11031</th>\n", " <td>1944. Print executed 1942.</td>\n", " <td>1942</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>11481</th>\n", " <td>1963 Woodcuts executed 1907</td>\n", " <td>1907</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>11773</th>\n", " <td>1962. Prints executed 1960-1962.</td>\n", " <td>1960</td>\n", " <td>1962</td>\n", " </tr>\n", " <tr>\n", " <th>11843</th>\n", " <td>1918. Prints executed 1913.</td>\n", " <td>1913</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>12004</th>\n", " <td>1921. Prints executed 1920-1921.</td>\n", " <td>1920</td>\n", " <td>1921</td>\n", " </tr>\n", " <tr>\n", " <th>12011</th>\n", " <td>1981. Prints executed 1979-1981.</td>\n", " <td>1979</td>\n", " <td>1981</td>\n", " </tr>\n", " <tr>\n", " <th>12138</th>\n", " <td>1919, executed 1918</td>\n", " <td>1918</td>\n", " <td>NaN</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " date year_1 year_2\n", "11027 1944. Print executed 1938. 1938 NaN\n", "11029 1944. Print executed 1942. 1942 NaN\n", "11030 1944. Print executed 1942. 1942 NaN\n", "11031 1944. Print executed 1942. 1942 NaN\n", "11481 1963 Woodcuts executed 1907 1907 NaN\n", "11773 1962. Prints executed 1960-1962. 1960 1962\n", "11843 1918. Prints executed 1913. 1913 NaN\n", "12004 1921. Prints executed 1920-1921. 1920 1921\n", "12011 1981. Prints executed 1979-1981. 1979 1981\n", "12138 1919, executed 1918 1918 NaN" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "print('Before extract 2:')\n", "# Total number of rows\n", "print('total:', moma.shape[0])\n", "# Number of rows matching the pattern (True) and the rest (False)\n", "print(date_bool_2.value_counts(dropna=False), end='\\n\\n')\n", "\n", "# Extract\n", "moma.loc[date_bool_2, ['year_1', 'year_2']] = (moma.loc[date_bool_2, 'date'].str.replace(date_char_trim, '', flags=re.I)\n", " .str.extract(date_pattern_2, flags=re.I)\n", " )\n", "\n", "# Inspect values\n", "print('After extract 2:', moma[['date', 'year_1', 'year_2']].describe().loc[['count', 'unique']], sep='\\n', end='\\n\\n')\n", "moma.loc[date_bool_2, ['date', 'year_1', 'year_2']][120:130]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's continue with *the third case*. \n", "\n", "\n", "We'll classify this group of values as special cases. \n", "Since it is better for our task to drop data than to have questionable cleaned data, we will only clean up the values that we can say for sure that this is the year the artwork was created.\n", "\n", "For convenience, we'll first create a dictionary, with the patterns we are sure of. Then we'll extract the year or range of years the artwork was created from the values corresponding to the dictionary." ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " date date_pattern_special year_1 year_2_2 year_2_4 year_2\n", "0 October 1977 True 1977 NaN NaN NaN\n", "1 August 15 1966 True 1966 NaN NaN NaN\n", "2 February 1, 1970 True 1970 NaN NaN NaN\n", "3 May 15, 1962. True 1962 NaN NaN NaN\n", "4 11 July 1854 True 1854 NaN NaN NaN\n", "5 May-June 1991 True 1991 NaN NaN NaN\n", "6 May 13-19, 1970 True 1970 NaN NaN NaN\n", "7 May 2-10 1969 True 1969 NaN NaN NaN\n", "8 September 29-October 24, 1967 True 1967 NaN NaN NaN\n", "9 August 5, 1877-June 22, 1894 True 1877 NaN 1894 1894\n", "10 Dec. 9, 1954 True 1954 NaN NaN NaN\n", "11 Spring 1909 True 1909 NaN NaN NaN\n", "12 Early 1969 True 1969 NaN NaN NaN\n", "13 Late 1924-1925 True 1924 NaN 1925 1925\n", "14 Mars 1926 True 1926 NaN NaN NaN\n", "15 Mars, 7 h. matin, 1925 True 1925 NaN NaN NaN\n", "16 Mai 1926 True 1926 NaN NaN NaN\n", "17 Mai, 8 h. matin, 1925 True 1925 NaN NaN NaN\n", "18 Gallifa, 1956 True 1956 NaN NaN NaN\n", "19 Juillet 1921 True 1921 NaN NaN NaN\n", "20 Fontainebleau, summer 1921 True 1921 NaN NaN NaN\n", "21 Avril, 7 h. matin, 1925 True 1925 NaN NaN NaN\n", "22 Juin, 7 h. matin, 1925 True 1925 NaN NaN NaN\n", "23 Kamakura, 1952 True 1952 NaN NaN NaN\n", "24 Août 1924 True 1924 NaN NaN NaN\n", "25 Decemer 1888 True 1888 NaN NaN NaN\n", "26 Issy-les-Moulineaux, summer 1916 True 1916 NaN NaN NaN\n", "27 Paris, early 1899 True 1899 NaN NaN NaN\n", "28 Paris, June - July 1914 True 1914 NaN NaN NaN\n", "29 Paris, winter 1914-15 True 1914 15 NaN 15\n", "30 Paris, spring 1908 True 1908 NaN NaN NaN\n", "31 Frankfurt 1920 True 1920 NaN NaN NaN\n", "32 Cannes, 1958 True 1958 NaN NaN NaN\n", "33 Mars, 8 h. matin, 1925 True 1925 NaN NaN NaN\n", "34 circa 1980 True 1980 NaN NaN NaN\n", "35 Begun 1938 True 1938 NaN NaN NaN\n", "36 Berlin 1926 True 1926 NaN NaN NaN\n", "37 Meudon 1932 True 1932 NaN NaN NaN\n", "38 Jupiter Island 1992 True 1992 NaN NaN NaN\n", "39 Seasons of 1871, 1872 and 1873 False 1873 NaN NaN NaN\n", "\n", "moma values:\n", "\n", "July 24-27, 1968 1\n", "April 21, 1893 1\n", "May 1968 1\n", "September 1 1965 1\n", "July 1934 1\n", "July 16, 1993 1\n", "August 11, 1893 1\n", "December 10-11, 1962 1\n", "July 27-August 5 1966 1\n", "January 19, 1986 1\n", "February 12-March 3 1966 1\n", "March 26-27 1963 1\n", "February 10, 1893 1\n", "June 2, 1964 1\n", "July 14-17, 1965 1\n", "Summer 1983 1\n", "June 14-19, 1968 1\n", "August 14-24 1961 1\n", "May 1961 1\n", "November 17, 1984 1\n", "Name: date, dtype: int64\n", "\n", "Matched: 3991\n" ] } ], "source": [ "date_char_trim = r'[\\.,]'\n", "date_pattern_special = (r'^(?:\\d{,2}\\s)?(?:issy-les-moulineaux\\ssummer|fontainebleau\\ssummer|'\n", " 'summer|spring|winter|autumn|fall|january|february|march|'\n", " 'april|may|june|july|august|september|october|november|'\n", " 'december|decemer|dec|begun|late|early|'\n", " 'mars\\s7\\sh\\smatin|mars\\s8\\sh\\smatin|mars|'\n", " 'avril\\s7\\sh\\smatin|avril|'\n", " 'paris\\sjune\\s-\\sjuly|paris\\searly|paris\\swinter|paris\\sspring|paris|'\n", " 'juin\\s7\\sh\\smatin|juin|'\n", " 'mai\\s8\\sh\\smatin|mai|'\n", " 'gallifa|juillet|kamakura|août|frankfurt|cannes|circa|hiver|bogotá|cuba|'\n", " 'berlin|meudon|jupiter\\sisland|barcelona|cavalière|arles|germany|rome|'\n", " 'horta\\sde\\ssan\\sjoan|collioure|new\\syork|saint\\srémy|issy-les-moulineaux)'\n", " ) # special cases\n", "date_pattern_3 = (r'^.*?(?P<year_1>[0-2]\\d{3})'\n", " '(?:\\-(?:(?P<year_2_2>[0-2]\\d)|.*(?P<year_2_4>[0-2]\\d{3})))?$'\n", " )\n", "\n", "# Test\n", "date_test = pd.DataFrame(['October 1977',\n", " 'August 15 1966',\n", " 'February 1, 1970',\n", " 'May 15, 1962.',\n", " '11 July 1854',\n", " 'May-June 1991',\n", " 'May 13-19, 1970',\n", " 'May 2-10 1969',\n", " 'September 29-October 24, 1967',\n", " 'August 5, 1877-June 22, 1894',\n", " 'Dec. 9, 1954',\n", " 'Spring 1909',\n", " 'Early 1969',\n", " 'Late 1924-1925',\n", " 'Mars 1926',\n", " 'Mars, 7 h. matin, 1925',\n", " 'Mai 1926',\n", " 'Mai, 8 h. matin, 1925',\n", " 'Gallifa, 1956',\n", " 'Juillet 1921',\n", " 'Fontainebleau, summer 1921',\n", " 'Avril, 7 h. matin, 1925',\n", " 'Juin, 7 h. matin, 1925',\n", " 'Kamakura, 1952',\n", " 'Août 1924',\n", " 'Decemer 1888',\n", " 'Issy-les-Moulineaux, summer 1916',\n", " 'Paris, early 1899',\n", " 'Paris, June - July 1914',\n", " 'Paris, winter 1914-15',\n", " 'Paris, spring 1908',\n", " 'Frankfurt 1920',\n", " 'Cannes, 1958',\n", " 'Mars, 8 h. matin, 1925',\n", " 'circa 1980',\n", " 'Begun 1938',\n", " 'Berlin 1926',\n", " 'Meudon 1932',\n", " 'Jupiter Island 1992',\n", " 'Seasons of 1871, 1872 and 1873' # must be False (we'll explore this later)\n", " ], columns=['date'])\n", "date_test['date_pattern_special'] = (date_test['date'].str.replace(date_char_trim, '', flags=re.I)\n", " .str.contains(date_pattern_special, flags=re.I)\n", " )\n", "date_test[['year_1', 'year_2_2', 'year_2_4']] = (date_test['date'].str.replace(date_char_trim, '', flags=re.I)\n", " .str.extract(date_pattern_3, flags=re.I)\n", " )\n", "date_test['year_2'] = date_test['year_2_2'].fillna(date_test['year_2_4'])\n", "print(date_test, end='\\n\\n')\n", "\n", "date_bool_3 = (moma['date'].str.replace(date_char_trim, '', flags=re.I)\n", " .str.match(date_pattern_3, flags=re.I)\n", " & moma['year_1'].isnull() # among the remaining rows\n", " & moma['date'].str.replace(date_char_trim, '', flags=re.I)\n", " .str.contains(date_pattern_special, flags=re.I) # among the rows with special cases\n", " ) # bool mask to extract the years\n", "\n", "# Inspect values\n", "print('moma values:', moma.loc[date_bool_3, 'date'].value_counts(dropna=False).tail(20), sep='\\n\\n', end='\\n\\n')\n", "print('Matched: {}'.format(date_bool_3.sum()))" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Before extract 3:\n", "total: 116703\n", "False 112712\n", "True 3991\n", "dtype: int64\n", "\n", "After extract 3:\n", " date year_1 year_2\n", "count 116703 115819 20651\n", "unique 6236 195 238\n", "\n" ] }, { "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>date</th>\n", " <th>year_1</th>\n", " <th>year_2</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>7602</th>\n", " <td>Late 1924-1925</td>\n", " <td>1924</td>\n", " <td>1925</td>\n", " </tr>\n", " <tr>\n", " <th>9749</th>\n", " <td>April 1994 plate printed November 1983.</td>\n", " <td>1983</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>9758</th>\n", " <td>December 1984</td>\n", " <td>1984</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>12550</th>\n", " <td>December 24, 1898.</td>\n", " <td>1898</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>12577</th>\n", " <td>February 5, 1898-October 22, 1898</td>\n", " <td>1898</td>\n", " <td>1898</td>\n", " </tr>\n", " <tr>\n", " <th>13216</th>\n", " <td>June 16, 1898</td>\n", " <td>1898</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>13237</th>\n", " <td>Paris, privately published, 1949.</td>\n", " <td>1949</td>\n", " <td>NaN</td>\n", " </tr>\n", " <tr>\n", " <th>13239</th>\n", " <td>Paris, privately published, 1949.</td>\n", " <td>1949</td>\n", " <td>NaN</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " date year_1 year_2\n", "7602 Late 1924-1925 1924 1925\n", "9749 April 1994 plate printed November 1983. 1983 NaN\n", "9758 December 1984 1984 NaN\n", "12550 December 24, 1898. 1898 NaN\n", "12577 February 5, 1898-October 22, 1898 1898 1898\n", "13216 June 16, 1898 1898 NaN\n", "13237 Paris, privately published, 1949. 1949 NaN\n", "13239 Paris, privately published, 1949. 1949 NaN" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "print('Before extract 3:')\n", "# Total number of rows\n", "print('total:', moma.shape[0])\n", "# Number of rows matching the pattern (True) and the rest (False)\n", "print(date_bool_3.value_counts(dropna=False), end='\\n\\n')\n", "\n", "# Extract\n", "moma.loc[date_bool_3, ['year_1', 'year_2_2', 'year_2_4']] = (moma.loc[date_bool_3, 'date']\n", " .str.replace(date_char_trim, '', flags=re.I)\n", " .str.extract(date_pattern_3, flags=re.I)\n", " )\n", "moma.loc[date_bool_3, 'year_2'] = moma.loc[date_bool_3, 'year_2_2'].fillna(moma.loc[date_bool_3, 'year_2_4'])\n", "\n", "# Inspect values\n", "print('After extract 3:', moma[['date', 'year_1', 'year_2']].describe().loc[['count', 'unique']], sep='\\n', end='\\n\\n')\n", "moma.loc[date_bool_3, ['date', 'year_1', 'year_2']].head(8)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We have processed 3991 special cases. In general, we have cleaned up 115,819 values.\n", "\n", "Let's evaluate the remaining data in the `date` column." ] }, { "cell_type": "code", "execution_count": 52, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "rest count: 884\n", "rest percentage: 0.76\n", "rest count unique: 582\n", "total: 116703\n", "\n", "moma values:\n", "1893 reproduced drawings executed 1891-93 33\n", "Seasons of 1871, 1872 and 1873 25\n", "1991 project begun 1989. 25\n", "1929. Play produced and reproduced drawings executed 1907. 24\n", "1947 reproduced drawing executed 1938 24\n", "book published, 1958 15\n", "Book commissioned, but unpublished by Vollard Print executed 1922 Book publi 14\n", "2015-ongoing 12\n", "Probably 1914-21 not later than 1925 10\n", "1999-present 9\n", "first published 1883 8\n", "Drawing on mylar executed 1967 8\n", "Commissioned, but unpublished by Vollard Print executed 1922-1927. 8\n", "Book commissioned, but unpublished by Vollard Print executed 1926 Book publi 8\n", "1919 reproduced drawings executed 1908-09 7\n", "Book commissioned, but unpublished by Vollard Print executed 1927 Book publi 7\n", "Name: date, dtype: int64\n" ] } ], "source": [ "date_bool_rest = ~(date_bool_1 \n", " | date_bool_2\n", " | date_bool_3\n", " )\n", "# Or another way\n", "# date_bool_not_year_1 = moma['year_1'].isnull()\n", "\n", "# Statistics for the rest rows\n", "print('rest count: {}'.format(date_bool_rest.sum()))\n", "print('rest percentage: {}'.format(round(date_bool_rest.sum()*100/moma.shape[0], 2)))\n", "print('rest count unique: {}'.format(moma.loc[date_bool_rest, 'date'].value_counts(dropna=False).shape[0]))\n", "print('total: {}'.format(moma.shape[0]), end='\\n\\n')\n", "\n", "# Inspect values\n", "print('moma values:',\n", " (moma.loc[date_bool_rest, 'date']\n", " .value_counts(dropna=False)\n", " .sort_values(ascending=False)\n", " .head(16)\n", " ),\n", " sep='\\n'\n", " )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Only 0.76% of questionable values remain in the `Data` column.\n", "\n", "We are currently looking for high-level results, so we will not waste time on the rest." ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Before drop rest:\n", "total: 116703\n", "True 115819\n", "False 884\n", "dtype: int64\n", "\n", "After drop rest:\n", "total: 115819\n", "True 115819\n", "Name: year_1, dtype: int64\n" ] } ], "source": [ "print('Before drop rest:')\n", "# Total number of rows before\n", "print('total:', moma.shape[0])\n", "# Number of valid (True) and invalid (False) rows\n", "print((~date_bool_rest).value_counts(dropna=False), end='\\n\\n')\n", "\n", "# Drop\n", "date_drop_rest = moma[date_bool_rest].index # rows to drop\n", "moma.drop(index=date_drop_rest, inplace=True)\n", "\n", "print('After drop rest:')\n", "# Total number of rows after\n", "print('total:', moma.shape[0])\n", "# Number of valid (True) and invalid (False) rows\n", "print(moma['year_1'].notnull().value_counts(dropna=False))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's calculate the year the artwork was created." ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " year_1 year_2\n", "138156 1933 1934\n", "138157 1933 1934\n", "138158 1933 1934\n", "138159 1933 1934\n", "138160 1933 1934\n" ] }, { "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>begin_date_clean</th>\n", " <th>date_clean</th>\n", " <th>age</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>1841</td>\n", " <td>1896</td>\n", " <td>55</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>1944</td>\n", " <td>1987</td>\n", " <td>43</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>1876</td>\n", " <td>1903</td>\n", " <td>27</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>1944</td>\n", " <td>1980</td>\n", " <td>36</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>1876</td>\n", " <td>1903</td>\n", " <td>27</td>\n", " </tr>\n", " <tr>\n", " <th>5</th>\n", " <td>1944</td>\n", " <td>1976</td>\n", " <td>32</td>\n", " </tr>\n", " <tr>\n", " <th>6</th>\n", " <td>1944</td>\n", " <td>1976</td>\n", " <td>32</td>\n", " </tr>\n", " <tr>\n", " <th>7</th>\n", " <td>1944</td>\n", " <td>1976</td>\n", " <td>32</td>\n", " </tr>\n", " <tr>\n", " <th>8</th>\n", " <td>1944</td>\n", " <td>1976</td>\n", " <td>32</td>\n", " </tr>\n", " <tr>\n", " <th>9</th>\n", " <td>1944</td>\n", " <td>1976</td>\n", " <td>32</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " begin_date_clean date_clean age\n", "0 1841 1896 55\n", "1 1944 1987 43\n", "2 1876 1903 27\n", "3 1944 1980 36\n", "4 1876 1903 27\n", "5 1944 1976 32\n", "6 1944 1976 32\n", "7 1944 1976 32\n", "8 1944 1976 32\n", "9 1944 1976 32" ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Fill in a two-digit year to four digits\n", "year_2_bool_two = moma['year_2'].str.len() == 2\n", "\n", "moma.loc[year_2_bool_two, 'year_2'] = (moma.loc[year_2_bool_two, 'year_1'].str[0:2] \n", " + moma.loc[year_2_bool_two, 'year_2']\n", " )\n", "\n", "# Inspect values\n", "print(moma.loc[year_2_bool_two, ['year_1', 'year_2']].tail())\n", "\n", "# Fill in NaN 'year_2' with 'year_1'\n", "moma['year_2'].fillna(value=moma['year_1'], inplace=True)\n", "# Cast years to int\n", "moma[['year_1', 'year_2']] = moma[['year_1', 'year_2']].astype(int)\n", "# Calculate date as average\n", "moma['date_clean'] = round((moma['year_2'] + moma['year_1']) / 2)\n", "moma['date_clean'] = moma['date_clean'].astype(int) # cast to int\n", "# Calculate age\n", "moma['age'] = moma['date_clean'] - moma['begin_date_clean']\n", "moma['age'] = moma['age'].astype(int) # cast to int\n", "# Inspect values\n", "moma[['begin_date_clean', 'date_clean', 'age']].head(10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We need to perform the following data validation:\n", "\n", "- `year_1 <= year_2` - valid range\n", "- `begin_date_clean < year_1`\n", "- for the death year:\n", " - `year_2 <= end_date_clean` if `end_date_clean` is specified \n", " or\n", " - `end_date_clean` may not be specified." ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "invalid count: 1146\n", "invalid percentage: 0.99\n", "total: 115819\n", "\n", "moma invalid values:\n" ] }, { "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>title</th>\n", " <th>artist</th>\n", " <th>artist_bio</th>\n", " <th>nationality</th>\n", " <th>begin_date</th>\n", " <th>end_date</th>\n", " <th>gender</th>\n", " <th>date</th>\n", " <th>classification</th>\n", " <th>department</th>\n", " <th>begin_date_clean</th>\n", " <th>end_date_clean</th>\n", " <th>gender_clean</th>\n", " <th>nationality_clean</th>\n", " <th>year_1</th>\n", " <th>year_2</th>\n", " <th>year_2_2</th>\n", " <th>year_2_4</th>\n", " <th>date_clean</th>\n", " <th>age</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>951</th>\n", " <td>Town Center, Seinajoki, Finland</td>\n", " <td>Alvar Aalto</td>\n", " <td>(Finnish, 1898–1976)</td>\n", " <td>(Finnish)</td>\n", " <td>(1898)</td>\n", " <td>(1976)</td>\n", " <td>(Male)</td>\n", " <td>1958-87</td>\n", " <td>Architecture</td>\n", " <td>Architecture & Design</td>\n", " <td>1898</td>\n", " <td>1976</td>\n", " <td>male</td>\n", " <td>finnish</td>\n", " <td>1958</td>\n", " <td>1987</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1972</td>\n", " <td>74</td>\n", " </tr>\n", " <tr>\n", " <th>3348</th>\n", " <td>Canned Transistors SMS Card</td>\n", " <td>Sam Lucente</td>\n", " <td>(American, born 1958)</td>\n", " <td>(American)</td>\n", " <td>(1958)</td>\n", " <td>(0)</td>\n", " <td>(Male)</td>\n", " <td>1955.</td>\n", " <td>Design</td>\n", " <td>Architecture & Design</td>\n", " <td>1958</td>\n", " <td>0</td>\n", " <td>male</td>\n", " <td>american</td>\n", " <td>1955</td>\n", " <td>1955</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1955</td>\n", " <td>-3</td>\n", " </tr>\n", " <tr>\n", " <th>3430</th>\n", " <td>Swiss Officers' Knife Champion (no. 5012)</td>\n", " <td>Karl Elsener</td>\n", " <td>(Swiss, 1860–1918)</td>\n", " <td>(Swiss)</td>\n", " <td>(1860)</td>\n", " <td>(1918)</td>\n", " <td>()</td>\n", " <td>1968</td>\n", " <td>Design</td>\n", " <td>Architecture & Design</td>\n", " <td>1860</td>\n", " <td>1918</td>\n", " <td>NaN</td>\n", " <td>swiss</td>\n", " <td>1968</td>\n", " <td>1968</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1968</td>\n", " <td>108</td>\n", " </tr>\n", " <tr>\n", " <th>3594</th>\n", " <td>Rabbit Pattern Printed Fabric (no. 23583)</td>\n", " <td>William Morris</td>\n", " <td>(British, 1834–1896)</td>\n", " <td>(British)</td>\n", " <td>(1834)</td>\n", " <td>(1896)</td>\n", " <td>(Male)</td>\n", " <td>1938</td>\n", " <td>Design</td>\n", " <td>Architecture & Design</td>\n", " <td>1834</td>\n", " <td>1896</td>\n", " <td>male</td>\n", " <td>british</td>\n", " <td>1938</td>\n", " <td>1938</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1938</td>\n", " <td>104</td>\n", " </tr>\n", " <tr>\n", " <th>3834</th>\n", " <td>Danger, Don't Touch</td>\n", " <td>Abram Games</td>\n", " <td>(British, 1914–1996)</td>\n", " <td>(British)</td>\n", " <td>(1914)</td>\n", " <td>(1996)</td>\n", " <td>(Male)</td>\n", " <td>1900-1945</td>\n", " <td>Design</td>\n", " <td>Architecture & Design</td>\n", " <td>1914</td>\n", " <td>1996</td>\n", " <td>male</td>\n", " <td>british</td>\n", " <td>1900</td>\n", " <td>1945</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1922</td>\n", " <td>8</td>\n", " </tr>\n", " <tr>\n", " <th>...</th>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " </tr>\n", " <tr>\n", " <th>135037</th>\n", " <td>Untitled</td>\n", " <td>Felix Akinniran Olunloyo</td>\n", " <td>(Nigerian)</td>\n", " <td>(Nigerian)</td>\n", " <td>(1970)</td>\n", " <td>(0)</td>\n", " <td>(Male)</td>\n", " <td>1950-70</td>\n", " <td>Photograph</td>\n", " <td>Photography</td>\n", " <td>1970</td>\n", " <td>0</td>\n", " <td>male</td>\n", " <td>nigerian</td>\n", " <td>1950</td>\n", " <td>1970</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1960</td>\n", " <td>-10</td>\n", " </tr>\n", " <tr>\n", " <th>135038</th>\n", " <td>Untitled</td>\n", " <td>Felix Akinniran Olunloyo</td>\n", " <td>(Nigerian)</td>\n", " <td>(Nigerian)</td>\n", " <td>(1970)</td>\n", " <td>(0)</td>\n", " <td>(Male)</td>\n", " <td>1950-70</td>\n", " <td>Photograph</td>\n", " <td>Photography</td>\n", " <td>1970</td>\n", " <td>0</td>\n", " <td>male</td>\n", " <td>nigerian</td>\n", " <td>1950</td>\n", " <td>1970</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1960</td>\n", " <td>-10</td>\n", " </tr>\n", " <tr>\n", " <th>135039</th>\n", " <td>Untitled</td>\n", " <td>Felix Akinniran Olunloyo</td>\n", " <td>(Nigerian)</td>\n", " <td>(Nigerian)</td>\n", " <td>(1970)</td>\n", " <td>(0)</td>\n", " <td>(Male)</td>\n", " <td>1950-70</td>\n", " <td>Photograph</td>\n", " <td>Photography</td>\n", " <td>1970</td>\n", " <td>0</td>\n", " <td>male</td>\n", " <td>nigerian</td>\n", " <td>1950</td>\n", " <td>1970</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1960</td>\n", " <td>-10</td>\n", " </tr>\n", " <tr>\n", " <th>135040</th>\n", " <td>Untitled</td>\n", " <td>Felix Akinniran Olunloyo</td>\n", " <td>(Nigerian)</td>\n", " <td>(Nigerian)</td>\n", " <td>(1970)</td>\n", " <td>(0)</td>\n", " <td>(Male)</td>\n", " <td>1950-70</td>\n", " <td>Photograph</td>\n", " <td>Photography</td>\n", " <td>1970</td>\n", " <td>0</td>\n", " <td>male</td>\n", " <td>nigerian</td>\n", " <td>1950</td>\n", " <td>1970</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1960</td>\n", " <td>-10</td>\n", " </tr>\n", " <tr>\n", " <th>135041</th>\n", " <td>Untitled</td>\n", " <td>Felix Akinniran Olunloyo</td>\n", " <td>(Nigerian)</td>\n", " <td>(Nigerian)</td>\n", " <td>(1970)</td>\n", " <td>(0)</td>\n", " <td>(Male)</td>\n", " <td>1950-70</td>\n", " <td>Photograph</td>\n", " <td>Photography</td>\n", " <td>1970</td>\n", " <td>0</td>\n", " <td>male</td>\n", " <td>nigerian</td>\n", " <td>1950</td>\n", " <td>1970</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1960</td>\n", " <td>-10</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "<p>1146 rows × 20 columns</p>\n", "</div>" ], "text/plain": [ " title artist artist_bio nationality \\\n", "951 Town Center, Seinajoki, Finland Alvar Aalto (Finnish, 1898–1976) (Finnish) \n", "3348 Canned Transistors SMS Card Sam Lucente (American, born 1958) (American) \n", "3430 Swiss Officers' Knife Champion (no. 5012) Karl Elsener (Swiss, 1860–1918) (Swiss) \n", "3594 Rabbit Pattern Printed Fabric (no. 23583) William Morris (British, 1834–1896) (British) \n", "3834 Danger, Don't Touch Abram Games (British, 1914–1996) (British) \n", "... ... ... ... ... \n", "135037 Untitled Felix Akinniran Olunloyo (Nigerian) (Nigerian) \n", "135038 Untitled Felix Akinniran Olunloyo (Nigerian) (Nigerian) \n", "135039 Untitled Felix Akinniran Olunloyo (Nigerian) (Nigerian) \n", "135040 Untitled Felix Akinniran Olunloyo (Nigerian) (Nigerian) \n", "135041 Untitled Felix Akinniran Olunloyo (Nigerian) (Nigerian) \n", "\n", " begin_date end_date gender date classification department begin_date_clean end_date_clean \\\n", "951 (1898) (1976) (Male) 1958-87 Architecture Architecture & Design 1898 1976 \n", "3348 (1958) (0) (Male) 1955. Design Architecture & Design 1958 0 \n", "3430 (1860) (1918) () 1968 Design Architecture & Design 1860 1918 \n", "3594 (1834) (1896) (Male) 1938 Design Architecture & Design 1834 1896 \n", "3834 (1914) (1996) (Male) 1900-1945 Design Architecture & Design 1914 1996 \n", "... ... ... ... ... ... ... ... ... \n", "135037 (1970) (0) (Male) 1950-70 Photograph Photography 1970 0 \n", "135038 (1970) (0) (Male) 1950-70 Photograph Photography 1970 0 \n", "135039 (1970) (0) (Male) 1950-70 Photograph Photography 1970 0 \n", "135040 (1970) (0) (Male) 1950-70 Photograph Photography 1970 0 \n", "135041 (1970) (0) (Male) 1950-70 Photograph Photography 1970 0 \n", "\n", " gender_clean nationality_clean year_1 year_2 year_2_2 year_2_4 date_clean age \n", "951 male finnish 1958 1987 NaN NaN 1972 74 \n", "3348 male american 1955 1955 NaN NaN 1955 -3 \n", "3430 NaN swiss 1968 1968 NaN NaN 1968 108 \n", "3594 male british 1938 1938 NaN NaN 1938 104 \n", "3834 male british 1900 1945 NaN NaN 1922 8 \n", "... ... ... ... ... ... ... ... ... \n", "135037 male nigerian 1950 1970 NaN NaN 1960 -10 \n", "135038 male nigerian 1950 1970 NaN NaN 1960 -10 \n", "135039 male nigerian 1950 1970 NaN NaN 1960 -10 \n", "135040 male nigerian 1950 1970 NaN NaN 1960 -10 \n", "135041 male nigerian 1950 1970 NaN NaN 1960 -10 \n", "\n", "[1146 rows x 20 columns]" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "moma_bool_invalid = ~(\n", " (moma['year_1'] <= moma['year_2'])\n", " & (moma['begin_date_clean'] < moma['year_1'])\n", " & (((moma['end_date_clean'] >= moma['year_2']) & (moma['end_date_clean'] != 0))\n", " | (moma['end_date_clean'] == 0)\n", " )\n", " )\n", "\n", "# Statistics for the rest rows\n", "print('invalid count: {}'.format(moma_bool_invalid.sum()))\n", "print('invalid percentage: {}'.format(round(moma_bool_invalid.sum()*100/moma.shape[0], 2)))\n", "print('total:', moma.shape[0], end='\\n\\n')\n", "\n", "# Inspect values\n", "print('moma invalid values:')\n", "moma.loc[moma_bool_invalid]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We would like to drop the rows that don't pass the validation above." ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Before drop invalid:\n", "total: 115819\n", "True 114673\n", "False 1146\n", "dtype: int64\n", "\n", "After drop invalid:\n", "total: 114673\n", "True 114673\n", "dtype: int64\n" ] } ], "source": [ "print('Before drop invalid:')\n", "# Total number of rows before\n", "print('total:', moma.shape[0])\n", "# Number of the valid (True) and invalid (False) rows\n", "print((~moma_bool_invalid).value_counts(dropna=False), end='\\n\\n')\n", "\n", "# Drop\n", "moma_drop_invalid = moma[moma_bool_invalid].index # rows to drop\n", "moma.drop(index=moma_drop_invalid, inplace=True)\n", "\n", "print('After drop invalid:')\n", "# Total number of rows after\n", "print('total:', moma.shape[0])\n", "# Number of valid (True) and invalid (False) rows\n", "print((\n", " (moma['year_1'] <= moma['year_2'])\n", " & (moma['begin_date_clean'] < moma['year_1'])\n", " & (((moma['end_date_clean'] >= moma['year_2']) & (moma['end_date_clean'] != 0))\n", " | (moma['end_date_clean'] == 0)\n", " )\n", " ).value_counts(dropna=False)\n", " )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's take a look at the `age` column." ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "count 114673.000000\n", "mean 44.959459\n", "std 15.104405\n", "min 1.000000\n", "25% 34.000000\n", "50% 42.000000\n", "75% 53.000000\n", "max 102.000000\n", "Name: age, dtype: float64" ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" } ], "source": [ "moma['age'].describe()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can see some suspicious outliers. For instance, it's unlikely that the artwork was created at the age of 1 year. What are these outliers?" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Louise Bourgeois 1184\n", "Marc Chagall 31\n", "Hans Erni 12\n", "Will Barnet 11\n", "Carmen Herrera 9\n", "Frank Lloyd Wright 8\n", "Sylvia Sleigh 1\n", "June Wayne 1\n", "Pablo Picasso 1\n", "Manoel de Oliveira 1\n", "Name: artist, dtype: int64\n" ] }, { "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>title</th>\n", " <th>artist</th>\n", " <th>artist_bio</th>\n", " <th>nationality</th>\n", " <th>begin_date</th>\n", " <th>end_date</th>\n", " <th>gender</th>\n", " <th>date</th>\n", " <th>classification</th>\n", " <th>department</th>\n", " <th>begin_date_clean</th>\n", " <th>end_date_clean</th>\n", " <th>gender_clean</th>\n", " <th>nationality_clean</th>\n", " <th>year_1</th>\n", " <th>year_2</th>\n", " <th>year_2_2</th>\n", " <th>year_2_4</th>\n", " <th>date_clean</th>\n", " <th>age</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>109413</th>\n", " <td>Three Sons, plate 14 of 24, from the series, S...</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>109406</th>\n", " <td>Michel, plate 7 of 24, from the series, Self P...</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>109436</th>\n", " <td>Untitled, plate 13 of 15, from the series, Nat...</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>107875</th>\n", " <td>Untitled, plate 14 of 15, from the series, Nat...</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>109438</th>\n", " <td>Untitled, plate 15 of 15, from the series, Nat...</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>107885</th>\n", " <td>Untitled, plate 14 of 15, from the series, Nat...</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>107886</th>\n", " <td>Untitled</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>107887</th>\n", " <td>Untitled</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>107888</th>\n", " <td>Untitled</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>100324</th>\n", " <td>Les Fleurs</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>109437</th>\n", " <td>Untitled, plate 14 of 15, from the series, Nat...</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>111747</th>\n", " <td>Ma Maison</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>111748</th>\n", " <td>Ma Maison</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>111749</th>\n", " <td>Where Would We Be Without Each Other?</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>107904</th>\n", " <td>Lips</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>111750</th>\n", " <td>Where Would We Be Without Each Other?</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>111751</th>\n", " <td>Ma Famille</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>111752</th>\n", " <td>La Danse</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>111753</th>\n", " <td>La Danse</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>111754</th>\n", " <td>La Danse</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>111755</th>\n", " <td>The Swarm</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>111756</th>\n", " <td>Untitled</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>111757</th>\n", " <td>Untitled</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>103908</th>\n", " <td>Have You Saved a Soul Today?</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>108650</th>\n", " <td>The Nest</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>111816</th>\n", " <td>Self-Pity</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Textile</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>107884</th>\n", " <td>Untitled, plate 14 of 15, from the series, Nat...</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>107883</th>\n", " <td>Untitled, plate 13 of 15, from the series, Nat...</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>109425</th>\n", " <td>Untitled, plate 2 of 15, from the series, Natu...</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>107881</th>\n", " <td>Untitled, plate 8 of 15, from the series, Natu...</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>110174</th>\n", " <td>Self Portrait</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>110189</th>\n", " <td>Nature Study</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>107876</th>\n", " <td>Untitled, plate 9 of 15, from the series, Natu...</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>115482</th>\n", " <td>Self Portrait</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>115481</th>\n", " <td>Marriage, plate 5 of 24, from the series, Self...</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>115480</th>\n", " <td>La Nausée, plate 22 of 24, from the series, Se...</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>115479</th>\n", " <td>Nature Study</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>115478</th>\n", " <td>Nature Study</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>107882</th>\n", " <td>Untitled, plate 9 of 15, from the series, Natu...</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>115477</th>\n", " <td>Good Mother, plate 17 of 24, from the series, ...</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>107877</th>\n", " <td>Untitled, plate 10 of 15, from the series, Nat...</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>107880</th>\n", " <td>Untitled, plate 6 of 15, from the series, Natu...</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>107879</th>\n", " <td>Untitled</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>107878</th>\n", " <td>Untitled, plate 5 of 15, from the series, Natu...</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2009</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2009</td>\n", " <td>98</td>\n", " </tr>\n", " <tr>\n", " <th>107865</th>\n", " <td>Les Fleurs</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2010</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2010</td>\n", " <td>2010</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2010</td>\n", " <td>99</td>\n", " </tr>\n", " <tr>\n", " <th>109399</th>\n", " <td>To Whom It May Concern</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2009-2010</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2009</td>\n", " <td>2010</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2010</td>\n", " <td>99</td>\n", " </tr>\n", " <tr>\n", " <th>107866</th>\n", " <td>Les Fleurs</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2010</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2010</td>\n", " <td>2010</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2010</td>\n", " <td>99</td>\n", " </tr>\n", " <tr>\n", " <th>111210</th>\n", " <td>Deuxième promenade (plate, page 12) from Les r...</td>\n", " <td>Hans Erni</td>\n", " <td>(Swiss, 1909–2015)</td>\n", " <td>(Swiss)</td>\n", " <td>(1909)</td>\n", " <td>(2015)</td>\n", " <td>(Male)</td>\n", " <td>2008</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1909</td>\n", " <td>2015</td>\n", " <td>male</td>\n", " <td>swiss</td>\n", " <td>2008</td>\n", " <td>2008</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2008</td>\n", " <td>99</td>\n", " </tr>\n", " <tr>\n", " <th>111212</th>\n", " <td>Quatrième promenade (plate, page 24) from Les ...</td>\n", " <td>Hans Erni</td>\n", " <td>(Swiss, 1909–2015)</td>\n", " <td>(Swiss)</td>\n", " <td>(1909)</td>\n", " <td>(2015)</td>\n", " <td>(Male)</td>\n", " <td>2008</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1909</td>\n", " <td>2015</td>\n", " <td>male</td>\n", " <td>swiss</td>\n", " <td>2008</td>\n", " <td>2008</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2008</td>\n", " <td>99</td>\n", " </tr>\n", " <tr>\n", " <th>111215</th>\n", " <td>Septième promenade (plate, page 42) from Les r...</td>\n", " <td>Hans Erni</td>\n", " <td>(Swiss, 1909–2015)</td>\n", " <td>(Swiss)</td>\n", " <td>(1909)</td>\n", " <td>(2015)</td>\n", " <td>(Male)</td>\n", " <td>2008</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1909</td>\n", " <td>2015</td>\n", " <td>male</td>\n", " <td>swiss</td>\n", " <td>2008</td>\n", " <td>2008</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2008</td>\n", " <td>99</td>\n", " </tr>\n", " <tr>\n", " <th>107864</th>\n", " <td>Les Fleurs</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2010</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2010</td>\n", " <td>2010</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2010</td>\n", " <td>99</td>\n", " </tr>\n", " <tr>\n", " <th>111208</th>\n", " <td>Frontispiece from Les rêveries du promeneur so...</td>\n", " <td>Hans Erni</td>\n", " <td>(Swiss, 1909–2015)</td>\n", " <td>(Swiss)</td>\n", " <td>(1909)</td>\n", " <td>(2015)</td>\n", " <td>(Male)</td>\n", " <td>2008</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1909</td>\n", " <td>2015</td>\n", " <td>male</td>\n", " <td>swiss</td>\n", " <td>2008</td>\n", " <td>2008</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2008</td>\n", " <td>99</td>\n", " </tr>\n", " <tr>\n", " <th>111812</th>\n", " <td>I Do</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2010</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2010</td>\n", " <td>2010</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2010</td>\n", " <td>99</td>\n", " </tr>\n", " <tr>\n", " <th>110778</th>\n", " <td>Les rêveries du promeneur solitaire (Extraits)</td>\n", " <td>Hans Erni</td>\n", " <td>(Swiss, 1909–2015)</td>\n", " <td>(Swiss)</td>\n", " <td>(1909)</td>\n", " <td>(2015)</td>\n", " <td>(Male)</td>\n", " <td>2008</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1909</td>\n", " <td>2015</td>\n", " <td>male</td>\n", " <td>swiss</td>\n", " <td>2008</td>\n", " <td>2008</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2008</td>\n", " <td>99</td>\n", " </tr>\n", " <tr>\n", " <th>107651</th>\n", " <td>Untitled</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2010</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2010</td>\n", " <td>2010</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2010</td>\n", " <td>99</td>\n", " </tr>\n", " <tr>\n", " <th>111211</th>\n", " <td>Troisième promenade (plate, page 18) from Les ...</td>\n", " <td>Hans Erni</td>\n", " <td>(Swiss, 1909–2015)</td>\n", " <td>(Swiss)</td>\n", " <td>(1909)</td>\n", " <td>(2015)</td>\n", " <td>(Male)</td>\n", " <td>2008</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1909</td>\n", " <td>2015</td>\n", " <td>male</td>\n", " <td>swiss</td>\n", " <td>2008</td>\n", " <td>2008</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2008</td>\n", " <td>99</td>\n", " </tr>\n", " <tr>\n", " <th>111213</th>\n", " <td>Cinquième promenade (plate, page 30) from Les ...</td>\n", " <td>Hans Erni</td>\n", " <td>(Swiss, 1909–2015)</td>\n", " <td>(Swiss)</td>\n", " <td>(1909)</td>\n", " <td>(2015)</td>\n", " <td>(Male)</td>\n", " <td>2008</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1909</td>\n", " <td>2015</td>\n", " <td>male</td>\n", " <td>swiss</td>\n", " <td>2008</td>\n", " <td>2008</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2008</td>\n", " <td>99</td>\n", " </tr>\n", " <tr>\n", " <th>107867</th>\n", " <td>Les Fleurs</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2010</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2010</td>\n", " <td>2010</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2010</td>\n", " <td>99</td>\n", " </tr>\n", " <tr>\n", " <th>111218</th>\n", " <td>Dixièmem promenade (plate, page 60) from Les r...</td>\n", " <td>Hans Erni</td>\n", " <td>(Swiss, 1909–2015)</td>\n", " <td>(Swiss)</td>\n", " <td>(1909)</td>\n", " <td>(2015)</td>\n", " <td>(Male)</td>\n", " <td>2008</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1909</td>\n", " <td>2015</td>\n", " <td>male</td>\n", " <td>swiss</td>\n", " <td>2008</td>\n", " <td>2008</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2008</td>\n", " <td>99</td>\n", " </tr>\n", " <tr>\n", " <th>113819</th>\n", " <td>Untitled, no. 12 of 12, from the illustrated b...</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2010</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2010</td>\n", " <td>2010</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2010</td>\n", " <td>99</td>\n", " </tr>\n", " <tr>\n", " <th>113818</th>\n", " <td>Untitled, no. 11 of 12, from the illustrated b...</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2010</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2010</td>\n", " <td>2010</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2010</td>\n", " <td>99</td>\n", " </tr>\n", " <tr>\n", " <th>111214</th>\n", " <td>Sixième promenade (plate, page 36) from Les rê...</td>\n", " <td>Hans Erni</td>\n", " <td>(Swiss, 1909–2015)</td>\n", " <td>(Swiss)</td>\n", " <td>(1909)</td>\n", " <td>(2015)</td>\n", " <td>(Male)</td>\n", " <td>2008</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1909</td>\n", " <td>2015</td>\n", " <td>male</td>\n", " <td>swiss</td>\n", " <td>2008</td>\n", " <td>2008</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2008</td>\n", " <td>99</td>\n", " </tr>\n", " <tr>\n", " <th>111209</th>\n", " <td>Première promenade (plate, page 6) from Les rê...</td>\n", " <td>Hans Erni</td>\n", " <td>(Swiss, 1909–2015)</td>\n", " <td>(Swiss)</td>\n", " <td>(1909)</td>\n", " <td>(2015)</td>\n", " <td>(Male)</td>\n", " <td>2008</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1909</td>\n", " <td>2015</td>\n", " <td>male</td>\n", " <td>swiss</td>\n", " <td>2008</td>\n", " <td>2008</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2008</td>\n", " <td>99</td>\n", " </tr>\n", " <tr>\n", " <th>113815</th>\n", " <td>Untitled, no. 8 of 12, from the illustrated bo...</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2010</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2010</td>\n", " <td>2010</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2010</td>\n", " <td>99</td>\n", " </tr>\n", " <tr>\n", " <th>113814</th>\n", " <td>Untitled, no. 7 of 12, from the illustrated bo...</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2010</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2010</td>\n", " <td>2010</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2010</td>\n", " <td>99</td>\n", " </tr>\n", " <tr>\n", " <th>113813</th>\n", " <td>Untitled, no. 6 of 12, from the illustrated bo...</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2010</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2010</td>\n", " <td>2010</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2010</td>\n", " <td>99</td>\n", " </tr>\n", " <tr>\n", " <th>113817</th>\n", " <td>Untitled, no. 10 of 12, from the illustrated b...</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2010</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2010</td>\n", " <td>2010</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2010</td>\n", " <td>99</td>\n", " </tr>\n", " <tr>\n", " <th>113816</th>\n", " <td>Untitled, no. 9 of 12, from the illustrated bo...</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2010</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2010</td>\n", " <td>2010</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2010</td>\n", " <td>99</td>\n", " </tr>\n", " <tr>\n", " <th>113811</th>\n", " <td>Untitled, no. 4 of 12, from the illustrated bo...</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2010</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2010</td>\n", " <td>2010</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2010</td>\n", " <td>99</td>\n", " </tr>\n", " <tr>\n", " <th>113810</th>\n", " <td>Untitled, no. 3 of 12, from the illustrated bo...</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2010</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2010</td>\n", " <td>2010</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2010</td>\n", " <td>99</td>\n", " </tr>\n", " <tr>\n", " <th>113809</th>\n", " <td>Untitled, no. 2 of 12, from the illustrated bo...</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2010</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2010</td>\n", " <td>2010</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2010</td>\n", " <td>99</td>\n", " </tr>\n", " <tr>\n", " <th>113808</th>\n", " <td>Untitled, no. 1 of 12, from the illustrated bo...</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2010</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2010</td>\n", " <td>2010</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2010</td>\n", " <td>99</td>\n", " </tr>\n", " <tr>\n", " <th>111216</th>\n", " <td>Huitième promenade (plate, page 48) from Les r...</td>\n", " <td>Hans Erni</td>\n", " <td>(Swiss, 1909–2015)</td>\n", " <td>(Swiss)</td>\n", " <td>(1909)</td>\n", " <td>(2015)</td>\n", " <td>(Male)</td>\n", " <td>2008</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1909</td>\n", " <td>2015</td>\n", " <td>male</td>\n", " <td>swiss</td>\n", " <td>2008</td>\n", " <td>2008</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2008</td>\n", " <td>99</td>\n", " </tr>\n", " <tr>\n", " <th>111217</th>\n", " <td>Neuvième promenade (plate, page 54) from Les r...</td>\n", " <td>Hans Erni</td>\n", " <td>(Swiss, 1909–2015)</td>\n", " <td>(Swiss)</td>\n", " <td>(1909)</td>\n", " <td>(2015)</td>\n", " <td>(Male)</td>\n", " <td>2008</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1909</td>\n", " <td>2015</td>\n", " <td>male</td>\n", " <td>swiss</td>\n", " <td>2008</td>\n", " <td>2008</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2008</td>\n", " <td>99</td>\n", " </tr>\n", " <tr>\n", " <th>113812</th>\n", " <td>Untitled, no. 5 of 12, from the illustrated bo...</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>2010</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>2010</td>\n", " <td>2010</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2010</td>\n", " <td>99</td>\n", " </tr>\n", " <tr>\n", " <th>133436</th>\n", " <td>Untitled from Verde y Negro</td>\n", " <td>Carmen Herrera</td>\n", " <td>(Cuban, born 1915)</td>\n", " <td>(Cuban)</td>\n", " <td>(1915)</td>\n", " <td>(0)</td>\n", " <td>(Female)</td>\n", " <td>2017</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1915</td>\n", " <td>0</td>\n", " <td>female</td>\n", " <td>cuban</td>\n", " <td>2017</td>\n", " <td>2017</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2017</td>\n", " <td>102</td>\n", " </tr>\n", " <tr>\n", " <th>133435</th>\n", " <td>Untitled from Verde y Negro</td>\n", " <td>Carmen Herrera</td>\n", " <td>(Cuban, born 1915)</td>\n", " <td>(Cuban)</td>\n", " <td>(1915)</td>\n", " <td>(0)</td>\n", " <td>(Female)</td>\n", " <td>2017</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1915</td>\n", " <td>0</td>\n", " <td>female</td>\n", " <td>cuban</td>\n", " <td>2017</td>\n", " <td>2017</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2017</td>\n", " <td>102</td>\n", " </tr>\n", " <tr>\n", " <th>133434</th>\n", " <td>Untitled from Verde y Negro</td>\n", " <td>Carmen Herrera</td>\n", " <td>(Cuban, born 1915)</td>\n", " <td>(Cuban)</td>\n", " <td>(1915)</td>\n", " <td>(0)</td>\n", " <td>(Female)</td>\n", " <td>2017</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1915</td>\n", " <td>0</td>\n", " <td>female</td>\n", " <td>cuban</td>\n", " <td>2017</td>\n", " <td>2017</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2017</td>\n", " <td>102</td>\n", " </tr>\n", " <tr>\n", " <th>133433</th>\n", " <td>Untitled from Verde y Amarillo</td>\n", " <td>Carmen Herrera</td>\n", " <td>(Cuban, born 1915)</td>\n", " <td>(Cuban)</td>\n", " <td>(1915)</td>\n", " <td>(0)</td>\n", " <td>(Female)</td>\n", " <td>2017</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1915</td>\n", " <td>0</td>\n", " <td>female</td>\n", " <td>cuban</td>\n", " <td>2017</td>\n", " <td>2017</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2017</td>\n", " <td>102</td>\n", " </tr>\n", " <tr>\n", " <th>115010</th>\n", " <td>The Strange Case of Angelica</td>\n", " <td>Manoel de Oliveira</td>\n", " <td>(Portuguese, 1908–2015)</td>\n", " <td>(Portuguese)</td>\n", " <td>(1908)</td>\n", " <td>(2015)</td>\n", " <td>()</td>\n", " <td>2010</td>\n", " <td>Film</td>\n", " <td>Film</td>\n", " <td>1908</td>\n", " <td>2015</td>\n", " <td>NaN</td>\n", " <td>portuguese</td>\n", " <td>2010</td>\n", " <td>2010</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2010</td>\n", " <td>102</td>\n", " </tr>\n", " <tr>\n", " <th>133431</th>\n", " <td>Untitled from Verde y Amarillo</td>\n", " <td>Carmen Herrera</td>\n", " <td>(Cuban, born 1915)</td>\n", " <td>(Cuban)</td>\n", " <td>(1915)</td>\n", " <td>(0)</td>\n", " <td>(Female)</td>\n", " <td>2017</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1915</td>\n", " <td>0</td>\n", " <td>female</td>\n", " <td>cuban</td>\n", " <td>2017</td>\n", " <td>2017</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2017</td>\n", " <td>102</td>\n", " </tr>\n", " <tr>\n", " <th>133205</th>\n", " <td>Equilibrio</td>\n", " <td>Carmen Herrera</td>\n", " <td>(Cuban, born 1915)</td>\n", " <td>(Cuban)</td>\n", " <td>(1915)</td>\n", " <td>(0)</td>\n", " <td>(Female)</td>\n", " <td>2017</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1915</td>\n", " <td>0</td>\n", " <td>female</td>\n", " <td>cuban</td>\n", " <td>2017</td>\n", " <td>2017</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2017</td>\n", " <td>102</td>\n", " </tr>\n", " <tr>\n", " <th>133203</th>\n", " <td>Verde y Amarillo</td>\n", " <td>Carmen Herrera</td>\n", " <td>(Cuban, born 1915)</td>\n", " <td>(Cuban)</td>\n", " <td>(1915)</td>\n", " <td>(0)</td>\n", " <td>(Female)</td>\n", " <td>2017</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1915</td>\n", " <td>0</td>\n", " <td>female</td>\n", " <td>cuban</td>\n", " <td>2017</td>\n", " <td>2017</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2017</td>\n", " <td>102</td>\n", " </tr>\n", " <tr>\n", " <th>133432</th>\n", " <td>Untitled from Verde y Amarillo</td>\n", " <td>Carmen Herrera</td>\n", " <td>(Cuban, born 1915)</td>\n", " <td>(Cuban)</td>\n", " <td>(1915)</td>\n", " <td>(0)</td>\n", " <td>(Female)</td>\n", " <td>2017</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1915</td>\n", " <td>0</td>\n", " <td>female</td>\n", " <td>cuban</td>\n", " <td>2017</td>\n", " <td>2017</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2017</td>\n", " <td>102</td>\n", " </tr>\n", " <tr>\n", " <th>133204</th>\n", " <td>Verde y Negro</td>\n", " <td>Carmen Herrera</td>\n", " <td>(Cuban, born 1915)</td>\n", " <td>(Cuban)</td>\n", " <td>(1915)</td>\n", " <td>(0)</td>\n", " <td>(Female)</td>\n", " <td>2017</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1915</td>\n", " <td>0</td>\n", " <td>female</td>\n", " <td>cuban</td>\n", " <td>2017</td>\n", " <td>2017</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>2017</td>\n", " <td>102</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " title artist artist_bio \\\n", "109413 Three Sons, plate 14 of 24, from the series, S... Louise Bourgeois (American, born France. 1911–2010) \n", "109406 Michel, plate 7 of 24, from the series, Self P... Louise Bourgeois (American, born France. 1911–2010) \n", "109436 Untitled, plate 13 of 15, from the series, Nat... Louise Bourgeois (American, born France. 1911–2010) \n", "107875 Untitled, plate 14 of 15, from the series, Nat... Louise Bourgeois (American, born France. 1911–2010) \n", "109438 Untitled, plate 15 of 15, from the series, Nat... Louise Bourgeois (American, born France. 1911–2010) \n", "107885 Untitled, plate 14 of 15, from the series, Nat... Louise Bourgeois (American, born France. 1911–2010) \n", "107886 Untitled Louise Bourgeois (American, born France. 1911–2010) \n", "107887 Untitled Louise Bourgeois (American, born France. 1911–2010) \n", "107888 Untitled Louise Bourgeois (American, born France. 1911–2010) \n", "100324 Les Fleurs Louise Bourgeois (American, born France. 1911–2010) \n", "109437 Untitled, plate 14 of 15, from the series, Nat... Louise Bourgeois (American, born France. 1911–2010) \n", "111747 Ma Maison Louise Bourgeois (American, born France. 1911–2010) \n", "111748 Ma Maison Louise Bourgeois (American, born France. 1911–2010) \n", "111749 Where Would We Be Without Each Other? Louise Bourgeois (American, born France. 1911–2010) \n", "107904 Lips Louise Bourgeois (American, born France. 1911–2010) \n", "111750 Where Would We Be Without Each Other? Louise Bourgeois (American, born France. 1911–2010) \n", "111751 Ma Famille Louise Bourgeois (American, born France. 1911–2010) \n", "111752 La Danse Louise Bourgeois (American, born France. 1911–2010) \n", "111753 La Danse Louise Bourgeois (American, born France. 1911–2010) \n", "111754 La Danse Louise Bourgeois (American, born France. 1911–2010) \n", "111755 The Swarm Louise Bourgeois (American, born France. 1911–2010) \n", "111756 Untitled Louise Bourgeois (American, born France. 1911–2010) \n", "111757 Untitled Louise Bourgeois (American, born France. 1911–2010) \n", "103908 Have You Saved a Soul Today? Louise Bourgeois (American, born France. 1911–2010) \n", "108650 The Nest Louise Bourgeois (American, born France. 1911–2010) \n", "111816 Self-Pity Louise Bourgeois (American, born France. 1911–2010) \n", "107884 Untitled, plate 14 of 15, from the series, Nat... Louise Bourgeois (American, born France. 1911–2010) \n", "107883 Untitled, plate 13 of 15, from the series, Nat... Louise Bourgeois (American, born France. 1911–2010) \n", "109425 Untitled, plate 2 of 15, from the series, Natu... Louise Bourgeois (American, born France. 1911–2010) \n", "107881 Untitled, plate 8 of 15, from the series, Natu... Louise Bourgeois (American, born France. 1911–2010) \n", "110174 Self Portrait Louise Bourgeois (American, born France. 1911–2010) \n", "110189 Nature Study Louise Bourgeois (American, born France. 1911–2010) \n", "107876 Untitled, plate 9 of 15, from the series, Natu... Louise Bourgeois (American, born France. 1911–2010) \n", "115482 Self Portrait Louise Bourgeois (American, born France. 1911–2010) \n", "115481 Marriage, plate 5 of 24, from the series, Self... Louise Bourgeois (American, born France. 1911–2010) \n", "115480 La Nausée, plate 22 of 24, from the series, Se... Louise Bourgeois (American, born France. 1911–2010) \n", "115479 Nature Study Louise Bourgeois (American, born France. 1911–2010) \n", "115478 Nature Study Louise Bourgeois (American, born France. 1911–2010) \n", "107882 Untitled, plate 9 of 15, from the series, Natu... Louise Bourgeois (American, born France. 1911–2010) \n", "115477 Good Mother, plate 17 of 24, from the series, ... Louise Bourgeois (American, born France. 1911–2010) \n", "107877 Untitled, plate 10 of 15, from the series, Nat... Louise Bourgeois (American, born France. 1911–2010) \n", "107880 Untitled, plate 6 of 15, from the series, Natu... Louise Bourgeois (American, born France. 1911–2010) \n", "107879 Untitled Louise Bourgeois (American, born France. 1911–2010) \n", "107878 Untitled, plate 5 of 15, from the series, Natu... Louise Bourgeois (American, born France. 1911–2010) \n", "107865 Les Fleurs Louise Bourgeois (American, born France. 1911–2010) \n", "109399 To Whom It May Concern Louise Bourgeois (American, born France. 1911–2010) \n", "107866 Les Fleurs Louise Bourgeois (American, born France. 1911–2010) \n", "111210 Deuxième promenade (plate, page 12) from Les r... Hans Erni (Swiss, 1909–2015) \n", "111212 Quatrième promenade (plate, page 24) from Les ... Hans Erni (Swiss, 1909–2015) \n", "111215 Septième promenade (plate, page 42) from Les r... Hans Erni (Swiss, 1909–2015) \n", "107864 Les Fleurs Louise Bourgeois (American, born France. 1911–2010) \n", "111208 Frontispiece from Les rêveries du promeneur so... Hans Erni (Swiss, 1909–2015) \n", "111812 I Do Louise Bourgeois (American, born France. 1911–2010) \n", "110778 Les rêveries du promeneur solitaire (Extraits) Hans Erni (Swiss, 1909–2015) \n", "107651 Untitled Louise Bourgeois (American, born France. 1911–2010) \n", "111211 Troisième promenade (plate, page 18) from Les ... Hans Erni (Swiss, 1909–2015) \n", "111213 Cinquième promenade (plate, page 30) from Les ... Hans Erni (Swiss, 1909–2015) \n", "107867 Les Fleurs Louise Bourgeois (American, born France. 1911–2010) \n", "111218 Dixièmem promenade (plate, page 60) from Les r... Hans Erni (Swiss, 1909–2015) \n", "113819 Untitled, no. 12 of 12, from the illustrated b... Louise Bourgeois (American, born France. 1911–2010) \n", "113818 Untitled, no. 11 of 12, from the illustrated b... Louise Bourgeois (American, born France. 1911–2010) \n", "111214 Sixième promenade (plate, page 36) from Les rê... Hans Erni (Swiss, 1909–2015) \n", "111209 Première promenade (plate, page 6) from Les rê... Hans Erni (Swiss, 1909–2015) \n", "113815 Untitled, no. 8 of 12, from the illustrated bo... Louise Bourgeois (American, born France. 1911–2010) \n", "113814 Untitled, no. 7 of 12, from the illustrated bo... Louise Bourgeois (American, born France. 1911–2010) \n", "113813 Untitled, no. 6 of 12, from the illustrated bo... Louise Bourgeois (American, born France. 1911–2010) \n", "113817 Untitled, no. 10 of 12, from the illustrated b... Louise Bourgeois (American, born France. 1911–2010) \n", "113816 Untitled, no. 9 of 12, from the illustrated bo... Louise Bourgeois (American, born France. 1911–2010) \n", "113811 Untitled, no. 4 of 12, from the illustrated bo... Louise Bourgeois (American, born France. 1911–2010) \n", "113810 Untitled, no. 3 of 12, from the illustrated bo... Louise Bourgeois (American, born France. 1911–2010) \n", "113809 Untitled, no. 2 of 12, from the illustrated bo... Louise Bourgeois (American, born France. 1911–2010) \n", "113808 Untitled, no. 1 of 12, from the illustrated bo... Louise Bourgeois (American, born France. 1911–2010) \n", "111216 Huitième promenade (plate, page 48) from Les r... Hans Erni (Swiss, 1909–2015) \n", "111217 Neuvième promenade (plate, page 54) from Les r... Hans Erni (Swiss, 1909–2015) \n", "113812 Untitled, no. 5 of 12, from the illustrated bo... Louise Bourgeois (American, born France. 1911–2010) \n", "133436 Untitled from Verde y Negro Carmen Herrera (Cuban, born 1915) \n", "133435 Untitled from Verde y Negro Carmen Herrera (Cuban, born 1915) \n", "133434 Untitled from Verde y Negro Carmen Herrera (Cuban, born 1915) \n", "133433 Untitled from Verde y Amarillo Carmen Herrera (Cuban, born 1915) \n", "115010 The Strange Case of Angelica Manoel de Oliveira (Portuguese, 1908–2015) \n", "133431 Untitled from Verde y Amarillo Carmen Herrera (Cuban, born 1915) \n", "133205 Equilibrio Carmen Herrera (Cuban, born 1915) \n", "133203 Verde y Amarillo Carmen Herrera (Cuban, born 1915) \n", "133432 Untitled from Verde y Amarillo Carmen Herrera (Cuban, born 1915) \n", "133204 Verde y Negro Carmen Herrera (Cuban, born 1915) \n", "\n", " nationality begin_date end_date gender date classification department begin_date_clean \\\n", "109413 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "109406 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "109436 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "107875 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "109438 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "107885 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "107886 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "107887 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "107888 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "100324 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "109437 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "111747 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "111748 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "111749 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "107904 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "111750 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "111751 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "111752 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "111753 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "111754 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "111755 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "111756 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "111757 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "103908 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "108650 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "111816 (American) (1911) (2010) (Female) 2009 Textile Drawings & Prints 1911 \n", "107884 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "107883 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "109425 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "107881 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "110174 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "110189 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "107876 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "115482 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "115481 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "115480 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "115479 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "115478 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "107882 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "115477 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "107877 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "107880 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "107879 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "107878 (American) (1911) (2010) (Female) 2009 Print Drawings & Prints 1911 \n", "107865 (American) (1911) (2010) (Female) 2010 Print Drawings & Prints 1911 \n", "109399 (American) (1911) (2010) (Female) 2009-2010 Illustrated Book Drawings & Prints 1911 \n", "107866 (American) (1911) (2010) (Female) 2010 Print Drawings & Prints 1911 \n", "111210 (Swiss) (1909) (2015) (Male) 2008 Illustrated Book Drawings & Prints 1909 \n", "111212 (Swiss) (1909) (2015) (Male) 2008 Illustrated Book Drawings & Prints 1909 \n", "111215 (Swiss) (1909) (2015) (Male) 2008 Illustrated Book Drawings & Prints 1909 \n", "107864 (American) (1911) (2010) (Female) 2010 Print Drawings & Prints 1911 \n", "111208 (Swiss) (1909) (2015) (Male) 2008 Illustrated Book Drawings & Prints 1909 \n", "111812 (American) (1911) (2010) (Female) 2010 Print Drawings & Prints 1911 \n", "110778 (Swiss) (1909) (2015) (Male) 2008 Illustrated Book Drawings & Prints 1909 \n", "107651 (American) (1911) (2010) (Female) 2010 Print Drawings & Prints 1911 \n", "111211 (Swiss) (1909) (2015) (Male) 2008 Illustrated Book Drawings & Prints 1909 \n", "111213 (Swiss) (1909) (2015) (Male) 2008 Illustrated Book Drawings & Prints 1909 \n", "107867 (American) (1911) (2010) (Female) 2010 Print Drawings & Prints 1911 \n", "111218 (Swiss) (1909) (2015) (Male) 2008 Illustrated Book Drawings & Prints 1909 \n", "113819 (American) (1911) (2010) (Female) 2010 Illustrated Book Drawings & Prints 1911 \n", "113818 (American) (1911) (2010) (Female) 2010 Illustrated Book Drawings & Prints 1911 \n", "111214 (Swiss) (1909) (2015) (Male) 2008 Illustrated Book Drawings & Prints 1909 \n", "111209 (Swiss) (1909) (2015) (Male) 2008 Illustrated Book Drawings & Prints 1909 \n", "113815 (American) (1911) (2010) (Female) 2010 Illustrated Book Drawings & Prints 1911 \n", "113814 (American) (1911) (2010) (Female) 2010 Illustrated Book Drawings & Prints 1911 \n", "113813 (American) (1911) (2010) (Female) 2010 Illustrated Book Drawings & Prints 1911 \n", "113817 (American) (1911) (2010) (Female) 2010 Illustrated Book Drawings & Prints 1911 \n", "113816 (American) (1911) (2010) (Female) 2010 Illustrated Book Drawings & Prints 1911 \n", "113811 (American) (1911) (2010) (Female) 2010 Illustrated Book Drawings & Prints 1911 \n", "113810 (American) (1911) (2010) (Female) 2010 Illustrated Book Drawings & Prints 1911 \n", "113809 (American) (1911) (2010) (Female) 2010 Illustrated Book Drawings & Prints 1911 \n", "113808 (American) (1911) (2010) (Female) 2010 Illustrated Book Drawings & Prints 1911 \n", "111216 (Swiss) (1909) (2015) (Male) 2008 Illustrated Book Drawings & Prints 1909 \n", "111217 (Swiss) (1909) (2015) (Male) 2008 Illustrated Book Drawings & Prints 1909 \n", "113812 (American) (1911) (2010) (Female) 2010 Illustrated Book Drawings & Prints 1911 \n", "133436 (Cuban) (1915) (0) (Female) 2017 Print Drawings & Prints 1915 \n", "133435 (Cuban) (1915) (0) (Female) 2017 Print Drawings & Prints 1915 \n", "133434 (Cuban) (1915) (0) (Female) 2017 Print Drawings & Prints 1915 \n", "133433 (Cuban) (1915) (0) (Female) 2017 Print Drawings & Prints 1915 \n", "115010 (Portuguese) (1908) (2015) () 2010 Film Film 1908 \n", "133431 (Cuban) (1915) (0) (Female) 2017 Print Drawings & Prints 1915 \n", "133205 (Cuban) (1915) (0) (Female) 2017 Print Drawings & Prints 1915 \n", "133203 (Cuban) (1915) (0) (Female) 2017 Print Drawings & Prints 1915 \n", "133432 (Cuban) (1915) (0) (Female) 2017 Print Drawings & Prints 1915 \n", "133204 (Cuban) (1915) (0) (Female) 2017 Print Drawings & Prints 1915 \n", "\n", " end_date_clean gender_clean nationality_clean year_1 year_2 year_2_2 year_2_4 date_clean age \n", "109413 2010 female american 2009 2009 NaN NaN 2009 98 \n", "109406 2010 female american 2009 2009 NaN NaN 2009 98 \n", "109436 2010 female american 2009 2009 NaN NaN 2009 98 \n", "107875 2010 female american 2009 2009 NaN NaN 2009 98 \n", "109438 2010 female american 2009 2009 NaN NaN 2009 98 \n", "107885 2010 female american 2009 2009 NaN NaN 2009 98 \n", "107886 2010 female american 2009 2009 NaN NaN 2009 98 \n", "107887 2010 female american 2009 2009 NaN NaN 2009 98 \n", "107888 2010 female american 2009 2009 NaN NaN 2009 98 \n", "100324 2010 female american 2009 2009 NaN NaN 2009 98 \n", "109437 2010 female american 2009 2009 NaN NaN 2009 98 \n", "111747 2010 female american 2009 2009 NaN NaN 2009 98 \n", "111748 2010 female american 2009 2009 NaN NaN 2009 98 \n", "111749 2010 female american 2009 2009 NaN NaN 2009 98 \n", "107904 2010 female american 2009 2009 NaN NaN 2009 98 \n", "111750 2010 female american 2009 2009 NaN NaN 2009 98 \n", "111751 2010 female american 2009 2009 NaN NaN 2009 98 \n", "111752 2010 female american 2009 2009 NaN NaN 2009 98 \n", "111753 2010 female american 2009 2009 NaN NaN 2009 98 \n", "111754 2010 female american 2009 2009 NaN NaN 2009 98 \n", "111755 2010 female american 2009 2009 NaN NaN 2009 98 \n", "111756 2010 female american 2009 2009 NaN NaN 2009 98 \n", "111757 2010 female american 2009 2009 NaN NaN 2009 98 \n", "103908 2010 female american 2009 2009 NaN NaN 2009 98 \n", "108650 2010 female american 2009 2009 NaN NaN 2009 98 \n", "111816 2010 female american 2009 2009 NaN NaN 2009 98 \n", "107884 2010 female american 2009 2009 NaN NaN 2009 98 \n", "107883 2010 female american 2009 2009 NaN NaN 2009 98 \n", "109425 2010 female american 2009 2009 NaN NaN 2009 98 \n", "107881 2010 female american 2009 2009 NaN NaN 2009 98 \n", "110174 2010 female american 2009 2009 NaN NaN 2009 98 \n", "110189 2010 female american 2009 2009 NaN NaN 2009 98 \n", "107876 2010 female american 2009 2009 NaN NaN 2009 98 \n", "115482 2010 female american 2009 2009 NaN NaN 2009 98 \n", "115481 2010 female american 2009 2009 NaN NaN 2009 98 \n", "115480 2010 female american 2009 2009 NaN NaN 2009 98 \n", "115479 2010 female american 2009 2009 NaN NaN 2009 98 \n", "115478 2010 female american 2009 2009 NaN NaN 2009 98 \n", "107882 2010 female american 2009 2009 NaN NaN 2009 98 \n", "115477 2010 female american 2009 2009 NaN NaN 2009 98 \n", "107877 2010 female american 2009 2009 NaN NaN 2009 98 \n", "107880 2010 female american 2009 2009 NaN NaN 2009 98 \n", "107879 2010 female american 2009 2009 NaN NaN 2009 98 \n", "107878 2010 female american 2009 2009 NaN NaN 2009 98 \n", "107865 2010 female american 2010 2010 NaN NaN 2010 99 \n", "109399 2010 female american 2009 2010 NaN NaN 2010 99 \n", "107866 2010 female american 2010 2010 NaN NaN 2010 99 \n", "111210 2015 male swiss 2008 2008 NaN NaN 2008 99 \n", "111212 2015 male swiss 2008 2008 NaN NaN 2008 99 \n", "111215 2015 male swiss 2008 2008 NaN NaN 2008 99 \n", "107864 2010 female american 2010 2010 NaN NaN 2010 99 \n", "111208 2015 male swiss 2008 2008 NaN NaN 2008 99 \n", "111812 2010 female american 2010 2010 NaN NaN 2010 99 \n", "110778 2015 male swiss 2008 2008 NaN NaN 2008 99 \n", "107651 2010 female american 2010 2010 NaN NaN 2010 99 \n", "111211 2015 male swiss 2008 2008 NaN NaN 2008 99 \n", "111213 2015 male swiss 2008 2008 NaN NaN 2008 99 \n", "107867 2010 female american 2010 2010 NaN NaN 2010 99 \n", "111218 2015 male swiss 2008 2008 NaN NaN 2008 99 \n", "113819 2010 female american 2010 2010 NaN NaN 2010 99 \n", "113818 2010 female american 2010 2010 NaN NaN 2010 99 \n", "111214 2015 male swiss 2008 2008 NaN NaN 2008 99 \n", "111209 2015 male swiss 2008 2008 NaN NaN 2008 99 \n", "113815 2010 female american 2010 2010 NaN NaN 2010 99 \n", "113814 2010 female american 2010 2010 NaN NaN 2010 99 \n", "113813 2010 female american 2010 2010 NaN NaN 2010 99 \n", "113817 2010 female american 2010 2010 NaN NaN 2010 99 \n", "113816 2010 female american 2010 2010 NaN NaN 2010 99 \n", "113811 2010 female american 2010 2010 NaN NaN 2010 99 \n", "113810 2010 female american 2010 2010 NaN NaN 2010 99 \n", "113809 2010 female american 2010 2010 NaN NaN 2010 99 \n", "113808 2010 female american 2010 2010 NaN NaN 2010 99 \n", "111216 2015 male swiss 2008 2008 NaN NaN 2008 99 \n", "111217 2015 male swiss 2008 2008 NaN NaN 2008 99 \n", "113812 2010 female american 2010 2010 NaN NaN 2010 99 \n", "133436 0 female cuban 2017 2017 NaN NaN 2017 102 \n", "133435 0 female cuban 2017 2017 NaN NaN 2017 102 \n", "133434 0 female cuban 2017 2017 NaN NaN 2017 102 \n", "133433 0 female cuban 2017 2017 NaN NaN 2017 102 \n", "115010 2015 NaN portuguese 2010 2010 NaN NaN 2010 102 \n", "133431 0 female cuban 2017 2017 NaN NaN 2017 102 \n", "133205 0 female cuban 2017 2017 NaN NaN 2017 102 \n", "133203 0 female cuban 2017 2017 NaN NaN 2017 102 \n", "133432 0 female cuban 2017 2017 NaN NaN 2017 102 \n", "133204 0 female cuban 2017 2017 NaN NaN 2017 102 " ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pd.set_option('display.max_rows', 85) # increase the number of rows to display\n", "\n", "# Inspect values\n", "print(moma.loc[moma['age'] > 90, 'artist'].value_counts())\n", "moma[moma['age'] > 90].sort_values('age').tail(85)" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "General Idea 35\n", "Grapus 3\n", "Hi Red Center 2\n", "Gorgona artists group 1\n", "B. Tillmann 1\n", "Grey Organisation 1\n", "Robin Schwartz 1\n", "Richard Pare 1\n", "J.P. Sniadecki 1\n", "Banana Equipment 1\n", "Raúl Anguiano 1\n", "Atelier Martine, Paris, France 1\n", "Hermine David 1\n", "Sam Lucente 1\n", "Name: artist, dtype: int64\n" ] }, { "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>title</th>\n", " <th>artist</th>\n", " <th>artist_bio</th>\n", " <th>nationality</th>\n", " <th>begin_date</th>\n", " <th>end_date</th>\n", " <th>gender</th>\n", " <th>date</th>\n", " <th>classification</th>\n", " <th>department</th>\n", " <th>begin_date_clean</th>\n", " <th>end_date_clean</th>\n", " <th>gender_clean</th>\n", " <th>nationality_clean</th>\n", " <th>year_1</th>\n", " <th>year_2</th>\n", " <th>year_2_2</th>\n", " <th>year_2_4</th>\n", " <th>date_clean</th>\n", " <th>age</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>2124</th>\n", " <td>Printed Fabric</td>\n", " <td>Atelier Martine, Paris, France</td>\n", " <td>(1911–1930)</td>\n", " <td>()</td>\n", " <td>(1911)</td>\n", " <td>(1930)</td>\n", " <td>()</td>\n", " <td>1912-1913</td>\n", " <td>Design</td>\n", " <td>Architecture & Design</td>\n", " <td>1911</td>\n", " <td>1930</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1912</td>\n", " <td>1913</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1912</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>136750</th>\n", " <td>Orgasm Energy Chart</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1970</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1970</td>\n", " <td>1970</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1970</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>101220</th>\n", " <td>News Flash! What Is the Communication Satellit...</td>\n", " <td>Hi Red Center</td>\n", " <td>(Japanese, 1963–1964)</td>\n", " <td>()</td>\n", " <td>(1963)</td>\n", " <td>(1964)</td>\n", " <td>()</td>\n", " <td>1964</td>\n", " <td>Print</td>\n", " <td>Fluxus Collection</td>\n", " <td>1963</td>\n", " <td>1964</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1964</td>\n", " <td>1964</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1964</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>131800</th>\n", " <td>Bundle of Events from Fluxus 1</td>\n", " <td>Hi Red Center</td>\n", " <td>(Japanese, 1963–1964)</td>\n", " <td>()</td>\n", " <td>(1963)</td>\n", " <td>(1964)</td>\n", " <td>()</td>\n", " <td>1964, assembled 1976</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1963</td>\n", " <td>1964</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1964</td>\n", " <td>1964</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1964</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>63914</th>\n", " <td>Mid-summer Meadow</td>\n", " <td>Robin Schwartz</td>\n", " <td>(American, born 1957)</td>\n", " <td>(American)</td>\n", " <td>(1957)</td>\n", " <td>(0)</td>\n", " <td>(Female)</td>\n", " <td>1958</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1957</td>\n", " <td>0</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>1958</td>\n", " <td>1958</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1958</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>133087</th>\n", " <td>Demolition</td>\n", " <td>J.P. Sniadecki</td>\n", " <td>(American, born 1979)</td>\n", " <td>(American)</td>\n", " <td>(1979)</td>\n", " <td>(0)</td>\n", " <td>(Male)</td>\n", " <td>1980</td>\n", " <td>Video</td>\n", " <td>Film</td>\n", " <td>1979</td>\n", " <td>0</td>\n", " <td>male</td>\n", " <td>american</td>\n", " <td>1980</td>\n", " <td>1980</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1980</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>136751</th>\n", " <td>Looking Ahead</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1971</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1971</td>\n", " <td>1971</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1971</td>\n", " <td>2</td>\n", " </tr>\n", " <tr>\n", " <th>95212</th>\n", " <td>The 1970 Miss General Idea Pageant</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1971</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1971</td>\n", " <td>1971</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1971</td>\n", " <td>2</td>\n", " </tr>\n", " <tr>\n", " <th>95213</th>\n", " <td>Artist's Conception: Miss General Idea 1971</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1971</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1971</td>\n", " <td>1971</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1971</td>\n", " <td>2</td>\n", " </tr>\n", " <tr>\n", " <th>136755</th>\n", " <td>CIGARETTE BURN executed by Andy Warhol on Gran...</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1971</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1971</td>\n", " <td>1971</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1971</td>\n", " <td>2</td>\n", " </tr>\n", " <tr>\n", " <th>136756</th>\n", " <td>Light On (Double Mirror)</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1971</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1971</td>\n", " <td>1971</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1971</td>\n", " <td>2</td>\n", " </tr>\n", " <tr>\n", " <th>136757</th>\n", " <td>Light On (Drive-in Theatre)</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1971</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1971</td>\n", " <td>1971</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1971</td>\n", " <td>2</td>\n", " </tr>\n", " <tr>\n", " <th>136758</th>\n", " <td>Untitled Drawing (Bondage)</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1971</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1971</td>\n", " <td>1971</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1971</td>\n", " <td>2</td>\n", " </tr>\n", " <tr>\n", " <th>136752</th>\n", " <td>Gold-diggers of '84</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1972</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1972</td>\n", " <td>1972</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1972</td>\n", " <td>3</td>\n", " </tr>\n", " <tr>\n", " <th>6009</th>\n", " <td>St. Prex</td>\n", " <td>B. Tillmann</td>\n", " <td>(Swiss, born 1947)</td>\n", " <td>(Swiss)</td>\n", " <td>(1947)</td>\n", " <td>(0)</td>\n", " <td>()</td>\n", " <td>1950</td>\n", " <td>Design</td>\n", " <td>Architecture & Design</td>\n", " <td>1947</td>\n", " <td>0</td>\n", " <td>NaN</td>\n", " <td>swiss</td>\n", " <td>1950</td>\n", " <td>1950</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1950</td>\n", " <td>3</td>\n", " </tr>\n", " <tr>\n", " <th>56719</th>\n", " <td>(Untitled)</td>\n", " <td>Richard Pare</td>\n", " <td>(British, born 1948)</td>\n", " <td>(British)</td>\n", " <td>(1948)</td>\n", " <td>(0)</td>\n", " <td>(Male)</td>\n", " <td>1952</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1948</td>\n", " <td>0</td>\n", " <td>male</td>\n", " <td>british</td>\n", " <td>1952</td>\n", " <td>1952</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1952</td>\n", " <td>4</td>\n", " </tr>\n", " <tr>\n", " <th>136759</th>\n", " <td>Luxon V.B.: The 1984 Miss General Idea Pavilli...</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1973</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1973</td>\n", " <td>1973</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1973</td>\n", " <td>4</td>\n", " </tr>\n", " <tr>\n", " <th>95214</th>\n", " <td>Manipulating the Self</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1973</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1973</td>\n", " <td>1973</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1973</td>\n", " <td>4</td>\n", " </tr>\n", " <tr>\n", " <th>61723</th>\n", " <td>The Band Stand, Menton (Menton, le kiosque à m...</td>\n", " <td>Hermine David</td>\n", " <td>(French, 1886–1971)</td>\n", " <td>(French)</td>\n", " <td>(1886)</td>\n", " <td>(1971)</td>\n", " <td>(Female)</td>\n", " <td>1890</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1886</td>\n", " <td>1971</td>\n", " <td>female</td>\n", " <td>french</td>\n", " <td>1890</td>\n", " <td>1890</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1890</td>\n", " <td>4</td>\n", " </tr>\n", " <tr>\n", " <th>136760</th>\n", " <td>Art Metropole Letterhead</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1974</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1974</td>\n", " <td>1974</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1974</td>\n", " <td>5</td>\n", " </tr>\n", " <tr>\n", " <th>137886</th>\n", " <td>2. The 1984 Miss General Idea Pageant: Voice Over</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1975</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1975</td>\n", " <td>1975</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1975</td>\n", " <td>6</td>\n", " </tr>\n", " <tr>\n", " <th>137882</th>\n", " <td>1. The Search for the Spirit of Miss General I...</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1975</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1975</td>\n", " <td>1975</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1975</td>\n", " <td>6</td>\n", " </tr>\n", " <tr>\n", " <th>137892</th>\n", " <td>4. The 1984 Miss General Idea Pavillion: The 1...</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1975</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1975</td>\n", " <td>1975</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1975</td>\n", " <td>6</td>\n", " </tr>\n", " <tr>\n", " <th>137884</th>\n", " <td>2. The 1984 Miss General Idea Pageant: The 198...</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1975</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1975</td>\n", " <td>1975</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1975</td>\n", " <td>6</td>\n", " </tr>\n", " <tr>\n", " <th>136753</th>\n", " <td>Censor Sunglasses</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1975</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1975</td>\n", " <td>1975</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1975</td>\n", " <td>6</td>\n", " </tr>\n", " <tr>\n", " <th>137885</th>\n", " <td>2. The 1984 Miss General Idea Pageant: Zoom Ou...</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1975</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1975</td>\n", " <td>1975</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1975</td>\n", " <td>6</td>\n", " </tr>\n", " <tr>\n", " <th>137891</th>\n", " <td>3. Miss General Idea 1984: Miss General Idea 1984</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1975</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1975</td>\n", " <td>1975</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1975</td>\n", " <td>6</td>\n", " </tr>\n", " <tr>\n", " <th>137893</th>\n", " <td>4. The 1984 Miss General Idea Pavillion: Voice...</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1975</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1975</td>\n", " <td>1975</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1975</td>\n", " <td>6</td>\n", " </tr>\n", " <tr>\n", " <th>137883</th>\n", " <td>1. The Search for the Spirit of Miss General I...</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1975</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1975</td>\n", " <td>1975</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1975</td>\n", " <td>6</td>\n", " </tr>\n", " <tr>\n", " <th>121499</th>\n", " <td>Album cover for De La Soul, 3 Feet High and Ri...</td>\n", " <td>Grey Organisation</td>\n", " <td>(British, 1983–1991)</td>\n", " <td>(British)</td>\n", " <td>(1983)</td>\n", " <td>(1991)</td>\n", " <td>()</td>\n", " <td>1989</td>\n", " <td>Design</td>\n", " <td>Architecture & Design</td>\n", " <td>1983</td>\n", " <td>1991</td>\n", " <td>NaN</td>\n", " <td>british</td>\n", " <td>1989</td>\n", " <td>1989</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1989</td>\n", " <td>6</td>\n", " </tr>\n", " <tr>\n", " <th>95218</th>\n", " <td>Luxon Louvre (Ambiguity Without Contradiction)</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1975</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1975</td>\n", " <td>1975</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1975</td>\n", " <td>6</td>\n", " </tr>\n", " <tr>\n", " <th>3351</th>\n", " <td>Solid Logic Technology Module</td>\n", " <td>Sam Lucente</td>\n", " <td>(American, born 1958)</td>\n", " <td>(American)</td>\n", " <td>(1958)</td>\n", " <td>(0)</td>\n", " <td>(Male)</td>\n", " <td>1964</td>\n", " <td>Design</td>\n", " <td>Architecture & Design</td>\n", " <td>1958</td>\n", " <td>0</td>\n", " <td>male</td>\n", " <td>american</td>\n", " <td>1964</td>\n", " <td>1964</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1964</td>\n", " <td>6</td>\n", " </tr>\n", " <tr>\n", " <th>95216</th>\n", " <td>The Dr. Brute Colonnade (Dominant Imagery)</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1975</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1975</td>\n", " <td>1975</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1975</td>\n", " <td>6</td>\n", " </tr>\n", " <tr>\n", " <th>95217</th>\n", " <td>The Dr. Brute Colonnade and Drop Ceiling Detail</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1975</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1975</td>\n", " <td>1975</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1975</td>\n", " <td>6</td>\n", " </tr>\n", " <tr>\n", " <th>95219</th>\n", " <td>Miss General Idea Glove Pattern (Form Follows ...</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1975</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1975</td>\n", " <td>1975</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1975</td>\n", " <td>6</td>\n", " </tr>\n", " <tr>\n", " <th>95220</th>\n", " <td>Pavillion Construction Hoarding</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1975</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1975</td>\n", " <td>1975</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1975</td>\n", " <td>6</td>\n", " </tr>\n", " <tr>\n", " <th>95221</th>\n", " <td>Proposed Seating Arrangement (Form Follows Fic...</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1975</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1975</td>\n", " <td>1975</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1975</td>\n", " <td>6</td>\n", " </tr>\n", " <tr>\n", " <th>137895</th>\n", " <td>5. Frame of Reference: Frame of Reference</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1975</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1975</td>\n", " <td>1975</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1975</td>\n", " <td>6</td>\n", " </tr>\n", " <tr>\n", " <th>109072</th>\n", " <td>Gorgona no. 8</td>\n", " <td>Gorgona artists group</td>\n", " <td>(Zagreb, Croatian 1961–1966)</td>\n", " <td>(Croatian)</td>\n", " <td>(1959)</td>\n", " <td>(1966)</td>\n", " <td>()</td>\n", " <td>1965</td>\n", " <td>Periodical</td>\n", " <td>Drawings & Prints</td>\n", " <td>1959</td>\n", " <td>1966</td>\n", " <td>NaN</td>\n", " <td>croatian</td>\n", " <td>1965</td>\n", " <td>1965</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1965</td>\n", " <td>6</td>\n", " </tr>\n", " <tr>\n", " <th>137894</th>\n", " <td>4. The 1984 Miss General Idea Pavillion: Voice...</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1975</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1975</td>\n", " <td>1975</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1975</td>\n", " <td>6</td>\n", " </tr>\n", " <tr>\n", " <th>6124</th>\n", " <td>ON Y VA</td>\n", " <td>Grapus</td>\n", " <td>(French, 1970–1991)</td>\n", " <td>(French)</td>\n", " <td>(1970)</td>\n", " <td>(1991)</td>\n", " <td>()</td>\n", " <td>1977</td>\n", " <td>Design</td>\n", " <td>Architecture & Design</td>\n", " <td>1970</td>\n", " <td>1991</td>\n", " <td>NaN</td>\n", " <td>french</td>\n", " <td>1977</td>\n", " <td>1977</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1977</td>\n", " <td>7</td>\n", " </tr>\n", " <tr>\n", " <th>95222</th>\n", " <td>General Idea: Search for the Spirit</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1976</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1976</td>\n", " <td>1976</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1976</td>\n", " <td>7</td>\n", " </tr>\n", " <tr>\n", " <th>95223</th>\n", " <td>S/HE: The 1984 Miss General Idea Pageant No. 102</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1977</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1977</td>\n", " <td>1977</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1977</td>\n", " <td>8</td>\n", " </tr>\n", " <tr>\n", " <th>133545</th>\n", " <td>4-021 The 1984 Miss General Idea Pavillion: No...</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1977</td>\n", " <td>Drawing</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1977</td>\n", " <td>1977</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1977</td>\n", " <td>8</td>\n", " </tr>\n", " <tr>\n", " <th>6642</th>\n", " <td>\"VIVRE LE 14 JUILLET/ 1978\"</td>\n", " <td>Grapus</td>\n", " <td>(French, 1970–1991)</td>\n", " <td>(French)</td>\n", " <td>(1970)</td>\n", " <td>(1991)</td>\n", " <td>()</td>\n", " <td>1978</td>\n", " <td>Design</td>\n", " <td>Architecture & Design</td>\n", " <td>1970</td>\n", " <td>1991</td>\n", " <td>NaN</td>\n", " <td>french</td>\n", " <td>1978</td>\n", " <td>1978</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1978</td>\n", " <td>8</td>\n", " </tr>\n", " <tr>\n", " <th>137887</th>\n", " <td>2. The 1984 Miss General Idea Pageant: The Tyr...</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1977</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1977</td>\n", " <td>1977</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1977</td>\n", " <td>8</td>\n", " </tr>\n", " <tr>\n", " <th>6638</th>\n", " <td>Allez-Y De Ma Part</td>\n", " <td>Grapus</td>\n", " <td>(French, 1970–1991)</td>\n", " <td>(French)</td>\n", " <td>(1970)</td>\n", " <td>(1991)</td>\n", " <td>()</td>\n", " <td>1978</td>\n", " <td>Design</td>\n", " <td>Architecture & Design</td>\n", " <td>1970</td>\n", " <td>1991</td>\n", " <td>NaN</td>\n", " <td>french</td>\n", " <td>1978</td>\n", " <td>1978</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1978</td>\n", " <td>8</td>\n", " </tr>\n", " <tr>\n", " <th>131283</th>\n", " <td>Gore-Tex Parka</td>\n", " <td>Banana Equipment</td>\n", " <td>(American, 1972–1980)</td>\n", " <td>(American)</td>\n", " <td>(1972)</td>\n", " <td>(1980)</td>\n", " <td>()</td>\n", " <td>1980</td>\n", " <td>Design</td>\n", " <td>Architecture & Design</td>\n", " <td>1972</td>\n", " <td>1980</td>\n", " <td>NaN</td>\n", " <td>american</td>\n", " <td>1980</td>\n", " <td>1980</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1980</td>\n", " <td>8</td>\n", " </tr>\n", " <tr>\n", " <th>95224</th>\n", " <td>General Idea: Ménage à Trois</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1978</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1978</td>\n", " <td>1978</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1978</td>\n", " <td>9</td>\n", " </tr>\n", " <tr>\n", " <th>95225</th>\n", " <td>Glamour di General Idea</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1978</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1978</td>\n", " <td>1978</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1978</td>\n", " <td>9</td>\n", " </tr>\n", " <tr>\n", " <th>67412</th>\n", " <td>Peasant of Puebla (Campesino de Puebla)</td>\n", " <td>Raúl Anguiano</td>\n", " <td>(Mexican, 1915–2006)</td>\n", " <td>(Mexican)</td>\n", " <td>(1915)</td>\n", " <td>(2006)</td>\n", " <td>(Male)</td>\n", " <td>1924</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1915</td>\n", " <td>2006</td>\n", " <td>male</td>\n", " <td>mexican</td>\n", " <td>1924</td>\n", " <td>1924</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1924</td>\n", " <td>9</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " title artist \\\n", "2124 Printed Fabric Atelier Martine, Paris, France \n", "136750 Orgasm Energy Chart General Idea \n", "101220 News Flash! What Is the Communication Satellit... Hi Red Center \n", "131800 Bundle of Events from Fluxus 1 Hi Red Center \n", "63914 Mid-summer Meadow Robin Schwartz \n", "133087 Demolition J.P. Sniadecki \n", "136751 Looking Ahead General Idea \n", "95212 The 1970 Miss General Idea Pageant General Idea \n", "95213 Artist's Conception: Miss General Idea 1971 General Idea \n", "136755 CIGARETTE BURN executed by Andy Warhol on Gran... General Idea \n", "136756 Light On (Double Mirror) General Idea \n", "136757 Light On (Drive-in Theatre) General Idea \n", "136758 Untitled Drawing (Bondage) General Idea \n", "136752 Gold-diggers of '84 General Idea \n", "6009 St. Prex B. Tillmann \n", "56719 (Untitled) Richard Pare \n", "136759 Luxon V.B.: The 1984 Miss General Idea Pavilli... General Idea \n", "95214 Manipulating the Self General Idea \n", "61723 The Band Stand, Menton (Menton, le kiosque à m... Hermine David \n", "136760 Art Metropole Letterhead General Idea \n", "137886 2. The 1984 Miss General Idea Pageant: Voice Over General Idea \n", "137882 1. The Search for the Spirit of Miss General I... General Idea \n", "137892 4. The 1984 Miss General Idea Pavillion: The 1... General Idea \n", "137884 2. The 1984 Miss General Idea Pageant: The 198... General Idea \n", "136753 Censor Sunglasses General Idea \n", "137885 2. The 1984 Miss General Idea Pageant: Zoom Ou... General Idea \n", "137891 3. Miss General Idea 1984: Miss General Idea 1984 General Idea \n", "137893 4. The 1984 Miss General Idea Pavillion: Voice... General Idea \n", "137883 1. The Search for the Spirit of Miss General I... General Idea \n", "121499 Album cover for De La Soul, 3 Feet High and Ri... Grey Organisation \n", "95218 Luxon Louvre (Ambiguity Without Contradiction) General Idea \n", "3351 Solid Logic Technology Module Sam Lucente \n", "95216 The Dr. Brute Colonnade (Dominant Imagery) General Idea \n", "95217 The Dr. Brute Colonnade and Drop Ceiling Detail General Idea \n", "95219 Miss General Idea Glove Pattern (Form Follows ... General Idea \n", "95220 Pavillion Construction Hoarding General Idea \n", "95221 Proposed Seating Arrangement (Form Follows Fic... General Idea \n", "137895 5. Frame of Reference: Frame of Reference General Idea \n", "109072 Gorgona no. 8 Gorgona artists group \n", "137894 4. The 1984 Miss General Idea Pavillion: Voice... General Idea \n", "6124 ON Y VA Grapus \n", "95222 General Idea: Search for the Spirit General Idea \n", "95223 S/HE: The 1984 Miss General Idea Pageant No. 102 General Idea \n", "133545 4-021 The 1984 Miss General Idea Pavillion: No... General Idea \n", "6642 \"VIVRE LE 14 JUILLET/ 1978\" Grapus \n", "137887 2. The 1984 Miss General Idea Pageant: The Tyr... General Idea \n", "6638 Allez-Y De Ma Part Grapus \n", "131283 Gore-Tex Parka Banana Equipment \n", "95224 General Idea: Ménage à Trois General Idea \n", "95225 Glamour di General Idea General Idea \n", "67412 Peasant of Puebla (Campesino de Puebla) Raúl Anguiano \n", "\n", " artist_bio nationality begin_date end_date gender date \\\n", "2124 (1911–1930) () (1911) (1930) () 1912-1913 \n", "136750 (Canadian, 1969–1994) (Canadian) (1969) (1994) (Male) 1970 \n", "101220 (Japanese, 1963–1964) () (1963) (1964) () 1964 \n", "131800 (Japanese, 1963–1964) () (1963) (1964) () 1964, assembled 1976 \n", "63914 (American, born 1957) (American) (1957) (0) (Female) 1958 \n", "133087 (American, born 1979) (American) (1979) (0) (Male) 1980 \n", "136751 (Canadian, 1969–1994) (Canadian) (1969) (1994) (Male) 1971 \n", "95212 (Canadian, 1969–1994) (Canadian) (1969) (1994) (Male) 1971 \n", "95213 (Canadian, 1969–1994) (Canadian) (1969) (1994) (Male) 1971 \n", "136755 (Canadian, 1969–1994) (Canadian) (1969) (1994) (Male) 1971 \n", "136756 (Canadian, 1969–1994) (Canadian) (1969) (1994) (Male) 1971 \n", "136757 (Canadian, 1969–1994) (Canadian) (1969) (1994) (Male) 1971 \n", "136758 (Canadian, 1969–1994) (Canadian) (1969) (1994) (Male) 1971 \n", "136752 (Canadian, 1969–1994) (Canadian) (1969) (1994) (Male) 1972 \n", "6009 (Swiss, born 1947) (Swiss) (1947) (0) () 1950 \n", "56719 (British, born 1948) (British) (1948) (0) (Male) 1952 \n", "136759 (Canadian, 1969–1994) (Canadian) (1969) (1994) (Male) 1973 \n", "95214 (Canadian, 1969–1994) (Canadian) (1969) (1994) (Male) 1973 \n", "61723 (French, 1886–1971) (French) (1886) (1971) (Female) 1890 \n", "136760 (Canadian, 1969–1994) (Canadian) (1969) (1994) (Male) 1974 \n", "137886 (Canadian, 1969–1994) (Canadian) (1969) (1994) (Male) 1975 \n", "137882 (Canadian, 1969–1994) (Canadian) (1969) (1994) (Male) 1975 \n", "137892 (Canadian, 1969–1994) (Canadian) (1969) (1994) (Male) 1975 \n", "137884 (Canadian, 1969–1994) (Canadian) (1969) (1994) (Male) 1975 \n", "136753 (Canadian, 1969–1994) (Canadian) (1969) (1994) (Male) 1975 \n", "137885 (Canadian, 1969–1994) (Canadian) (1969) (1994) (Male) 1975 \n", "137891 (Canadian, 1969–1994) (Canadian) (1969) (1994) (Male) 1975 \n", "137893 (Canadian, 1969–1994) (Canadian) (1969) (1994) (Male) 1975 \n", "137883 (Canadian, 1969–1994) (Canadian) (1969) (1994) (Male) 1975 \n", "121499 (British, 1983–1991) (British) (1983) (1991) () 1989 \n", "95218 (Canadian, 1969–1994) (Canadian) (1969) (1994) (Male) 1975 \n", "3351 (American, born 1958) (American) (1958) (0) (Male) 1964 \n", "95216 (Canadian, 1969–1994) (Canadian) (1969) (1994) (Male) 1975 \n", "95217 (Canadian, 1969–1994) (Canadian) (1969) (1994) (Male) 1975 \n", "95219 (Canadian, 1969–1994) (Canadian) (1969) (1994) (Male) 1975 \n", "95220 (Canadian, 1969–1994) (Canadian) (1969) (1994) (Male) 1975 \n", "95221 (Canadian, 1969–1994) (Canadian) (1969) (1994) (Male) 1975 \n", "137895 (Canadian, 1969–1994) (Canadian) (1969) (1994) (Male) 1975 \n", "109072 (Zagreb, Croatian 1961–1966) (Croatian) (1959) (1966) () 1965 \n", "137894 (Canadian, 1969–1994) (Canadian) (1969) (1994) (Male) 1975 \n", "6124 (French, 1970–1991) (French) (1970) (1991) () 1977 \n", "95222 (Canadian, 1969–1994) (Canadian) (1969) (1994) (Male) 1976 \n", "95223 (Canadian, 1969–1994) (Canadian) (1969) (1994) (Male) 1977 \n", "133545 (Canadian, 1969–1994) (Canadian) (1969) (1994) (Male) 1977 \n", "6642 (French, 1970–1991) (French) (1970) (1991) () 1978 \n", "137887 (Canadian, 1969–1994) (Canadian) (1969) (1994) (Male) 1977 \n", "6638 (French, 1970–1991) (French) (1970) (1991) () 1978 \n", "131283 (American, 1972–1980) (American) (1972) (1980) () 1980 \n", "95224 (Canadian, 1969–1994) (Canadian) (1969) (1994) (Male) 1978 \n", "95225 (Canadian, 1969–1994) (Canadian) (1969) (1994) (Male) 1978 \n", "67412 (Mexican, 1915–2006) (Mexican) (1915) (2006) (Male) 1924 \n", "\n", " classification department begin_date_clean end_date_clean gender_clean nationality_clean \\\n", "2124 Design Architecture & Design 1911 1930 NaN NaN \n", "136750 Print Drawings & Prints 1969 1994 male canadian \n", "101220 Print Fluxus Collection 1963 1964 NaN NaN \n", "131800 Illustrated Book Drawings & Prints 1963 1964 NaN NaN \n", "63914 Print Drawings & Prints 1957 0 female american \n", "133087 Video Film 1979 0 male american \n", "136751 Print Drawings & Prints 1969 1994 male canadian \n", "95212 Illustrated Book Drawings & Prints 1969 1994 male canadian \n", "95213 Print Drawings & Prints 1969 1994 male canadian \n", "136755 Print Drawings & Prints 1969 1994 male canadian \n", "136756 Print Drawings & Prints 1969 1994 male canadian \n", "136757 Print Drawings & Prints 1969 1994 male canadian \n", "136758 Print Drawings & Prints 1969 1994 male canadian \n", "136752 Print Drawings & Prints 1969 1994 male canadian \n", "6009 Design Architecture & Design 1947 0 NaN swiss \n", "56719 Print Drawings & Prints 1948 0 male british \n", "136759 Print Drawings & Prints 1969 1994 male canadian \n", "95214 Print Drawings & Prints 1969 1994 male canadian \n", "61723 Print Drawings & Prints 1886 1971 female french \n", "136760 Print Drawings & Prints 1969 1994 male canadian \n", "137886 Print Drawings & Prints 1969 1994 male canadian \n", "137882 Print Drawings & Prints 1969 1994 male canadian \n", "137892 Print Drawings & Prints 1969 1994 male canadian \n", "137884 Print Drawings & Prints 1969 1994 male canadian \n", "136753 Print Drawings & Prints 1969 1994 male canadian \n", "137885 Print Drawings & Prints 1969 1994 male canadian \n", "137891 Print Drawings & Prints 1969 1994 male canadian \n", "137893 Print Drawings & Prints 1969 1994 male canadian \n", "137883 Print Drawings & Prints 1969 1994 male canadian \n", "121499 Design Architecture & Design 1983 1991 NaN british \n", "95218 Print Drawings & Prints 1969 1994 male canadian \n", "3351 Design Architecture & Design 1958 0 male american \n", "95216 Print Drawings & Prints 1969 1994 male canadian \n", "95217 Print Drawings & Prints 1969 1994 male canadian \n", "95219 Print Drawings & Prints 1969 1994 male canadian \n", "95220 Print Drawings & Prints 1969 1994 male canadian \n", "95221 Print Drawings & Prints 1969 1994 male canadian \n", "137895 Print Drawings & Prints 1969 1994 male canadian \n", "109072 Periodical Drawings & Prints 1959 1966 NaN croatian \n", "137894 Print Drawings & Prints 1969 1994 male canadian \n", "6124 Design Architecture & Design 1970 1991 NaN french \n", "95222 Illustrated Book Drawings & Prints 1969 1994 male canadian \n", "95223 Illustrated Book Drawings & Prints 1969 1994 male canadian \n", "133545 Drawing Drawings & Prints 1969 1994 male canadian \n", "6642 Design Architecture & Design 1970 1991 NaN french \n", "137887 Print Drawings & Prints 1969 1994 male canadian \n", "6638 Design Architecture & Design 1970 1991 NaN french \n", "131283 Design Architecture & Design 1972 1980 NaN american \n", "95224 Illustrated Book Drawings & Prints 1969 1994 male canadian \n", "95225 Print Drawings & Prints 1969 1994 male canadian \n", "67412 Print Drawings & Prints 1915 2006 male mexican \n", "\n", " year_1 year_2 year_2_2 year_2_4 date_clean age \n", "2124 1912 1913 NaN NaN 1912 1 \n", "136750 1970 1970 NaN NaN 1970 1 \n", "101220 1964 1964 NaN NaN 1964 1 \n", "131800 1964 1964 NaN NaN 1964 1 \n", "63914 1958 1958 NaN NaN 1958 1 \n", "133087 1980 1980 NaN NaN 1980 1 \n", "136751 1971 1971 NaN NaN 1971 2 \n", "95212 1971 1971 NaN NaN 1971 2 \n", "95213 1971 1971 NaN NaN 1971 2 \n", "136755 1971 1971 NaN NaN 1971 2 \n", "136756 1971 1971 NaN NaN 1971 2 \n", "136757 1971 1971 NaN NaN 1971 2 \n", "136758 1971 1971 NaN NaN 1971 2 \n", "136752 1972 1972 NaN NaN 1972 3 \n", "6009 1950 1950 NaN NaN 1950 3 \n", "56719 1952 1952 NaN NaN 1952 4 \n", "136759 1973 1973 NaN NaN 1973 4 \n", "95214 1973 1973 NaN NaN 1973 4 \n", "61723 1890 1890 NaN NaN 1890 4 \n", "136760 1974 1974 NaN NaN 1974 5 \n", "137886 1975 1975 NaN NaN 1975 6 \n", "137882 1975 1975 NaN NaN 1975 6 \n", "137892 1975 1975 NaN NaN 1975 6 \n", "137884 1975 1975 NaN NaN 1975 6 \n", "136753 1975 1975 NaN NaN 1975 6 \n", "137885 1975 1975 NaN NaN 1975 6 \n", "137891 1975 1975 NaN NaN 1975 6 \n", "137893 1975 1975 NaN NaN 1975 6 \n", "137883 1975 1975 NaN NaN 1975 6 \n", "121499 1989 1989 NaN NaN 1989 6 \n", "95218 1975 1975 NaN NaN 1975 6 \n", "3351 1964 1964 NaN NaN 1964 6 \n", "95216 1975 1975 NaN NaN 1975 6 \n", "95217 1975 1975 NaN NaN 1975 6 \n", "95219 1975 1975 NaN NaN 1975 6 \n", "95220 1975 1975 NaN NaN 1975 6 \n", "95221 1975 1975 NaN NaN 1975 6 \n", "137895 1975 1975 NaN NaN 1975 6 \n", "109072 1965 1965 NaN NaN 1965 6 \n", "137894 1975 1975 NaN NaN 1975 6 \n", "6124 1977 1977 NaN NaN 1977 7 \n", "95222 1976 1976 NaN NaN 1976 7 \n", "95223 1977 1977 NaN NaN 1977 8 \n", "133545 1977 1977 NaN NaN 1977 8 \n", "6642 1978 1978 NaN NaN 1978 8 \n", "137887 1977 1977 NaN NaN 1977 8 \n", "6638 1978 1978 NaN NaN 1978 8 \n", "131283 1980 1980 NaN NaN 1980 8 \n", "95224 1978 1978 NaN NaN 1978 9 \n", "95225 1978 1978 NaN NaN 1978 9 \n", "67412 1924 1924 NaN NaN 1924 9 " ] }, "execution_count": 59, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Inspect values\n", "print(moma.loc[moma['age'] < 10, 'artist'].value_counts())\n", "moma[moma['age'] < 10].sort_values('age')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The age values over 90 years old look quite likely.\n", "\n", "There are many teams and organizations with the `age` value less than 10 years old.\n", "\n", "As we mentioned above, there is no clear way to check whether the artist is an individual or a team. \n", "However, as a result of exploring the outliers, we found such teams as `Hi Red Center`, `General Idea`, `Gorgona artists group`, `Gray Organization`. Let's remove them from the dataset." ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "org count: 114\n", "org percentage: 0.1\n", "total: 114673\n", "\n", "moma org values:\n" ] }, { "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>title</th>\n", " <th>artist</th>\n", " <th>artist_bio</th>\n", " <th>nationality</th>\n", " <th>begin_date</th>\n", " <th>end_date</th>\n", " <th>gender</th>\n", " <th>date</th>\n", " <th>classification</th>\n", " <th>department</th>\n", " <th>begin_date_clean</th>\n", " <th>end_date_clean</th>\n", " <th>gender_clean</th>\n", " <th>nationality_clean</th>\n", " <th>year_1</th>\n", " <th>year_2</th>\n", " <th>year_2_2</th>\n", " <th>year_2_4</th>\n", " <th>date_clean</th>\n", " <th>age</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>2124</th>\n", " <td>Printed Fabric</td>\n", " <td>Atelier Martine, Paris, France</td>\n", " <td>(1911–1930)</td>\n", " <td>()</td>\n", " <td>(1911)</td>\n", " <td>(1930)</td>\n", " <td>()</td>\n", " <td>1912-1913</td>\n", " <td>Design</td>\n", " <td>Architecture & Design</td>\n", " <td>1911</td>\n", " <td>1930</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1912</td>\n", " <td>1913</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1912</td>\n", " <td>1</td>\n", " </tr>\n", " <tr>\n", " <th>5580</th>\n", " <td>Raymond Loewy dessine la Studebaker</td>\n", " <td>Grapus</td>\n", " <td>(French, 1970–1991)</td>\n", " <td>(French)</td>\n", " <td>(1970)</td>\n", " <td>(1991)</td>\n", " <td>()</td>\n", " <td>1987</td>\n", " <td>Design</td>\n", " <td>Architecture & Design</td>\n", " <td>1970</td>\n", " <td>1991</td>\n", " <td>NaN</td>\n", " <td>french</td>\n", " <td>1987</td>\n", " <td>1987</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1987</td>\n", " <td>17</td>\n", " </tr>\n", " <tr>\n", " <th>6124</th>\n", " <td>ON Y VA</td>\n", " <td>Grapus</td>\n", " <td>(French, 1970–1991)</td>\n", " <td>(French)</td>\n", " <td>(1970)</td>\n", " <td>(1991)</td>\n", " <td>()</td>\n", " <td>1977</td>\n", " <td>Design</td>\n", " <td>Architecture & Design</td>\n", " <td>1970</td>\n", " <td>1991</td>\n", " <td>NaN</td>\n", " <td>french</td>\n", " <td>1977</td>\n", " <td>1977</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1977</td>\n", " <td>7</td>\n", " </tr>\n", " <tr>\n", " <th>6638</th>\n", " <td>Allez-Y De Ma Part</td>\n", " <td>Grapus</td>\n", " <td>(French, 1970–1991)</td>\n", " <td>(French)</td>\n", " <td>(1970)</td>\n", " <td>(1991)</td>\n", " <td>()</td>\n", " <td>1978</td>\n", " <td>Design</td>\n", " <td>Architecture & Design</td>\n", " <td>1970</td>\n", " <td>1991</td>\n", " <td>NaN</td>\n", " <td>french</td>\n", " <td>1978</td>\n", " <td>1978</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1978</td>\n", " <td>8</td>\n", " </tr>\n", " <tr>\n", " <th>6642</th>\n", " <td>\"VIVRE LE 14 JUILLET/ 1978\"</td>\n", " <td>Grapus</td>\n", " <td>(French, 1970–1991)</td>\n", " <td>(French)</td>\n", " <td>(1970)</td>\n", " <td>(1991)</td>\n", " <td>()</td>\n", " <td>1978</td>\n", " <td>Design</td>\n", " <td>Architecture & Design</td>\n", " <td>1970</td>\n", " <td>1991</td>\n", " <td>NaN</td>\n", " <td>french</td>\n", " <td>1978</td>\n", " <td>1978</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1978</td>\n", " <td>8</td>\n", " </tr>\n", " <tr>\n", " <th>...</th>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " </tr>\n", " <tr>\n", " <th>137891</th>\n", " <td>3. Miss General Idea 1984: Miss General Idea 1984</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1975</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1975</td>\n", " <td>1975</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1975</td>\n", " <td>6</td>\n", " </tr>\n", " <tr>\n", " <th>137892</th>\n", " <td>4. The 1984 Miss General Idea Pavillion: The 1...</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1975</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1975</td>\n", " <td>1975</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1975</td>\n", " <td>6</td>\n", " </tr>\n", " <tr>\n", " <th>137893</th>\n", " <td>4. The 1984 Miss General Idea Pavillion: Voice...</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1975</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1975</td>\n", " <td>1975</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1975</td>\n", " <td>6</td>\n", " </tr>\n", " <tr>\n", " <th>137894</th>\n", " <td>4. The 1984 Miss General Idea Pavillion: Voice...</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1975</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1975</td>\n", " <td>1975</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1975</td>\n", " <td>6</td>\n", " </tr>\n", " <tr>\n", " <th>137895</th>\n", " <td>5. Frame of Reference: Frame of Reference</td>\n", " <td>General Idea</td>\n", " <td>(Canadian, 1969–1994)</td>\n", " <td>(Canadian)</td>\n", " <td>(1969)</td>\n", " <td>(1994)</td>\n", " <td>(Male)</td>\n", " <td>1975</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1969</td>\n", " <td>1994</td>\n", " <td>male</td>\n", " <td>canadian</td>\n", " <td>1975</td>\n", " <td>1975</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1975</td>\n", " <td>6</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "<p>114 rows × 20 columns</p>\n", "</div>" ], "text/plain": [ " title artist artist_bio \\\n", "2124 Printed Fabric Atelier Martine, Paris, France (1911–1930) \n", "5580 Raymond Loewy dessine la Studebaker Grapus (French, 1970–1991) \n", "6124 ON Y VA Grapus (French, 1970–1991) \n", "6638 Allez-Y De Ma Part Grapus (French, 1970–1991) \n", "6642 \"VIVRE LE 14 JUILLET/ 1978\" Grapus (French, 1970–1991) \n", "... ... ... ... \n", "137891 3. Miss General Idea 1984: Miss General Idea 1984 General Idea (Canadian, 1969–1994) \n", "137892 4. The 1984 Miss General Idea Pavillion: The 1... General Idea (Canadian, 1969–1994) \n", "137893 4. The 1984 Miss General Idea Pavillion: Voice... General Idea (Canadian, 1969–1994) \n", "137894 4. The 1984 Miss General Idea Pavillion: Voice... General Idea (Canadian, 1969–1994) \n", "137895 5. Frame of Reference: Frame of Reference General Idea (Canadian, 1969–1994) \n", "\n", " nationality begin_date end_date gender date classification department begin_date_clean \\\n", "2124 () (1911) (1930) () 1912-1913 Design Architecture & Design 1911 \n", "5580 (French) (1970) (1991) () 1987 Design Architecture & Design 1970 \n", "6124 (French) (1970) (1991) () 1977 Design Architecture & Design 1970 \n", "6638 (French) (1970) (1991) () 1978 Design Architecture & Design 1970 \n", "6642 (French) (1970) (1991) () 1978 Design Architecture & Design 1970 \n", "... ... ... ... ... ... ... ... ... \n", "137891 (Canadian) (1969) (1994) (Male) 1975 Print Drawings & Prints 1969 \n", "137892 (Canadian) (1969) (1994) (Male) 1975 Print Drawings & Prints 1969 \n", "137893 (Canadian) (1969) (1994) (Male) 1975 Print Drawings & Prints 1969 \n", "137894 (Canadian) (1969) (1994) (Male) 1975 Print Drawings & Prints 1969 \n", "137895 (Canadian) (1969) (1994) (Male) 1975 Print Drawings & Prints 1969 \n", "\n", " end_date_clean gender_clean nationality_clean year_1 year_2 year_2_2 year_2_4 date_clean age \n", "2124 1930 NaN NaN 1912 1913 NaN NaN 1912 1 \n", "5580 1991 NaN french 1987 1987 NaN NaN 1987 17 \n", "6124 1991 NaN french 1977 1977 NaN NaN 1977 7 \n", "6638 1991 NaN french 1978 1978 NaN NaN 1978 8 \n", "6642 1991 NaN french 1978 1978 NaN NaN 1978 8 \n", "... ... ... ... ... ... ... ... ... ... \n", "137891 1994 male canadian 1975 1975 NaN NaN 1975 6 \n", "137892 1994 male canadian 1975 1975 NaN NaN 1975 6 \n", "137893 1994 male canadian 1975 1975 NaN NaN 1975 6 \n", "137894 1994 male canadian 1975 1975 NaN NaN 1975 6 \n", "137895 1994 male canadian 1975 1975 NaN NaN 1975 6 \n", "\n", "[114 rows x 20 columns]" ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "artist_org = ['Hi Red Center', 'General Idea', 'Gorgona artists group', \n", " 'Grey Organisation', 'Grapus', 'Banana Equipment', \n", " 'Atelier Martine, Paris, France'\n", " ]\n", "artist_bool_org = moma['artist'].isin(artist_org)\n", "\n", "# Statistics for the rest rows\n", "print('org count:', artist_bool_org.sum())\n", "print('org percentage:', round(artist_bool_org.sum()*100/moma.shape[0], 2))\n", "print('total:', moma.shape[0], end='\\n\\n')\n", "\n", "# Inspect values\n", "print('moma org values:')\n", "moma.loc[artist_bool_org]" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Before drop org:\n", "total: 114673\n", "True 114559\n", "False 114\n", "Name: artist, dtype: int64\n", "\n", "After drop org:\n", "total: 114559\n", "True 114559\n", "Name: artist, dtype: int64\n" ] } ], "source": [ "print('Before drop org:')\n", "# Total number of rows before\n", "print('total:', moma.shape[0])\n", "# Number of the valid (True) and invalid (False) rows\n", "print((~artist_bool_org).value_counts(dropna=False), end='\\n\\n')\n", "\n", "# Drop\n", "artist_drop_org = moma[artist_bool_org].index # rows to drop\n", "moma.drop(index=artist_drop_org, inplace=True)\n", "\n", "print('After drop org:')\n", "# Total number of rows after\n", "print('total:', moma.shape[0])\n", "# Number of the valid (True) and invalid (False) rows\n", "print((~(moma['artist'].isin(artist_org))).value_counts(dropna=False))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Conclusions\n", "\n", "Since we were focused on getting quick high-level results, we assume that there are some erroneous values among the cleared data. \n", "\n", "Now, let's continue with the `age` values." ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "33 3.412216\n", "37 3.166927\n", "35 3.165181\n", "30 3.134629\n", "32 3.121536\n", "36 3.118044\n", "40 2.978378\n", "39 2.891087\n", "43 2.888468\n", "41 2.881485\n", "38 2.819508\n", "45 2.773243\n", "34 2.741819\n", "31 2.704283\n", "46 2.690317\n", "47 2.625721\n", "49 2.509624\n", "42 2.467724\n", "29 2.417968\n", "28 2.291396\n", "Name: age, dtype: float64" ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "moma['age'].value_counts(dropna=False, normalize=True).head(20)*100" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Below is the distribution of the number of artworks by age groups." ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(30.0, 35.0] 15.145034\n", "(35.0, 40.0] 14.973944\n", "(40.0, 45.0] 13.231610\n", "(45.0, 50.0] 11.708377\n", "(25.0, 30.0] 11.234386\n", "(50.0, 55.0] 8.020321\n", "(55.0, 60.0] 6.456935\n", "(60.0, 65.0] 4.947669\n", "(20.0, 25.0] 3.635681\n", "(65.0, 70.0] 3.479430\n", "(70.0, 75.0] 1.860177\n", "(75.0, 80.0] 1.476095\n", "(80.0, 85.0] 1.112964\n", "(85.0, 90.0] 1.067572\n", "(90.0, 95.0] 0.801334\n", "(15.0, 20.0] 0.432092\n", "(95.0, 100.0] 0.288934\n", "(10.0, 15.0] 0.104750\n", "(5.0, 10.0] 0.009602\n", "(100.0, 105.0] 0.008729\n", "(-0.001, 5.0] 0.004365\n", "Name: age, dtype: float64" ] }, "execution_count": 63, "metadata": {}, "output_type": "execute_result" } ], "source": [ "bins=[i for i in range(0, 110, 5)] # age groups\n", "moma['age'].value_counts(dropna=False, bins=bins, normalize=True) * 100" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Most of the artworks were created in the 4th decade of life. The peak is 33 years old.\n", "\n", "### The overall plot\n", "\n", "Let's plot the distribution of the number of artworks by age." ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [], "source": [ "# Import libs\n", "import seaborn as sns\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", "# Turn on svg rendering\n", "%config InlineBackend.figure_format = 'svg'\n", "\n", "# Color palette for the blog\n", "snark_palette = ['#e0675a', # red\n", " '#5ca0af', # green\n", " '#edde7e', # yellow\n", " '#211c47' # dark blue\n", " ]" ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\r\n", "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\r\n", " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n", "<!-- Created with matplotlib (https://matplotlib.org/) -->\r\n", "<svg height=\"269.288875pt\" version=\"1.1\" viewBox=\"0 0 361.434063 269.288875\" width=\"361.434063pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n", " <metadata>\r\n", " <rdf:RDF xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\r\n", " <cc:Work>\r\n", " <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/>\r\n", " <dc:date>2020-09-05T15:08:39.385823</dc:date>\r\n", " <dc:format>image/svg+xml</dc:format>\r\n", " <dc:creator>\r\n", " <cc:Agent>\r\n", " <dc:title>Matplotlib v3.3.1, https://matplotlib.org/</dc:title>\r\n", " </cc:Agent>\r\n", " </dc:creator>\r\n", " </cc:Work>\r\n", " </rdf:RDF>\r\n", " </metadata>\r\n", " <defs>\r\n", " <style type=\"text/css\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\r\n", " </defs>\r\n", " <g id=\"figure_1\">\r\n", " <g id=\"patch_1\">\r\n", " <path d=\"M 0 269.288875 \r\n", "L 361.434063 269.288875 \r\n", "L 361.434063 0 \r\n", "L 0 0 \r\n", "z\r\n", "\" style=\"fill:#ffffff;\"/>\r\n", " </g>\r\n", " <g id=\"axes_1\">\r\n", " <g id=\"patch_2\">\r\n", " <path d=\"M 12.093625 233.649 \r\n", "L 346.893625 233.649 \r\n", "L 346.893625 16.209 \r\n", "L 12.093625 16.209 \r\n", "z\r\n", "\" style=\"fill:#ffffff;\"/>\r\n", " </g>\r\n", " <g id=\"matplotlib.axis_1\">\r\n", " <g id=\"xtick_1\">\r\n", " <g id=\"line2d_1\">\r\n", " <defs>\r\n", " <path d=\"M 0 0 \r\n", "L 0 4 \r\n", "\" id=\"m4be53c227c\" style=\"stroke:#211c47;\"/>\r\n", " </defs>\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"12.093625\" xlink:href=\"#m4be53c227c\" y=\"233.649\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_1\">\r\n", " <!-- 10 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(7.2 247.447875)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 37.25 0 \r\n", "L 28.46875 0 \r\n", "L 28.46875 56 \r\n", "Q 25.296875 52.984375 20.140625 49.953125 \r\n", "Q 14.984375 46.921875 10.890625 45.40625 \r\n", "L 10.890625 53.90625 \r\n", "Q 18.265625 57.375 23.78125 62.296875 \r\n", "Q 29.296875 67.234375 31.59375 71.875 \r\n", "L 37.25 71.875 \r\n", "z\r\n", "\" id=\"ArialMT-49\"/>\r\n", " <path d=\"M 4.15625 35.296875 \r\n", "Q 4.15625 48 6.765625 55.734375 \r\n", "Q 9.375 63.484375 14.515625 67.671875 \r\n", "Q 19.671875 71.875 27.484375 71.875 \r\n", "Q 33.25 71.875 37.59375 69.546875 \r\n", "Q 41.9375 67.234375 44.765625 62.859375 \r\n", "Q 47.609375 58.5 49.21875 52.21875 \r\n", "Q 50.828125 45.953125 50.828125 35.296875 \r\n", "Q 50.828125 22.703125 48.234375 14.96875 \r\n", "Q 45.65625 7.234375 40.5 3 \r\n", "Q 35.359375 -1.21875 27.484375 -1.21875 \r\n", "Q 17.140625 -1.21875 11.234375 6.203125 \r\n", "Q 4.15625 15.140625 4.15625 35.296875 \r\n", "z\r\n", "M 13.1875 35.296875 \r\n", "Q 13.1875 17.671875 17.3125 11.828125 \r\n", "Q 21.4375 6 27.484375 6 \r\n", "Q 33.546875 6 37.671875 11.859375 \r\n", "Q 41.796875 17.71875 41.796875 35.296875 \r\n", "Q 41.796875 52.984375 37.671875 58.78125 \r\n", "Q 33.546875 64.59375 27.390625 64.59375 \r\n", "Q 21.34375 64.59375 17.71875 59.46875 \r\n", "Q 13.1875 52.9375 13.1875 35.296875 \r\n", "z\r\n", "\" id=\"ArialMT-48\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-49\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"xtick_2\">\r\n", " <g id=\"line2d_2\">\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"49.293625\" xlink:href=\"#m4be53c227c\" y=\"233.649\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_2\">\r\n", " <!-- 20 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(44.4 247.447875)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 50.34375 8.453125 \r\n", "L 50.34375 0 \r\n", "L 3.03125 0 \r\n", "Q 2.9375 3.171875 4.046875 6.109375 \r\n", "Q 5.859375 10.9375 9.828125 15.625 \r\n", "Q 13.8125 20.3125 21.34375 26.46875 \r\n", "Q 33.015625 36.03125 37.109375 41.625 \r\n", "Q 41.21875 47.21875 41.21875 52.203125 \r\n", "Q 41.21875 57.421875 37.46875 61 \r\n", "Q 33.734375 64.59375 27.734375 64.59375 \r\n", "Q 21.390625 64.59375 17.578125 60.78125 \r\n", "Q 13.765625 56.984375 13.71875 50.25 \r\n", "L 4.6875 51.171875 \r\n", "Q 5.609375 61.28125 11.65625 66.578125 \r\n", "Q 17.71875 71.875 27.9375 71.875 \r\n", "Q 38.234375 71.875 44.234375 66.15625 \r\n", "Q 50.25 60.453125 50.25 52 \r\n", "Q 50.25 47.703125 48.484375 43.546875 \r\n", "Q 46.734375 39.40625 42.65625 34.8125 \r\n", "Q 38.578125 30.21875 29.109375 22.21875 \r\n", "Q 21.1875 15.578125 18.9375 13.203125 \r\n", "Q 16.703125 10.84375 15.234375 8.453125 \r\n", "z\r\n", "\" id=\"ArialMT-50\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-50\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"xtick_3\">\r\n", " <g id=\"line2d_3\">\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"86.493625\" xlink:href=\"#m4be53c227c\" y=\"233.649\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_3\">\r\n", " <!-- 30 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(81.6 247.447875)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 4.203125 18.890625 \r\n", "L 12.984375 20.0625 \r\n", "Q 14.5 12.59375 18.140625 9.296875 \r\n", "Q 21.78125 6 27 6 \r\n", "Q 33.203125 6 37.46875 10.296875 \r\n", "Q 41.75 14.59375 41.75 20.953125 \r\n", "Q 41.75 27 37.796875 30.921875 \r\n", "Q 33.84375 34.859375 27.734375 34.859375 \r\n", "Q 25.25 34.859375 21.53125 33.890625 \r\n", "L 22.515625 41.609375 \r\n", "Q 23.390625 41.5 23.921875 41.5 \r\n", "Q 29.546875 41.5 34.03125 44.421875 \r\n", "Q 38.53125 47.359375 38.53125 53.46875 \r\n", "Q 38.53125 58.296875 35.25 61.46875 \r\n", "Q 31.984375 64.65625 26.8125 64.65625 \r\n", "Q 21.6875 64.65625 18.265625 61.421875 \r\n", "Q 14.84375 58.203125 13.875 51.765625 \r\n", "L 5.078125 53.328125 \r\n", "Q 6.6875 62.15625 12.390625 67.015625 \r\n", "Q 18.109375 71.875 26.609375 71.875 \r\n", "Q 32.46875 71.875 37.390625 69.359375 \r\n", "Q 42.328125 66.84375 44.9375 62.5 \r\n", "Q 47.5625 58.15625 47.5625 53.265625 \r\n", "Q 47.5625 48.640625 45.0625 44.828125 \r\n", "Q 42.578125 41.015625 37.703125 38.765625 \r\n", "Q 44.046875 37.3125 47.5625 32.6875 \r\n", "Q 51.078125 28.078125 51.078125 21.140625 \r\n", "Q 51.078125 11.765625 44.234375 5.25 \r\n", "Q 37.40625 -1.265625 26.953125 -1.265625 \r\n", "Q 17.53125 -1.265625 11.296875 4.34375 \r\n", "Q 5.078125 9.96875 4.203125 18.890625 \r\n", "z\r\n", "\" id=\"ArialMT-51\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-51\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"xtick_4\">\r\n", " <g id=\"line2d_4\">\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"123.693625\" xlink:href=\"#m4be53c227c\" y=\"233.649\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_4\">\r\n", " <!-- 40 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(118.8 247.447875)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 32.328125 0 \r\n", "L 32.328125 17.140625 \r\n", "L 1.265625 17.140625 \r\n", "L 1.265625 25.203125 \r\n", "L 33.9375 71.578125 \r\n", "L 41.109375 71.578125 \r\n", "L 41.109375 25.203125 \r\n", "L 50.78125 25.203125 \r\n", "L 50.78125 17.140625 \r\n", "L 41.109375 17.140625 \r\n", "L 41.109375 0 \r\n", "z\r\n", "M 32.328125 25.203125 \r\n", "L 32.328125 57.46875 \r\n", "L 9.90625 25.203125 \r\n", "z\r\n", "\" id=\"ArialMT-52\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-52\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"xtick_5\">\r\n", " <g id=\"line2d_5\">\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"160.893625\" xlink:href=\"#m4be53c227c\" y=\"233.649\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_5\">\r\n", " <!-- 50 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(156 247.447875)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 4.15625 18.75 \r\n", "L 13.375 19.53125 \r\n", "Q 14.40625 12.796875 18.140625 9.390625 \r\n", "Q 21.875 6 27.15625 6 \r\n", "Q 33.5 6 37.890625 10.78125 \r\n", "Q 42.28125 15.578125 42.28125 23.484375 \r\n", "Q 42.28125 31 38.0625 35.34375 \r\n", "Q 33.84375 39.703125 27 39.703125 \r\n", "Q 22.75 39.703125 19.328125 37.765625 \r\n", "Q 15.921875 35.84375 13.96875 32.765625 \r\n", "L 5.71875 33.84375 \r\n", "L 12.640625 70.609375 \r\n", "L 48.25 70.609375 \r\n", "L 48.25 62.203125 \r\n", "L 19.671875 62.203125 \r\n", "L 15.828125 42.96875 \r\n", "Q 22.265625 47.46875 29.34375 47.46875 \r\n", "Q 38.71875 47.46875 45.15625 40.96875 \r\n", "Q 51.609375 34.46875 51.609375 24.265625 \r\n", "Q 51.609375 14.546875 45.953125 7.46875 \r\n", "Q 39.0625 -1.21875 27.15625 -1.21875 \r\n", "Q 17.390625 -1.21875 11.203125 4.25 \r\n", "Q 5.03125 9.71875 4.15625 18.75 \r\n", "z\r\n", "\" id=\"ArialMT-53\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-53\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"xtick_6\">\r\n", " <g id=\"line2d_6\">\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"198.093625\" xlink:href=\"#m4be53c227c\" y=\"233.649\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_6\">\r\n", " <!-- 60 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(193.2 247.447875)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 49.75 54.046875 \r\n", "L 41.015625 53.375 \r\n", "Q 39.84375 58.546875 37.703125 60.890625 \r\n", "Q 34.125 64.65625 28.90625 64.65625 \r\n", "Q 24.703125 64.65625 21.53125 62.3125 \r\n", "Q 17.390625 59.28125 14.984375 53.46875 \r\n", "Q 12.59375 47.65625 12.5 36.921875 \r\n", "Q 15.671875 41.75 20.265625 44.09375 \r\n", "Q 24.859375 46.4375 29.890625 46.4375 \r\n", "Q 38.671875 46.4375 44.84375 39.96875 \r\n", "Q 51.03125 33.5 51.03125 23.25 \r\n", "Q 51.03125 16.5 48.125 10.71875 \r\n", "Q 45.21875 4.9375 40.140625 1.859375 \r\n", "Q 35.0625 -1.21875 28.609375 -1.21875 \r\n", "Q 17.625 -1.21875 10.6875 6.859375 \r\n", "Q 3.765625 14.9375 3.765625 33.5 \r\n", "Q 3.765625 54.25 11.421875 63.671875 \r\n", "Q 18.109375 71.875 29.4375 71.875 \r\n", "Q 37.890625 71.875 43.28125 67.140625 \r\n", "Q 48.6875 62.40625 49.75 54.046875 \r\n", "z\r\n", "M 13.875 23.1875 \r\n", "Q 13.875 18.65625 15.796875 14.5 \r\n", "Q 17.71875 10.359375 21.1875 8.171875 \r\n", "Q 24.65625 6 28.46875 6 \r\n", "Q 34.03125 6 38.03125 10.484375 \r\n", "Q 42.046875 14.984375 42.046875 22.703125 \r\n", "Q 42.046875 30.125 38.078125 34.390625 \r\n", "Q 34.125 38.671875 28.125 38.671875 \r\n", "Q 22.171875 38.671875 18.015625 34.390625 \r\n", "Q 13.875 30.125 13.875 23.1875 \r\n", "z\r\n", "\" id=\"ArialMT-54\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-54\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"xtick_7\">\r\n", " <g id=\"line2d_7\">\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"235.293625\" xlink:href=\"#m4be53c227c\" y=\"233.649\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_7\">\r\n", " <!-- 70 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(230.4 247.447875)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 4.734375 62.203125 \r\n", "L 4.734375 70.65625 \r\n", "L 51.078125 70.65625 \r\n", "L 51.078125 63.8125 \r\n", "Q 44.234375 56.546875 37.515625 44.484375 \r\n", "Q 30.8125 32.421875 27.15625 19.671875 \r\n", "Q 24.515625 10.6875 23.78125 0 \r\n", "L 14.75 0 \r\n", "Q 14.890625 8.453125 18.0625 20.40625 \r\n", "Q 21.234375 32.375 27.171875 43.484375 \r\n", "Q 33.109375 54.59375 39.796875 62.203125 \r\n", "z\r\n", "\" id=\"ArialMT-55\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-55\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"xtick_8\">\r\n", " <g id=\"line2d_8\">\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"272.493625\" xlink:href=\"#m4be53c227c\" y=\"233.649\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_8\">\r\n", " <!-- 80 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(267.6 247.447875)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 17.671875 38.8125 \r\n", "Q 12.203125 40.828125 9.5625 44.53125 \r\n", "Q 6.9375 48.25 6.9375 53.421875 \r\n", "Q 6.9375 61.234375 12.546875 66.546875 \r\n", "Q 18.171875 71.875 27.484375 71.875 \r\n", "Q 36.859375 71.875 42.578125 66.421875 \r\n", "Q 48.296875 60.984375 48.296875 53.171875 \r\n", "Q 48.296875 48.1875 45.671875 44.5 \r\n", "Q 43.0625 40.828125 37.75 38.8125 \r\n", "Q 44.34375 36.671875 47.78125 31.875 \r\n", "Q 51.21875 27.09375 51.21875 20.453125 \r\n", "Q 51.21875 11.28125 44.71875 5.03125 \r\n", "Q 38.234375 -1.21875 27.640625 -1.21875 \r\n", "Q 17.046875 -1.21875 10.546875 5.046875 \r\n", "Q 4.046875 11.328125 4.046875 20.703125 \r\n", "Q 4.046875 27.6875 7.59375 32.390625 \r\n", "Q 11.140625 37.109375 17.671875 38.8125 \r\n", "z\r\n", "M 15.921875 53.71875 \r\n", "Q 15.921875 48.640625 19.1875 45.40625 \r\n", "Q 22.46875 42.1875 27.6875 42.1875 \r\n", "Q 32.765625 42.1875 36.015625 45.375 \r\n", "Q 39.265625 48.578125 39.265625 53.21875 \r\n", "Q 39.265625 58.0625 35.90625 61.359375 \r\n", "Q 32.5625 64.65625 27.59375 64.65625 \r\n", "Q 22.5625 64.65625 19.234375 61.421875 \r\n", "Q 15.921875 58.203125 15.921875 53.71875 \r\n", "z\r\n", "M 13.09375 20.65625 \r\n", "Q 13.09375 16.890625 14.875 13.375 \r\n", "Q 16.65625 9.859375 20.171875 7.921875 \r\n", "Q 23.6875 6 27.734375 6 \r\n", "Q 34.03125 6 38.125 10.046875 \r\n", "Q 42.234375 14.109375 42.234375 20.359375 \r\n", "Q 42.234375 26.703125 38.015625 30.859375 \r\n", "Q 33.796875 35.015625 27.4375 35.015625 \r\n", "Q 21.234375 35.015625 17.15625 30.90625 \r\n", "Q 13.09375 26.8125 13.09375 20.65625 \r\n", "z\r\n", "\" id=\"ArialMT-56\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-56\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"xtick_9\">\r\n", " <g id=\"line2d_9\">\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"309.693625\" xlink:href=\"#m4be53c227c\" y=\"233.649\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_9\">\r\n", " <!-- 90 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(304.8 247.447875)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 5.46875 16.546875 \r\n", "L 13.921875 17.328125 \r\n", "Q 14.984375 11.375 18.015625 8.6875 \r\n", "Q 21.046875 6 25.78125 6 \r\n", "Q 29.828125 6 32.875 7.859375 \r\n", "Q 35.9375 9.71875 37.890625 12.8125 \r\n", "Q 39.84375 15.921875 41.15625 21.1875 \r\n", "Q 42.484375 26.46875 42.484375 31.9375 \r\n", "Q 42.484375 32.515625 42.4375 33.6875 \r\n", "Q 39.796875 29.5 35.234375 26.875 \r\n", "Q 30.671875 24.265625 25.34375 24.265625 \r\n", "Q 16.453125 24.265625 10.296875 30.703125 \r\n", "Q 4.15625 37.15625 4.15625 47.703125 \r\n", "Q 4.15625 58.59375 10.578125 65.234375 \r\n", "Q 17 71.875 26.65625 71.875 \r\n", "Q 33.640625 71.875 39.421875 68.109375 \r\n", "Q 45.21875 64.359375 48.21875 57.390625 \r\n", "Q 51.21875 50.4375 51.21875 37.25 \r\n", "Q 51.21875 23.53125 48.234375 15.40625 \r\n", "Q 45.265625 7.28125 39.375 3.03125 \r\n", "Q 33.5 -1.21875 25.59375 -1.21875 \r\n", "Q 17.1875 -1.21875 11.859375 3.4375 \r\n", "Q 6.546875 8.109375 5.46875 16.546875 \r\n", "z\r\n", "M 41.453125 48.140625 \r\n", "Q 41.453125 55.71875 37.421875 60.15625 \r\n", "Q 33.40625 64.59375 27.734375 64.59375 \r\n", "Q 21.875 64.59375 17.53125 59.8125 \r\n", "Q 13.1875 55.03125 13.1875 47.40625 \r\n", "Q 13.1875 40.578125 17.3125 36.296875 \r\n", "Q 21.4375 32.03125 27.484375 32.03125 \r\n", "Q 33.59375 32.03125 37.515625 36.296875 \r\n", "Q 41.453125 40.578125 41.453125 48.140625 \r\n", "z\r\n", "\" id=\"ArialMT-57\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-57\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"xtick_10\">\r\n", " <g id=\"line2d_10\">\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"346.893625\" xlink:href=\"#m4be53c227c\" y=\"233.649\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_10\">\r\n", " <!-- 100 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(339.553188 247.447875)scale(0.088 -0.088)\">\r\n", " <use xlink:href=\"#ArialMT-49\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " <use x=\"111.230469\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_11\">\r\n", " <!-- Age -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(170.953375 260.068375)scale(0.096 -0.096)\">\r\n", " <defs>\r\n", " <path d=\"M -0.140625 0 \r\n", "L 27.34375 71.578125 \r\n", "L 37.546875 71.578125 \r\n", "L 66.84375 0 \r\n", "L 56.0625 0 \r\n", "L 47.703125 21.6875 \r\n", "L 17.78125 21.6875 \r\n", "L 9.90625 0 \r\n", "z\r\n", "M 20.515625 29.390625 \r\n", "L 44.78125 29.390625 \r\n", "L 37.3125 49.21875 \r\n", "Q 33.890625 58.25 32.234375 64.0625 \r\n", "Q 30.859375 57.171875 28.375 50.390625 \r\n", "z\r\n", "\" id=\"ArialMT-65\"/>\r\n", " <path d=\"M 4.984375 -4.296875 \r\n", "L 13.53125 -5.5625 \r\n", "Q 14.0625 -9.515625 16.5 -11.328125 \r\n", "Q 19.78125 -13.765625 25.4375 -13.765625 \r\n", "Q 31.546875 -13.765625 34.859375 -11.328125 \r\n", "Q 38.1875 -8.890625 39.359375 -4.5 \r\n", "Q 40.046875 -1.8125 39.984375 6.78125 \r\n", "Q 34.234375 0 25.640625 0 \r\n", "Q 14.9375 0 9.078125 7.71875 \r\n", "Q 3.21875 15.4375 3.21875 26.21875 \r\n", "Q 3.21875 33.640625 5.90625 39.90625 \r\n", "Q 8.59375 46.1875 13.6875 49.609375 \r\n", "Q 18.796875 53.03125 25.6875 53.03125 \r\n", "Q 34.859375 53.03125 40.828125 45.609375 \r\n", "L 40.828125 51.859375 \r\n", "L 48.921875 51.859375 \r\n", "L 48.921875 7.03125 \r\n", "Q 48.921875 -5.078125 46.453125 -10.125 \r\n", "Q 44 -15.1875 38.640625 -18.109375 \r\n", "Q 33.296875 -21.046875 25.484375 -21.046875 \r\n", "Q 16.21875 -21.046875 10.5 -16.875 \r\n", "Q 4.78125 -12.703125 4.984375 -4.296875 \r\n", "z\r\n", "M 12.25 26.859375 \r\n", "Q 12.25 16.65625 16.296875 11.96875 \r\n", "Q 20.359375 7.28125 26.46875 7.28125 \r\n", "Q 32.515625 7.28125 36.609375 11.9375 \r\n", "Q 40.71875 16.609375 40.71875 26.5625 \r\n", "Q 40.71875 36.078125 36.5 40.90625 \r\n", "Q 32.28125 45.75 26.3125 45.75 \r\n", "Q 20.453125 45.75 16.34375 40.984375 \r\n", "Q 12.25 36.234375 12.25 26.859375 \r\n", "z\r\n", "\" id=\"ArialMT-103\"/>\r\n", " <path d=\"M 42.09375 16.703125 \r\n", "L 51.171875 15.578125 \r\n", "Q 49.03125 7.625 43.21875 3.21875 \r\n", "Q 37.40625 -1.171875 28.375 -1.171875 \r\n", "Q 17 -1.171875 10.328125 5.828125 \r\n", "Q 3.65625 12.84375 3.65625 25.484375 \r\n", "Q 3.65625 38.578125 10.390625 45.796875 \r\n", "Q 17.140625 53.03125 27.875 53.03125 \r\n", "Q 38.28125 53.03125 44.875 45.953125 \r\n", "Q 51.46875 38.875 51.46875 26.03125 \r\n", "Q 51.46875 25.25 51.421875 23.6875 \r\n", "L 12.75 23.6875 \r\n", "Q 13.234375 15.140625 17.578125 10.59375 \r\n", "Q 21.921875 6.0625 28.421875 6.0625 \r\n", "Q 33.25 6.0625 36.671875 8.59375 \r\n", "Q 40.09375 11.140625 42.09375 16.703125 \r\n", "z\r\n", "M 13.234375 30.90625 \r\n", "L 42.1875 30.90625 \r\n", "Q 41.609375 37.453125 38.875 40.71875 \r\n", "Q 34.671875 45.796875 27.984375 45.796875 \r\n", "Q 21.921875 45.796875 17.796875 41.75 \r\n", "Q 13.671875 37.703125 13.234375 30.90625 \r\n", "z\r\n", "\" id=\"ArialMT-101\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-65\"/>\r\n", " <use x=\"66.699219\" xlink:href=\"#ArialMT-103\"/>\r\n", " <use x=\"122.314453\" xlink:href=\"#ArialMT-101\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"patch_3\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M -21.386375 233.649 \r\n", "L -13.871975 233.649 \r\n", "L -13.871975 233.566 \r\n", "L -21.386375 233.566 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_4\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M -13.871975 233.649 \r\n", "L -6.357575 233.649 \r\n", "L -6.357575 233.593666 \r\n", "L -13.871975 233.593666 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_5\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M -6.357575 233.649 \r\n", "L 1.156825 233.649 \r\n", "L 1.156825 233.621333 \r\n", "L -6.357575 233.621333 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_6\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 1.156825 233.649 \r\n", "L 8.671225 233.649 \r\n", "L 8.671225 233.621333 \r\n", "L 1.156825 233.621333 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_7\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 8.671225 233.649 \r\n", "L 16.185625 233.649 \r\n", "L 16.185625 233.289332 \r\n", "L 8.671225 233.289332 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_8\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 16.185625 233.649 \r\n", "L 23.700025 233.649 \r\n", "L 23.700025 233.344666 \r\n", "L 16.185625 233.344666 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_9\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 23.700025 233.649 \r\n", "L 31.214425 233.649 \r\n", "L 31.214425 230.74399 \r\n", "L 23.700025 230.74399 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_10\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 31.214425 233.649 \r\n", "L 38.728825 233.649 \r\n", "L 38.728825 231.76766 \r\n", "L 31.214425 231.76766 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_11\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 38.728825 233.649 \r\n", "L 46.243225 233.649 \r\n", "L 46.243225 228.475315 \r\n", "L 38.728825 228.475315 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_12\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 46.243225 233.649 \r\n", "L 53.757625 233.649 \r\n", "L 53.757625 218.293947 \r\n", "L 46.243225 218.293947 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_13\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 53.757625 233.649 \r\n", "L 61.272025 233.649 \r\n", "L 61.272025 194.08553 \r\n", "L 53.757625 194.08553 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_14\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 61.272025 233.649 \r\n", "L 68.786425 233.649 \r\n", "L 68.786425 166.695436 \r\n", "L 61.272025 166.695436 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_15\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 68.786425 233.649 \r\n", "L 76.300825 233.649 \r\n", "L 76.300825 126.191296 \r\n", "L 68.786425 126.191296 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_16\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 76.300825 233.649 \r\n", "L 83.815225 233.649 \r\n", "L 83.815225 84.386818 \r\n", "L 76.300825 84.386818 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_17\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 83.815225 233.649 \r\n", "L 91.329625 233.649 \r\n", "L 91.329625 48.586028 \r\n", "L 83.815225 48.586028 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_18\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 91.329625 233.649 \r\n", "L 98.844025 233.649 \r\n", "L 98.844025 26.563286 \r\n", "L 91.329625 26.563286 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_19\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 98.844025 233.649 \r\n", "L 106.358425 233.649 \r\n", "L 106.358425 46.428021 \r\n", "L 98.844025 46.428021 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_20\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 106.358425 233.649 \r\n", "L 113.872825 233.649 \r\n", "L 113.872825 34.448313 \r\n", "L 106.358425 34.448313 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_21\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 113.872825 233.649 \r\n", "L 121.387225 233.649 \r\n", "L 121.387225 52.653042 \r\n", "L 113.872825 52.653042 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_22\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 121.387225 233.649 \r\n", "L 128.901625 233.649 \r\n", "L 128.901625 47.922026 \r\n", "L 121.387225 47.922026 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_23\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 128.901625 233.649 \r\n", "L 136.416025 233.649 \r\n", "L 136.416025 63.885748 \r\n", "L 128.901625 63.885748 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_24\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 136.416025 233.649 \r\n", "L 143.930425 233.649 \r\n", "L 143.930425 75.367454 \r\n", "L 136.416025 75.367454 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_25\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 143.930425 233.649 \r\n", "L 151.444825 233.649 \r\n", "L 151.444825 65.158419 \r\n", "L 143.930425 65.158419 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_26\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 151.444825 233.649 \r\n", "L 158.959225 233.649 \r\n", "L 158.959225 91.912178 \r\n", "L 151.444825 91.912178 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_27\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 158.959225 233.649 \r\n", "L 166.473625 233.649 \r\n", "L 166.473625 128.100303 \r\n", "L 158.959225 128.100303 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_28\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 166.473625 233.649 \r\n", "L 173.988025 233.649 \r\n", "L 173.988025 118.72127 \r\n", "L 166.473625 118.72127 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_29\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 173.988025 233.649 \r\n", "L 181.502425 233.649 \r\n", "L 181.502425 139.05634 \r\n", "L 173.988025 139.05634 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_30\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 181.502425 233.649 \r\n", "L 189.016825 233.649 \r\n", "L 189.016825 143.815023 \r\n", "L 181.502425 143.815023 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_31\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 189.016825 233.649 \r\n", "L 196.531225 233.649 \r\n", "L 196.531225 158.312407 \r\n", "L 189.016825 158.312407 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_32\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 196.531225 233.649 \r\n", "L 204.045625 233.649 \r\n", "L 204.045625 168.936443 \r\n", "L 196.531225 168.936443 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_33\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 204.045625 233.649 \r\n", "L 211.560025 233.649 \r\n", "L 211.560025 167.608439 \r\n", "L 204.045625 167.608439 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_34\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 211.560025 233.649 \r\n", "L 219.074425 233.649 \r\n", "L 219.074425 168.106441 \r\n", "L 211.560025 168.106441 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_35\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 219.074425 233.649 \r\n", "L 226.588825 233.649 \r\n", "L 226.588825 185.425834 \r\n", "L 219.074425 185.425834 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_36\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 226.588825 233.649 \r\n", "L 234.103225 233.649 \r\n", "L 234.103225 182.631491 \r\n", "L 226.588825 182.631491 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_37\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 234.103225 233.649 \r\n", "L 241.617625 233.649 \r\n", "L 241.617625 210.851588 \r\n", "L 234.103225 210.851588 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_38\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 241.617625 233.649 \r\n", "L 249.132025 233.649 \r\n", "L 249.132025 213.258596 \r\n", "L 241.617625 213.258596 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_39\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 249.132025 233.649 \r\n", "L 256.646425 233.649 \r\n", "L 256.646425 206.839908 \r\n", "L 249.132025 206.839908 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_40\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 256.646425 233.649 \r\n", "L 264.160825 233.649 \r\n", "L 264.160825 214.448267 \r\n", "L 256.646425 214.448267 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_41\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 264.160825 233.649 \r\n", "L 271.675225 233.649 \r\n", "L 271.675225 213.341597 \r\n", "L 264.160825 213.341597 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_42\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 271.675225 233.649 \r\n", "L 279.189625 233.649 \r\n", "L 279.189625 218.349281 \r\n", "L 271.675225 218.349281 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_43\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 279.189625 233.649 \r\n", "L 286.704025 233.649 \r\n", "L 286.704025 219.870952 \r\n", "L 279.189625 219.870952 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_44\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 286.704025 233.649 \r\n", "L 294.218425 233.649 \r\n", "L 294.218425 220.175287 \r\n", "L 286.704025 220.175287 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_45\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 294.218425 233.649 \r\n", "L 301.732825 233.649 \r\n", "L 301.732825 222.001293 \r\n", "L 294.218425 222.001293 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_46\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 301.732825 233.649 \r\n", "L 309.247225 233.649 \r\n", "L 309.247225 216.716942 \r\n", "L 301.732825 216.716942 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_47\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 309.247225 233.649 \r\n", "L 316.761625 233.649 \r\n", "L 316.761625 218.874949 \r\n", "L 309.247225 218.874949 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_48\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 316.761625 233.649 \r\n", "L 324.276025 233.649 \r\n", "L 324.276025 226.068307 \r\n", "L 316.761625 226.068307 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_49\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 324.276025 233.649 \r\n", "L 331.790425 233.649 \r\n", "L 331.790425 225.348971 \r\n", "L 324.276025 225.348971 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_50\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 331.790425 233.649 \r\n", "L 339.304825 233.649 \r\n", "L 339.304825 228.115648 \r\n", "L 331.790425 228.115648 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_51\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 339.304825 233.649 \r\n", "L 346.819225 233.649 \r\n", "L 346.819225 230.024654 \r\n", "L 339.304825 230.024654 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"patch_52\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 346.819225 233.649 \r\n", "L 354.333625 233.649 \r\n", "L 354.333625 233.372332 \r\n", "L 346.819225 233.372332 \r\n", "z\r\n", "\" style=\"fill:#e0675a;opacity:0.4;stroke:#ffffff;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"line2d_11\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M -1 233.613605 \r\n", "L -0.626943 233.61393 \r\n", "L 3.498997 233.583347 \r\n", "L 7.624937 233.500157 \r\n", "L 11.750877 233.39397 \r\n", "L 15.876817 233.296367 \r\n", "L 20.002757 233.098301 \r\n", "L 24.128697 232.561686 \r\n", "L 28.254637 231.73505 \r\n", "L 32.380577 231.059698 \r\n", "L 36.506517 230.41246 \r\n", "L 40.632457 228.83879 \r\n", "L 44.758396 225.463344 \r\n", "L 48.884336 219.704429 \r\n", "L 53.010276 210.853148 \r\n", "L 57.136216 198.505099 \r\n", "L 61.262156 183.314472 \r\n", "L 65.388096 165.759513 \r\n", "L 69.514036 145.433222 \r\n", "L 73.639976 122.63856 \r\n", "L 77.765916 99.092467 \r\n", "L 81.891856 77.141104 \r\n", "L 86.017796 59.391491 \r\n", "L 90.143736 47.081359 \r\n", "L 94.269676 39.464871 \r\n", "L 98.395616 36.705056 \r\n", "L 102.521556 36.902987 \r\n", "L 106.647496 36.94727 \r\n", "L 110.773436 38.234648 \r\n", "L 114.899376 42.059659 \r\n", "L 119.025316 46.065906 \r\n", "L 123.151256 49.609321 \r\n", "L 127.277195 54.704203 \r\n", "L 131.403135 60.853542 \r\n", "L 135.529075 65.563991 \r\n", "L 139.655015 67.345294 \r\n", "L 143.780955 68.042338 \r\n", "L 147.906895 72.664987 \r\n", "L 152.032835 82.142188 \r\n", "L 156.158775 93.778207 \r\n", "L 160.284715 106.976225 \r\n", "L 164.410655 118.420191 \r\n", "L 168.536595 124.016818 \r\n", "L 172.662535 127.582388 \r\n", "L 176.788475 133.609521 \r\n", "L 180.914415 139.913017 \r\n", "L 185.040355 144.309407 \r\n", "L 189.166295 149.095848 \r\n", "L 193.292235 155.811299 \r\n", "L 197.418175 162.641935 \r\n", "L 201.544115 167.593903 \r\n", "L 205.670055 170.01189 \r\n", "L 209.795994 170.904296 \r\n", "L 213.921934 171.858359 \r\n", "L 218.047874 174.286289 \r\n", "L 222.173814 178.006716 \r\n", "L 226.299754 182.741167 \r\n", "L 230.425694 190.46997 \r\n", "L 234.551634 200.139276 \r\n", "L 238.677574 207.321173 \r\n", "L 242.803514 210.280388 \r\n", "L 246.929454 210.445277 \r\n", "L 251.055394 210.155838 \r\n", "L 255.181334 210.962379 \r\n", "L 259.307274 212.285098 \r\n", "L 263.433214 213.340354 \r\n", "L 267.559154 214.709773 \r\n", "L 271.685094 216.694904 \r\n", "L 275.811034 218.412171 \r\n", "L 279.936974 218.833387 \r\n", "L 284.062914 218.589688 \r\n", "L 288.188854 219.481316 \r\n", "L 292.314793 220.863717 \r\n", "L 296.440733 220.568257 \r\n", "L 300.566673 219.1721 \r\n", "L 304.692613 218.757871 \r\n", "L 308.818553 219.527409 \r\n", "L 312.944493 220.899157 \r\n", "L 317.070433 222.830544 \r\n", "L 321.196373 224.590188 \r\n", "L 325.322313 225.588017 \r\n", "L 329.448253 226.398946 \r\n", "L 333.574193 227.565279 \r\n", "L 337.700133 229.028835 \r\n", "L 341.826073 230.659185 \r\n", "L 345.952013 232.147567 \r\n", "L 350.077953 233.050129 \r\n", "L 354.203893 233.392109 \r\n", "L 358.329833 233.518714 \r\n", "L 362.434063 233.597229 \r\n", "\" style=\"fill:none;stroke:#e0675a;stroke-linecap:round;stroke-width:1.2;\"/>\r\n", " </g>\r\n", " <g id=\"line2d_12\">\r\n", " <path clip-path=\"url(#p51cde1d014)\" d=\"M 97.653625 233.649 \r\n", "L 97.653625 22.7322 \r\n", "\" style=\"fill:none;stroke:#211c47;stroke-dasharray:1.2,1.98;stroke-dashoffset:0;stroke-width:1.2;\"/>\r\n", " <defs>\r\n", " <path d=\"M -2.4 2.4 \r\n", "L 2.4 -2.4 \r\n", "M -2.4 -2.4 \r\n", "L 2.4 2.4 \r\n", "\" id=\"m95470b84ed\" style=\"stroke:#211c47;\"/>\r\n", " </defs>\r\n", " <g clip-path=\"url(#p51cde1d014)\">\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"97.653625\" xlink:href=\"#m95470b84ed\" y=\"233.649\"/>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"97.653625\" xlink:href=\"#m95470b84ed\" y=\"22.7322\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"patch_53\">\r\n", " <path d=\"M 12.093625 233.649 \r\n", "L 346.893625 233.649 \r\n", "\" style=\"fill:none;stroke:#211c47;stroke-linecap:square;stroke-linejoin:miter;\"/>\r\n", " </g>\r\n", " <g id=\"text_12\">\r\n", " <!-- 33 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(105.093625 25.572861)scale(0.096 -0.096)\">\r\n", " <use xlink:href=\"#ArialMT-51\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-51\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_13\">\r\n", " <!-- Amount of Artworks by Age -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(231.639625 14.1885)scale(0.096 -0.096)\">\r\n", " <defs>\r\n", " <path d=\"M 6.59375 0 \r\n", "L 6.59375 51.859375 \r\n", "L 14.453125 51.859375 \r\n", "L 14.453125 44.578125 \r\n", "Q 16.890625 48.390625 20.9375 50.703125 \r\n", "Q 25 53.03125 30.171875 53.03125 \r\n", "Q 35.9375 53.03125 39.625 50.640625 \r\n", "Q 43.3125 48.25 44.828125 43.953125 \r\n", "Q 50.984375 53.03125 60.84375 53.03125 \r\n", "Q 68.5625 53.03125 72.703125 48.75 \r\n", "Q 76.859375 44.484375 76.859375 35.59375 \r\n", "L 76.859375 0 \r\n", "L 68.109375 0 \r\n", "L 68.109375 32.671875 \r\n", "Q 68.109375 37.9375 67.25 40.25 \r\n", "Q 66.40625 42.578125 64.15625 43.984375 \r\n", "Q 61.921875 45.40625 58.890625 45.40625 \r\n", "Q 53.421875 45.40625 49.796875 41.765625 \r\n", "Q 46.1875 38.140625 46.1875 30.125 \r\n", "L 46.1875 0 \r\n", "L 37.40625 0 \r\n", "L 37.40625 33.6875 \r\n", "Q 37.40625 39.546875 35.25 42.46875 \r\n", "Q 33.109375 45.40625 28.21875 45.40625 \r\n", "Q 24.515625 45.40625 21.359375 43.453125 \r\n", "Q 18.21875 41.5 16.796875 37.734375 \r\n", "Q 15.375 33.984375 15.375 26.90625 \r\n", "L 15.375 0 \r\n", "z\r\n", "\" id=\"ArialMT-109\"/>\r\n", " <path d=\"M 3.328125 25.921875 \r\n", "Q 3.328125 40.328125 11.328125 47.265625 \r\n", "Q 18.015625 53.03125 27.640625 53.03125 \r\n", "Q 38.328125 53.03125 45.109375 46.015625 \r\n", "Q 51.90625 39.015625 51.90625 26.65625 \r\n", "Q 51.90625 16.65625 48.90625 10.90625 \r\n", "Q 45.90625 5.171875 40.15625 2 \r\n", "Q 34.421875 -1.171875 27.640625 -1.171875 \r\n", "Q 16.75 -1.171875 10.03125 5.8125 \r\n", "Q 3.328125 12.796875 3.328125 25.921875 \r\n", "z\r\n", "M 12.359375 25.921875 \r\n", "Q 12.359375 15.96875 16.703125 11.015625 \r\n", "Q 21.046875 6.0625 27.640625 6.0625 \r\n", "Q 34.1875 6.0625 38.53125 11.03125 \r\n", "Q 42.875 16.015625 42.875 26.21875 \r\n", "Q 42.875 35.84375 38.5 40.796875 \r\n", "Q 34.125 45.75 27.640625 45.75 \r\n", "Q 21.046875 45.75 16.703125 40.8125 \r\n", "Q 12.359375 35.890625 12.359375 25.921875 \r\n", "z\r\n", "\" id=\"ArialMT-111\"/>\r\n", " <path d=\"M 40.578125 0 \r\n", "L 40.578125 7.625 \r\n", "Q 34.515625 -1.171875 24.125 -1.171875 \r\n", "Q 19.53125 -1.171875 15.546875 0.578125 \r\n", "Q 11.578125 2.34375 9.640625 5 \r\n", "Q 7.71875 7.671875 6.9375 11.53125 \r\n", "Q 6.390625 14.109375 6.390625 19.734375 \r\n", "L 6.390625 51.859375 \r\n", "L 15.1875 51.859375 \r\n", "L 15.1875 23.09375 \r\n", "Q 15.1875 16.21875 15.71875 13.8125 \r\n", "Q 16.546875 10.359375 19.234375 8.375 \r\n", "Q 21.921875 6.390625 25.875 6.390625 \r\n", "Q 29.828125 6.390625 33.296875 8.421875 \r\n", "Q 36.765625 10.453125 38.203125 13.9375 \r\n", "Q 39.65625 17.4375 39.65625 24.078125 \r\n", "L 39.65625 51.859375 \r\n", "L 48.4375 51.859375 \r\n", "L 48.4375 0 \r\n", "z\r\n", "\" id=\"ArialMT-117\"/>\r\n", " <path d=\"M 6.59375 0 \r\n", "L 6.59375 51.859375 \r\n", "L 14.5 51.859375 \r\n", "L 14.5 44.484375 \r\n", "Q 20.21875 53.03125 31 53.03125 \r\n", "Q 35.6875 53.03125 39.625 51.34375 \r\n", "Q 43.5625 49.65625 45.515625 46.921875 \r\n", "Q 47.46875 44.1875 48.25 40.4375 \r\n", "Q 48.734375 37.984375 48.734375 31.890625 \r\n", "L 48.734375 0 \r\n", "L 39.9375 0 \r\n", "L 39.9375 31.546875 \r\n", "Q 39.9375 36.921875 38.90625 39.578125 \r\n", "Q 37.890625 42.234375 35.28125 43.8125 \r\n", "Q 32.671875 45.40625 29.15625 45.40625 \r\n", "Q 23.53125 45.40625 19.453125 41.84375 \r\n", "Q 15.375 38.28125 15.375 28.328125 \r\n", "L 15.375 0 \r\n", "z\r\n", "\" id=\"ArialMT-110\"/>\r\n", " <path d=\"M 25.78125 7.859375 \r\n", "L 27.046875 0.09375 \r\n", "Q 23.34375 -0.6875 20.40625 -0.6875 \r\n", "Q 15.625 -0.6875 12.984375 0.828125 \r\n", "Q 10.359375 2.34375 9.28125 4.8125 \r\n", "Q 8.203125 7.28125 8.203125 15.1875 \r\n", "L 8.203125 45.015625 \r\n", "L 1.765625 45.015625 \r\n", "L 1.765625 51.859375 \r\n", "L 8.203125 51.859375 \r\n", "L 8.203125 64.703125 \r\n", "L 16.9375 69.96875 \r\n", "L 16.9375 51.859375 \r\n", "L 25.78125 51.859375 \r\n", "L 25.78125 45.015625 \r\n", "L 16.9375 45.015625 \r\n", "L 16.9375 14.703125 \r\n", "Q 16.9375 10.9375 17.40625 9.859375 \r\n", "Q 17.875 8.796875 18.921875 8.15625 \r\n", "Q 19.96875 7.515625 21.921875 7.515625 \r\n", "Q 23.390625 7.515625 25.78125 7.859375 \r\n", "z\r\n", "\" id=\"ArialMT-116\"/>\r\n", " <path id=\"ArialMT-32\"/>\r\n", " <path d=\"M 8.6875 0 \r\n", "L 8.6875 45.015625 \r\n", "L 0.921875 45.015625 \r\n", "L 0.921875 51.859375 \r\n", "L 8.6875 51.859375 \r\n", "L 8.6875 57.375 \r\n", "Q 8.6875 62.59375 9.625 65.140625 \r\n", "Q 10.890625 68.5625 14.078125 70.671875 \r\n", "Q 17.28125 72.796875 23.046875 72.796875 \r\n", "Q 26.765625 72.796875 31.25 71.921875 \r\n", "L 29.9375 64.265625 \r\n", "Q 27.203125 64.75 24.75 64.75 \r\n", "Q 20.75 64.75 19.09375 63.03125 \r\n", "Q 17.4375 61.328125 17.4375 56.640625 \r\n", "L 17.4375 51.859375 \r\n", "L 27.546875 51.859375 \r\n", "L 27.546875 45.015625 \r\n", "L 17.4375 45.015625 \r\n", "L 17.4375 0 \r\n", "z\r\n", "\" id=\"ArialMT-102\"/>\r\n", " <path d=\"M 6.5 0 \r\n", "L 6.5 51.859375 \r\n", "L 14.40625 51.859375 \r\n", "L 14.40625 44 \r\n", "Q 17.4375 49.515625 20 51.265625 \r\n", "Q 22.5625 53.03125 25.640625 53.03125 \r\n", "Q 30.078125 53.03125 34.671875 50.203125 \r\n", "L 31.640625 42.046875 \r\n", "Q 28.421875 43.953125 25.203125 43.953125 \r\n", "Q 22.3125 43.953125 20.015625 42.21875 \r\n", "Q 17.71875 40.484375 16.75 37.40625 \r\n", "Q 15.28125 32.71875 15.28125 27.15625 \r\n", "L 15.28125 0 \r\n", "z\r\n", "\" id=\"ArialMT-114\"/>\r\n", " <path d=\"M 16.15625 0 \r\n", "L 0.296875 51.859375 \r\n", "L 9.375 51.859375 \r\n", "L 17.625 21.921875 \r\n", "L 20.703125 10.796875 \r\n", "Q 20.90625 11.625 23.390625 21.484375 \r\n", "L 31.640625 51.859375 \r\n", "L 40.671875 51.859375 \r\n", "L 48.4375 21.78125 \r\n", "L 51.03125 11.859375 \r\n", "L 54 21.875 \r\n", "L 62.890625 51.859375 \r\n", "L 71.4375 51.859375 \r\n", "L 55.21875 0 \r\n", "L 46.09375 0 \r\n", "L 37.84375 31.0625 \r\n", "L 35.84375 39.890625 \r\n", "L 25.34375 0 \r\n", "z\r\n", "\" id=\"ArialMT-119\"/>\r\n", " <path d=\"M 6.640625 0 \r\n", "L 6.640625 71.578125 \r\n", "L 15.4375 71.578125 \r\n", "L 15.4375 30.765625 \r\n", "L 36.234375 51.859375 \r\n", "L 47.609375 51.859375 \r\n", "L 27.78125 32.625 \r\n", "L 49.609375 0 \r\n", "L 38.765625 0 \r\n", "L 21.625 26.515625 \r\n", "L 15.4375 20.5625 \r\n", "L 15.4375 0 \r\n", "z\r\n", "\" id=\"ArialMT-107\"/>\r\n", " <path d=\"M 3.078125 15.484375 \r\n", "L 11.765625 16.84375 \r\n", "Q 12.5 11.625 15.84375 8.84375 \r\n", "Q 19.1875 6.0625 25.203125 6.0625 \r\n", "Q 31.25 6.0625 34.171875 8.515625 \r\n", "Q 37.109375 10.984375 37.109375 14.3125 \r\n", "Q 37.109375 17.28125 34.515625 19 \r\n", "Q 32.71875 20.171875 25.53125 21.96875 \r\n", "Q 15.875 24.421875 12.140625 26.203125 \r\n", "Q 8.40625 27.984375 6.46875 31.125 \r\n", "Q 4.546875 34.28125 4.546875 38.09375 \r\n", "Q 4.546875 41.546875 6.125 44.5 \r\n", "Q 7.71875 47.46875 10.453125 49.421875 \r\n", "Q 12.5 50.921875 16.03125 51.96875 \r\n", "Q 19.578125 53.03125 23.640625 53.03125 \r\n", "Q 29.734375 53.03125 34.34375 51.265625 \r\n", "Q 38.96875 49.515625 41.15625 46.5 \r\n", "Q 43.359375 43.5 44.1875 38.484375 \r\n", "L 35.59375 37.3125 \r\n", "Q 35.015625 41.3125 32.203125 43.546875 \r\n", "Q 29.390625 45.796875 24.265625 45.796875 \r\n", "Q 18.21875 45.796875 15.625 43.796875 \r\n", "Q 13.03125 41.796875 13.03125 39.109375 \r\n", "Q 13.03125 37.40625 14.109375 36.03125 \r\n", "Q 15.1875 34.625 17.484375 33.6875 \r\n", "Q 18.796875 33.203125 25.25 31.453125 \r\n", "Q 34.578125 28.953125 38.25 27.359375 \r\n", "Q 41.9375 25.78125 44.03125 22.75 \r\n", "Q 46.140625 19.734375 46.140625 15.234375 \r\n", "Q 46.140625 10.84375 43.578125 6.953125 \r\n", "Q 41.015625 3.078125 36.171875 0.953125 \r\n", "Q 31.34375 -1.171875 25.25 -1.171875 \r\n", "Q 15.140625 -1.171875 9.84375 3.03125 \r\n", "Q 4.546875 7.234375 3.078125 15.484375 \r\n", "z\r\n", "\" id=\"ArialMT-115\"/>\r\n", " <path d=\"M 14.703125 0 \r\n", "L 6.546875 0 \r\n", "L 6.546875 71.578125 \r\n", "L 15.328125 71.578125 \r\n", "L 15.328125 46.046875 \r\n", "Q 20.90625 53.03125 29.546875 53.03125 \r\n", "Q 34.328125 53.03125 38.59375 51.09375 \r\n", "Q 42.875 49.171875 45.625 45.671875 \r\n", "Q 48.390625 42.1875 49.953125 37.25 \r\n", "Q 51.515625 32.328125 51.515625 26.703125 \r\n", "Q 51.515625 13.375 44.921875 6.09375 \r\n", "Q 38.328125 -1.171875 29.109375 -1.171875 \r\n", "Q 19.921875 -1.171875 14.703125 6.5 \r\n", "z\r\n", "M 14.59375 26.3125 \r\n", "Q 14.59375 17 17.140625 12.84375 \r\n", "Q 21.296875 6.0625 28.375 6.0625 \r\n", "Q 34.125 6.0625 38.328125 11.0625 \r\n", "Q 42.53125 16.0625 42.53125 25.984375 \r\n", "Q 42.53125 36.140625 38.5 40.96875 \r\n", "Q 34.46875 45.796875 28.765625 45.796875 \r\n", "Q 23 45.796875 18.796875 40.796875 \r\n", "Q 14.59375 35.796875 14.59375 26.3125 \r\n", "z\r\n", "\" id=\"ArialMT-98\"/>\r\n", " <path d=\"M 6.203125 -19.96875 \r\n", "L 5.21875 -11.71875 \r\n", "Q 8.109375 -12.5 10.25 -12.5 \r\n", "Q 13.1875 -12.5 14.9375 -11.515625 \r\n", "Q 16.703125 -10.546875 17.828125 -8.796875 \r\n", "Q 18.65625 -7.46875 20.515625 -2.25 \r\n", "Q 20.75 -1.515625 21.296875 -0.09375 \r\n", "L 1.609375 51.859375 \r\n", "L 11.078125 51.859375 \r\n", "L 21.875 21.828125 \r\n", "Q 23.96875 16.109375 25.640625 9.8125 \r\n", "Q 27.15625 15.875 29.25 21.625 \r\n", "L 40.328125 51.859375 \r\n", "L 49.125 51.859375 \r\n", "L 29.390625 -0.875 \r\n", "Q 26.21875 -9.421875 24.46875 -12.640625 \r\n", "Q 22.125 -17 19.09375 -19.015625 \r\n", "Q 16.0625 -21.046875 11.859375 -21.046875 \r\n", "Q 9.328125 -21.046875 6.203125 -19.96875 \r\n", "z\r\n", "\" id=\"ArialMT-121\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-65\"/>\r\n", " <use x=\"66.699219\" xlink:href=\"#ArialMT-109\"/>\r\n", " <use x=\"150\" xlink:href=\"#ArialMT-111\"/>\r\n", " <use x=\"205.615234\" xlink:href=\"#ArialMT-117\"/>\r\n", " <use x=\"261.230469\" xlink:href=\"#ArialMT-110\"/>\r\n", " <use x=\"316.845703\" xlink:href=\"#ArialMT-116\"/>\r\n", " <use x=\"344.628906\" xlink:href=\"#ArialMT-32\"/>\r\n", " <use x=\"372.412109\" xlink:href=\"#ArialMT-111\"/>\r\n", " <use x=\"428.027344\" xlink:href=\"#ArialMT-102\"/>\r\n", " <use x=\"455.810547\" xlink:href=\"#ArialMT-32\"/>\r\n", " <use x=\"478.09375\" xlink:href=\"#ArialMT-65\"/>\r\n", " <use x=\"544.792969\" xlink:href=\"#ArialMT-114\"/>\r\n", " <use x=\"578.09375\" xlink:href=\"#ArialMT-116\"/>\r\n", " <use x=\"605.876953\" xlink:href=\"#ArialMT-119\"/>\r\n", " <use x=\"678.09375\" xlink:href=\"#ArialMT-111\"/>\r\n", " <use x=\"733.708984\" xlink:href=\"#ArialMT-114\"/>\r\n", " <use x=\"767.009766\" xlink:href=\"#ArialMT-107\"/>\r\n", " <use x=\"817.009766\" xlink:href=\"#ArialMT-115\"/>\r\n", " <use x=\"867.009766\" xlink:href=\"#ArialMT-32\"/>\r\n", " <use x=\"894.792969\" xlink:href=\"#ArialMT-98\"/>\r\n", " <use x=\"950.408203\" xlink:href=\"#ArialMT-121\"/>\r\n", " <use x=\"1000.408203\" xlink:href=\"#ArialMT-32\"/>\r\n", " <use x=\"1022.691406\" xlink:href=\"#ArialMT-65\"/>\r\n", " <use x=\"1089.390625\" xlink:href=\"#ArialMT-103\"/>\r\n", " <use x=\"1145.005859\" xlink:href=\"#ArialMT-101\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <defs>\r\n", " <clipPath id=\"p51cde1d014\">\r\n", " <rect height=\"217.44\" width=\"334.8\" x=\"12.093625\" y=\"16.209\"/>\r\n", " </clipPath>\r\n", " </defs>\r\n", "</svg>\r\n" ], "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Set the figure\n", "sns.set(context='paper', style='ticks', palette=snark_palette,\n", " rc={'xtick.major.size': 4, 'ytick.left':False,\n", " 'axes.spines.left': False, 'axes.spines.bottom': True,\n", " 'axes.spines.right': False, 'axes.spines.top': False\n", " }\n", " )\n", "\n", "# Create the plot\n", "ax_age = sns.distplot(moma['age'], hist=True, rug=False)\n", "ax_age.axvline(x=33, ymin=0, ymax=0.97, marker='x', linestyle=':', color=snark_palette[-1]) # 33 boundary\n", "\n", "# Set some aesthetic params for the plot\n", "ax_age.annotate('33', [35, 0.0325], c=snark_palette[-1]) # set label for the 33 boundary\n", "ax_age.set_title('Amount of Artworks by Age', loc='right', pad=0, c=snark_palette[-1]) # set title of the plot\n", "ax_age.set_xlabel('Age', c=snark_palette[-1]) # set label of x axis\n", "ax_age.get_yaxis().set_visible(False) # hide y axis\n", "ax_age.set_xticks([i for i in range(0, 110, 10)]) # set x ticks labels\n", "ax_age.set_xlim([10, 100]) # set x axis range\n", "ax_age.tick_params(axis='x', colors=snark_palette[-1]) # color x ticks\n", "ax_age.spines['bottom'].set_color(snark_palette[-1]) # color x axis\n", "\n", "# Save and plot\n", "plt.savefig('plot.pic\\plot.age.png', dpi=150)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It's curious that most of the works were created at the age of 33! \n", "33 is a meaningful age. For example, in Christianity, Jesus was crucified and then resurrected at the age of 33.\n", "\n", "We can assume that there is a certain time lag between the origin of the idea and its implementation, the artist had an idea a little earlier.\n", "\n", "### Plot by gender\n", "\n", "We are interested in plotting the distribution of the number of artworks by age for men and women." ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(35.0, 40.0] 16.370506\n", "(30.0, 35.0] 14.983175\n", "(40.0, 45.0] 12.362005\n", "(25.0, 30.0] 10.407934\n", "(45.0, 50.0] 10.278057\n", "(50.0, 55.0] 6.033414\n", "(85.0, 90.0] 5.372218\n", "(90.0, 95.0] 5.118366\n", "(80.0, 85.0] 4.102958\n", "(60.0, 65.0] 3.099357\n", "(20.0, 25.0] 3.081646\n", "(55.0, 60.0] 2.697916\n", "(95.0, 100.0] 1.883228\n", "(75.0, 80.0] 1.611665\n", "(65.0, 70.0] 1.322392\n", "(70.0, 75.0] 0.702521\n", "(15.0, 20.0] 0.489994\n", "(100.0, 105.0] 0.053132\n", "(10.0, 15.0] 0.017711\n", "(-0.001, 5.0] 0.011807\n", "Name: age, dtype: float64" ] }, "execution_count": 66, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Women\n", "moma.loc[(moma['gender_clean'] == 'female'), 'age'].value_counts(normalize=True, bins=bins).head(20) * 100" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(30.0, 35.0] 15.131045\n", "(35.0, 40.0] 14.682748\n", "(40.0, 45.0] 13.401606\n", "(45.0, 50.0] 11.961093\n", "(25.0, 30.0] 11.382214\n", "(50.0, 55.0] 8.388085\n", "(55.0, 60.0] 7.131620\n", "(60.0, 65.0] 5.284967\n", "(65.0, 70.0] 3.868102\n", "(20.0, 25.0] 3.719013\n", "(70.0, 75.0] 2.068746\n", "(75.0, 80.0] 1.457993\n", "(80.0, 85.0] 0.596358\n", "(15.0, 20.0] 0.413338\n", "(85.0, 90.0] 0.321828\n", "(10.0, 15.0] 0.120300\n", "(90.0, 95.0] 0.052438\n", "(95.0, 100.0] 0.012338\n", "(5.0, 10.0] 0.004113\n", "(-0.001, 5.0] 0.002056\n", "Name: age, dtype: float64" ] }, "execution_count": 67, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Men\n", "moma.loc[(moma['gender_clean'] == 'male'), 'age'].value_counts(normalize=True, bins=bins).head(20) * 100" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\r\n", "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\r\n", " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n", "<!-- Created with matplotlib (https://matplotlib.org/) -->\r\n", "<svg height=\"273.268375pt\" version=\"1.1\" viewBox=\"0 0 354.093625 273.268375\" width=\"354.093625pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n", " <metadata>\r\n", " <rdf:RDF xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\r\n", " <cc:Work>\r\n", " <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/>\r\n", " <dc:date>2020-09-05T15:08:40.051873</dc:date>\r\n", " <dc:format>image/svg+xml</dc:format>\r\n", " <dc:creator>\r\n", " <cc:Agent>\r\n", " <dc:title>Matplotlib v3.3.1, https://matplotlib.org/</dc:title>\r\n", " </cc:Agent>\r\n", " </dc:creator>\r\n", " </cc:Work>\r\n", " </rdf:RDF>\r\n", " </metadata>\r\n", " <defs>\r\n", " <style type=\"text/css\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\r\n", " </defs>\r\n", " <g id=\"figure_1\">\r\n", " <g id=\"patch_1\">\r\n", " <path d=\"M 0 273.268375 \r\n", "L 354.093625 273.268375 \r\n", "L 354.093625 0 \r\n", "L 0 0 \r\n", "z\r\n", "\" style=\"fill:#ffffff;\"/>\r\n", " </g>\r\n", " <g id=\"axes_1\">\r\n", " <g id=\"patch_2\">\r\n", " <path d=\"M 12.093625 237.6285 \r\n", "L 346.893625 237.6285 \r\n", "L 346.893625 20.1885 \r\n", "L 12.093625 20.1885 \r\n", "z\r\n", "\" style=\"fill:#ffffff;\"/>\r\n", " </g>\r\n", " <g id=\"matplotlib.axis_1\">\r\n", " <g id=\"xtick_1\">\r\n", " <g id=\"line2d_1\">\r\n", " <defs>\r\n", " <path d=\"M 0 0 \r\n", "L 0 4 \r\n", "\" id=\"m5ec6e0a29b\" style=\"stroke:#211c47;\"/>\r\n", " </defs>\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"12.093625\" xlink:href=\"#m5ec6e0a29b\" y=\"237.6285\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_1\">\r\n", " <!-- 10 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(7.2 251.427375)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 37.25 0 \r\n", "L 28.46875 0 \r\n", "L 28.46875 56 \r\n", "Q 25.296875 52.984375 20.140625 49.953125 \r\n", "Q 14.984375 46.921875 10.890625 45.40625 \r\n", "L 10.890625 53.90625 \r\n", "Q 18.265625 57.375 23.78125 62.296875 \r\n", "Q 29.296875 67.234375 31.59375 71.875 \r\n", "L 37.25 71.875 \r\n", "z\r\n", "\" id=\"ArialMT-49\"/>\r\n", " <path d=\"M 4.15625 35.296875 \r\n", "Q 4.15625 48 6.765625 55.734375 \r\n", "Q 9.375 63.484375 14.515625 67.671875 \r\n", "Q 19.671875 71.875 27.484375 71.875 \r\n", "Q 33.25 71.875 37.59375 69.546875 \r\n", "Q 41.9375 67.234375 44.765625 62.859375 \r\n", "Q 47.609375 58.5 49.21875 52.21875 \r\n", "Q 50.828125 45.953125 50.828125 35.296875 \r\n", "Q 50.828125 22.703125 48.234375 14.96875 \r\n", "Q 45.65625 7.234375 40.5 3 \r\n", "Q 35.359375 -1.21875 27.484375 -1.21875 \r\n", "Q 17.140625 -1.21875 11.234375 6.203125 \r\n", "Q 4.15625 15.140625 4.15625 35.296875 \r\n", "z\r\n", "M 13.1875 35.296875 \r\n", "Q 13.1875 17.671875 17.3125 11.828125 \r\n", "Q 21.4375 6 27.484375 6 \r\n", "Q 33.546875 6 37.671875 11.859375 \r\n", "Q 41.796875 17.71875 41.796875 35.296875 \r\n", "Q 41.796875 52.984375 37.671875 58.78125 \r\n", "Q 33.546875 64.59375 27.390625 64.59375 \r\n", "Q 21.34375 64.59375 17.71875 59.46875 \r\n", "Q 13.1875 52.9375 13.1875 35.296875 \r\n", "z\r\n", "\" id=\"ArialMT-48\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-49\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"xtick_2\">\r\n", " <g id=\"line2d_2\">\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"45.573625\" xlink:href=\"#m5ec6e0a29b\" y=\"237.6285\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_2\">\r\n", " <!-- 20 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(40.68 251.427375)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 50.34375 8.453125 \r\n", "L 50.34375 0 \r\n", "L 3.03125 0 \r\n", "Q 2.9375 3.171875 4.046875 6.109375 \r\n", "Q 5.859375 10.9375 9.828125 15.625 \r\n", "Q 13.8125 20.3125 21.34375 26.46875 \r\n", "Q 33.015625 36.03125 37.109375 41.625 \r\n", "Q 41.21875 47.21875 41.21875 52.203125 \r\n", "Q 41.21875 57.421875 37.46875 61 \r\n", "Q 33.734375 64.59375 27.734375 64.59375 \r\n", "Q 21.390625 64.59375 17.578125 60.78125 \r\n", "Q 13.765625 56.984375 13.71875 50.25 \r\n", "L 4.6875 51.171875 \r\n", "Q 5.609375 61.28125 11.65625 66.578125 \r\n", "Q 17.71875 71.875 27.9375 71.875 \r\n", "Q 38.234375 71.875 44.234375 66.15625 \r\n", "Q 50.25 60.453125 50.25 52 \r\n", "Q 50.25 47.703125 48.484375 43.546875 \r\n", "Q 46.734375 39.40625 42.65625 34.8125 \r\n", "Q 38.578125 30.21875 29.109375 22.21875 \r\n", "Q 21.1875 15.578125 18.9375 13.203125 \r\n", "Q 16.703125 10.84375 15.234375 8.453125 \r\n", "z\r\n", "\" id=\"ArialMT-50\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-50\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"xtick_3\">\r\n", " <g id=\"line2d_3\">\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"79.053625\" xlink:href=\"#m5ec6e0a29b\" y=\"237.6285\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_3\">\r\n", " <!-- 30 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(74.16 251.427375)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 4.203125 18.890625 \r\n", "L 12.984375 20.0625 \r\n", "Q 14.5 12.59375 18.140625 9.296875 \r\n", "Q 21.78125 6 27 6 \r\n", "Q 33.203125 6 37.46875 10.296875 \r\n", "Q 41.75 14.59375 41.75 20.953125 \r\n", "Q 41.75 27 37.796875 30.921875 \r\n", "Q 33.84375 34.859375 27.734375 34.859375 \r\n", "Q 25.25 34.859375 21.53125 33.890625 \r\n", "L 22.515625 41.609375 \r\n", "Q 23.390625 41.5 23.921875 41.5 \r\n", "Q 29.546875 41.5 34.03125 44.421875 \r\n", "Q 38.53125 47.359375 38.53125 53.46875 \r\n", "Q 38.53125 58.296875 35.25 61.46875 \r\n", "Q 31.984375 64.65625 26.8125 64.65625 \r\n", "Q 21.6875 64.65625 18.265625 61.421875 \r\n", "Q 14.84375 58.203125 13.875 51.765625 \r\n", "L 5.078125 53.328125 \r\n", "Q 6.6875 62.15625 12.390625 67.015625 \r\n", "Q 18.109375 71.875 26.609375 71.875 \r\n", "Q 32.46875 71.875 37.390625 69.359375 \r\n", "Q 42.328125 66.84375 44.9375 62.5 \r\n", "Q 47.5625 58.15625 47.5625 53.265625 \r\n", "Q 47.5625 48.640625 45.0625 44.828125 \r\n", "Q 42.578125 41.015625 37.703125 38.765625 \r\n", "Q 44.046875 37.3125 47.5625 32.6875 \r\n", "Q 51.078125 28.078125 51.078125 21.140625 \r\n", "Q 51.078125 11.765625 44.234375 5.25 \r\n", "Q 37.40625 -1.265625 26.953125 -1.265625 \r\n", "Q 17.53125 -1.265625 11.296875 4.34375 \r\n", "Q 5.078125 9.96875 4.203125 18.890625 \r\n", "z\r\n", "\" id=\"ArialMT-51\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-51\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"xtick_4\">\r\n", " <g id=\"line2d_4\">\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"112.533625\" xlink:href=\"#m5ec6e0a29b\" y=\"237.6285\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_4\">\r\n", " <!-- 40 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(107.64 251.427375)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 32.328125 0 \r\n", "L 32.328125 17.140625 \r\n", "L 1.265625 17.140625 \r\n", "L 1.265625 25.203125 \r\n", "L 33.9375 71.578125 \r\n", "L 41.109375 71.578125 \r\n", "L 41.109375 25.203125 \r\n", "L 50.78125 25.203125 \r\n", "L 50.78125 17.140625 \r\n", "L 41.109375 17.140625 \r\n", "L 41.109375 0 \r\n", "z\r\n", "M 32.328125 25.203125 \r\n", "L 32.328125 57.46875 \r\n", "L 9.90625 25.203125 \r\n", "z\r\n", "\" id=\"ArialMT-52\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-52\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"xtick_5\">\r\n", " <g id=\"line2d_5\">\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"146.013625\" xlink:href=\"#m5ec6e0a29b\" y=\"237.6285\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_5\">\r\n", " <!-- 50 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(141.12 251.427375)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 4.15625 18.75 \r\n", "L 13.375 19.53125 \r\n", "Q 14.40625 12.796875 18.140625 9.390625 \r\n", "Q 21.875 6 27.15625 6 \r\n", "Q 33.5 6 37.890625 10.78125 \r\n", "Q 42.28125 15.578125 42.28125 23.484375 \r\n", "Q 42.28125 31 38.0625 35.34375 \r\n", "Q 33.84375 39.703125 27 39.703125 \r\n", "Q 22.75 39.703125 19.328125 37.765625 \r\n", "Q 15.921875 35.84375 13.96875 32.765625 \r\n", "L 5.71875 33.84375 \r\n", "L 12.640625 70.609375 \r\n", "L 48.25 70.609375 \r\n", "L 48.25 62.203125 \r\n", "L 19.671875 62.203125 \r\n", "L 15.828125 42.96875 \r\n", "Q 22.265625 47.46875 29.34375 47.46875 \r\n", "Q 38.71875 47.46875 45.15625 40.96875 \r\n", "Q 51.609375 34.46875 51.609375 24.265625 \r\n", "Q 51.609375 14.546875 45.953125 7.46875 \r\n", "Q 39.0625 -1.21875 27.15625 -1.21875 \r\n", "Q 17.390625 -1.21875 11.203125 4.25 \r\n", "Q 5.03125 9.71875 4.15625 18.75 \r\n", "z\r\n", "\" id=\"ArialMT-53\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-53\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"xtick_6\">\r\n", " <g id=\"line2d_6\">\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"179.493625\" xlink:href=\"#m5ec6e0a29b\" y=\"237.6285\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_6\">\r\n", " <!-- 60 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(174.6 251.427375)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 49.75 54.046875 \r\n", "L 41.015625 53.375 \r\n", "Q 39.84375 58.546875 37.703125 60.890625 \r\n", "Q 34.125 64.65625 28.90625 64.65625 \r\n", "Q 24.703125 64.65625 21.53125 62.3125 \r\n", "Q 17.390625 59.28125 14.984375 53.46875 \r\n", "Q 12.59375 47.65625 12.5 36.921875 \r\n", "Q 15.671875 41.75 20.265625 44.09375 \r\n", "Q 24.859375 46.4375 29.890625 46.4375 \r\n", "Q 38.671875 46.4375 44.84375 39.96875 \r\n", "Q 51.03125 33.5 51.03125 23.25 \r\n", "Q 51.03125 16.5 48.125 10.71875 \r\n", "Q 45.21875 4.9375 40.140625 1.859375 \r\n", "Q 35.0625 -1.21875 28.609375 -1.21875 \r\n", "Q 17.625 -1.21875 10.6875 6.859375 \r\n", "Q 3.765625 14.9375 3.765625 33.5 \r\n", "Q 3.765625 54.25 11.421875 63.671875 \r\n", "Q 18.109375 71.875 29.4375 71.875 \r\n", "Q 37.890625 71.875 43.28125 67.140625 \r\n", "Q 48.6875 62.40625 49.75 54.046875 \r\n", "z\r\n", "M 13.875 23.1875 \r\n", "Q 13.875 18.65625 15.796875 14.5 \r\n", "Q 17.71875 10.359375 21.1875 8.171875 \r\n", "Q 24.65625 6 28.46875 6 \r\n", "Q 34.03125 6 38.03125 10.484375 \r\n", "Q 42.046875 14.984375 42.046875 22.703125 \r\n", "Q 42.046875 30.125 38.078125 34.390625 \r\n", "Q 34.125 38.671875 28.125 38.671875 \r\n", "Q 22.171875 38.671875 18.015625 34.390625 \r\n", "Q 13.875 30.125 13.875 23.1875 \r\n", "z\r\n", "\" id=\"ArialMT-54\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-54\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"xtick_7\">\r\n", " <g id=\"line2d_7\">\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"212.973625\" xlink:href=\"#m5ec6e0a29b\" y=\"237.6285\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_7\">\r\n", " <!-- 70 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(208.08 251.427375)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 4.734375 62.203125 \r\n", "L 4.734375 70.65625 \r\n", "L 51.078125 70.65625 \r\n", "L 51.078125 63.8125 \r\n", "Q 44.234375 56.546875 37.515625 44.484375 \r\n", "Q 30.8125 32.421875 27.15625 19.671875 \r\n", "Q 24.515625 10.6875 23.78125 0 \r\n", "L 14.75 0 \r\n", "Q 14.890625 8.453125 18.0625 20.40625 \r\n", "Q 21.234375 32.375 27.171875 43.484375 \r\n", "Q 33.109375 54.59375 39.796875 62.203125 \r\n", "z\r\n", "\" id=\"ArialMT-55\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-55\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"xtick_8\">\r\n", " <g id=\"line2d_8\">\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"246.453625\" xlink:href=\"#m5ec6e0a29b\" y=\"237.6285\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_8\">\r\n", " <!-- 80 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(241.56 251.427375)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 17.671875 38.8125 \r\n", "Q 12.203125 40.828125 9.5625 44.53125 \r\n", "Q 6.9375 48.25 6.9375 53.421875 \r\n", "Q 6.9375 61.234375 12.546875 66.546875 \r\n", "Q 18.171875 71.875 27.484375 71.875 \r\n", "Q 36.859375 71.875 42.578125 66.421875 \r\n", "Q 48.296875 60.984375 48.296875 53.171875 \r\n", "Q 48.296875 48.1875 45.671875 44.5 \r\n", "Q 43.0625 40.828125 37.75 38.8125 \r\n", "Q 44.34375 36.671875 47.78125 31.875 \r\n", "Q 51.21875 27.09375 51.21875 20.453125 \r\n", "Q 51.21875 11.28125 44.71875 5.03125 \r\n", "Q 38.234375 -1.21875 27.640625 -1.21875 \r\n", "Q 17.046875 -1.21875 10.546875 5.046875 \r\n", "Q 4.046875 11.328125 4.046875 20.703125 \r\n", "Q 4.046875 27.6875 7.59375 32.390625 \r\n", "Q 11.140625 37.109375 17.671875 38.8125 \r\n", "z\r\n", "M 15.921875 53.71875 \r\n", "Q 15.921875 48.640625 19.1875 45.40625 \r\n", "Q 22.46875 42.1875 27.6875 42.1875 \r\n", "Q 32.765625 42.1875 36.015625 45.375 \r\n", "Q 39.265625 48.578125 39.265625 53.21875 \r\n", "Q 39.265625 58.0625 35.90625 61.359375 \r\n", "Q 32.5625 64.65625 27.59375 64.65625 \r\n", "Q 22.5625 64.65625 19.234375 61.421875 \r\n", "Q 15.921875 58.203125 15.921875 53.71875 \r\n", "z\r\n", "M 13.09375 20.65625 \r\n", "Q 13.09375 16.890625 14.875 13.375 \r\n", "Q 16.65625 9.859375 20.171875 7.921875 \r\n", "Q 23.6875 6 27.734375 6 \r\n", "Q 34.03125 6 38.125 10.046875 \r\n", "Q 42.234375 14.109375 42.234375 20.359375 \r\n", "Q 42.234375 26.703125 38.015625 30.859375 \r\n", "Q 33.796875 35.015625 27.4375 35.015625 \r\n", "Q 21.234375 35.015625 17.15625 30.90625 \r\n", "Q 13.09375 26.8125 13.09375 20.65625 \r\n", "z\r\n", "\" id=\"ArialMT-56\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-56\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"xtick_9\">\r\n", " <g id=\"line2d_9\">\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"279.933625\" xlink:href=\"#m5ec6e0a29b\" y=\"237.6285\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_9\">\r\n", " <!-- 90 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(275.04 251.427375)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 5.46875 16.546875 \r\n", "L 13.921875 17.328125 \r\n", "Q 14.984375 11.375 18.015625 8.6875 \r\n", "Q 21.046875 6 25.78125 6 \r\n", "Q 29.828125 6 32.875 7.859375 \r\n", "Q 35.9375 9.71875 37.890625 12.8125 \r\n", "Q 39.84375 15.921875 41.15625 21.1875 \r\n", "Q 42.484375 26.46875 42.484375 31.9375 \r\n", "Q 42.484375 32.515625 42.4375 33.6875 \r\n", "Q 39.796875 29.5 35.234375 26.875 \r\n", "Q 30.671875 24.265625 25.34375 24.265625 \r\n", "Q 16.453125 24.265625 10.296875 30.703125 \r\n", "Q 4.15625 37.15625 4.15625 47.703125 \r\n", "Q 4.15625 58.59375 10.578125 65.234375 \r\n", "Q 17 71.875 26.65625 71.875 \r\n", "Q 33.640625 71.875 39.421875 68.109375 \r\n", "Q 45.21875 64.359375 48.21875 57.390625 \r\n", "Q 51.21875 50.4375 51.21875 37.25 \r\n", "Q 51.21875 23.53125 48.234375 15.40625 \r\n", "Q 45.265625 7.28125 39.375 3.03125 \r\n", "Q 33.5 -1.21875 25.59375 -1.21875 \r\n", "Q 17.1875 -1.21875 11.859375 3.4375 \r\n", "Q 6.546875 8.109375 5.46875 16.546875 \r\n", "z\r\n", "M 41.453125 48.140625 \r\n", "Q 41.453125 55.71875 37.421875 60.15625 \r\n", "Q 33.40625 64.59375 27.734375 64.59375 \r\n", "Q 21.875 64.59375 17.53125 59.8125 \r\n", "Q 13.1875 55.03125 13.1875 47.40625 \r\n", "Q 13.1875 40.578125 17.3125 36.296875 \r\n", "Q 21.4375 32.03125 27.484375 32.03125 \r\n", "Q 33.59375 32.03125 37.515625 36.296875 \r\n", "Q 41.453125 40.578125 41.453125 48.140625 \r\n", "z\r\n", "\" id=\"ArialMT-57\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-57\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"xtick_10\">\r\n", " <g id=\"line2d_10\">\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"313.413625\" xlink:href=\"#m5ec6e0a29b\" y=\"237.6285\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_10\">\r\n", " <!-- 100 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(306.073188 251.427375)scale(0.088 -0.088)\">\r\n", " <use xlink:href=\"#ArialMT-49\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " <use x=\"111.230469\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_11\">\r\n", " <!-- Age -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(170.953375 264.047875)scale(0.096 -0.096)\">\r\n", " <defs>\r\n", " <path d=\"M -0.140625 0 \r\n", "L 27.34375 71.578125 \r\n", "L 37.546875 71.578125 \r\n", "L 66.84375 0 \r\n", "L 56.0625 0 \r\n", "L 47.703125 21.6875 \r\n", "L 17.78125 21.6875 \r\n", "L 9.90625 0 \r\n", "z\r\n", "M 20.515625 29.390625 \r\n", "L 44.78125 29.390625 \r\n", "L 37.3125 49.21875 \r\n", "Q 33.890625 58.25 32.234375 64.0625 \r\n", "Q 30.859375 57.171875 28.375 50.390625 \r\n", "z\r\n", "\" id=\"ArialMT-65\"/>\r\n", " <path d=\"M 4.984375 -4.296875 \r\n", "L 13.53125 -5.5625 \r\n", "Q 14.0625 -9.515625 16.5 -11.328125 \r\n", "Q 19.78125 -13.765625 25.4375 -13.765625 \r\n", "Q 31.546875 -13.765625 34.859375 -11.328125 \r\n", "Q 38.1875 -8.890625 39.359375 -4.5 \r\n", "Q 40.046875 -1.8125 39.984375 6.78125 \r\n", "Q 34.234375 0 25.640625 0 \r\n", "Q 14.9375 0 9.078125 7.71875 \r\n", "Q 3.21875 15.4375 3.21875 26.21875 \r\n", "Q 3.21875 33.640625 5.90625 39.90625 \r\n", "Q 8.59375 46.1875 13.6875 49.609375 \r\n", "Q 18.796875 53.03125 25.6875 53.03125 \r\n", "Q 34.859375 53.03125 40.828125 45.609375 \r\n", "L 40.828125 51.859375 \r\n", "L 48.921875 51.859375 \r\n", "L 48.921875 7.03125 \r\n", "Q 48.921875 -5.078125 46.453125 -10.125 \r\n", "Q 44 -15.1875 38.640625 -18.109375 \r\n", "Q 33.296875 -21.046875 25.484375 -21.046875 \r\n", "Q 16.21875 -21.046875 10.5 -16.875 \r\n", "Q 4.78125 -12.703125 4.984375 -4.296875 \r\n", "z\r\n", "M 12.25 26.859375 \r\n", "Q 12.25 16.65625 16.296875 11.96875 \r\n", "Q 20.359375 7.28125 26.46875 7.28125 \r\n", "Q 32.515625 7.28125 36.609375 11.9375 \r\n", "Q 40.71875 16.609375 40.71875 26.5625 \r\n", "Q 40.71875 36.078125 36.5 40.90625 \r\n", "Q 32.28125 45.75 26.3125 45.75 \r\n", "Q 20.453125 45.75 16.34375 40.984375 \r\n", "Q 12.25 36.234375 12.25 26.859375 \r\n", "z\r\n", "\" id=\"ArialMT-103\"/>\r\n", " <path d=\"M 42.09375 16.703125 \r\n", "L 51.171875 15.578125 \r\n", "Q 49.03125 7.625 43.21875 3.21875 \r\n", "Q 37.40625 -1.171875 28.375 -1.171875 \r\n", "Q 17 -1.171875 10.328125 5.828125 \r\n", "Q 3.65625 12.84375 3.65625 25.484375 \r\n", "Q 3.65625 38.578125 10.390625 45.796875 \r\n", "Q 17.140625 53.03125 27.875 53.03125 \r\n", "Q 38.28125 53.03125 44.875 45.953125 \r\n", "Q 51.46875 38.875 51.46875 26.03125 \r\n", "Q 51.46875 25.25 51.421875 23.6875 \r\n", "L 12.75 23.6875 \r\n", "Q 13.234375 15.140625 17.578125 10.59375 \r\n", "Q 21.921875 6.0625 28.421875 6.0625 \r\n", "Q 33.25 6.0625 36.671875 8.59375 \r\n", "Q 40.09375 11.140625 42.09375 16.703125 \r\n", "z\r\n", "M 13.234375 30.90625 \r\n", "L 42.1875 30.90625 \r\n", "Q 41.609375 37.453125 38.875 40.71875 \r\n", "Q 34.671875 45.796875 27.984375 45.796875 \r\n", "Q 21.921875 45.796875 17.796875 41.75 \r\n", "Q 13.671875 37.703125 13.234375 30.90625 \r\n", "z\r\n", "\" id=\"ArialMT-101\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-65\"/>\r\n", " <use x=\"66.699219\" xlink:href=\"#ArialMT-103\"/>\r\n", " <use x=\"122.314453\" xlink:href=\"#ArialMT-101\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"line2d_11\">\r\n", " <path clip-path=\"url(#p965e17f747)\" d=\"M -1 237.565472 \r\n", "L 0.191582 237.568741 \r\n", "L 4.21409 237.568701 \r\n", "L 8.236598 237.545503 \r\n", "L 12.259106 237.479408 \r\n", "L 16.281613 237.330524 \r\n", "L 20.304121 237.020544 \r\n", "L 24.326629 236.417433 \r\n", "L 28.349137 235.33357 \r\n", "L 32.371645 233.533513 \r\n", "L 36.394153 230.724272 \r\n", "L 40.41666 226.506614 \r\n", "L 44.439168 220.32595 \r\n", "L 48.461676 211.523297 \r\n", "L 52.484184 199.54962 \r\n", "L 56.506692 184.263188 \r\n", "L 60.529199 166.119276 \r\n", "L 64.551707 146.114751 \r\n", "L 68.574215 125.522196 \r\n", "L 72.596723 105.573579 \r\n", "L 76.619231 87.231411 \r\n", "L 80.641738 71.08202 \r\n", "L 84.664246 57.349585 \r\n", "L 88.686754 46.074434 \r\n", "L 92.709262 37.440261 \r\n", "L 96.73177 32.009232 \r\n", "L 100.754277 30.542786 \r\n", "L 104.776785 33.422056 \r\n", "L 108.799293 40.125608 \r\n", "L 112.821801 49.230126 \r\n", "L 116.844309 58.983046 \r\n", "L 120.866816 68.122971 \r\n", "L 124.889324 76.488873 \r\n", "L 128.911832 84.982916 \r\n", "L 132.93434 94.769791 \r\n", "L 136.956848 106.246227 \r\n", "L 140.979355 118.672957 \r\n", "L 145.001863 130.813324 \r\n", "L 149.024371 141.9371 \r\n", "L 153.046879 152.220918 \r\n", "L 157.069387 162.236145 \r\n", "L 161.091895 172.111308 \r\n", "L 165.114402 181.198736 \r\n", "L 169.13691 188.514139 \r\n", "L 173.159418 193.492349 \r\n", "L 177.181926 196.414923 \r\n", "L 181.204434 198.251604 \r\n", "L 185.226941 200.116618 \r\n", "L 189.249449 202.723536 \r\n", "L 193.271957 206.15223 \r\n", "L 197.294465 210.017627 \r\n", "L 201.316973 213.848055 \r\n", "L 205.33948 217.353421 \r\n", "L 209.361988 220.431987 \r\n", "L 213.384496 223.031693 \r\n", "L 217.407004 225.038716 \r\n", "L 221.429512 226.230161 \r\n", "L 225.452019 226.266633 \r\n", "L 229.474527 224.770411 \r\n", "L 233.497035 221.523639 \r\n", "L 237.519543 216.662541 \r\n", "L 241.542051 210.67718 \r\n", "L 245.564558 204.205486 \r\n", "L 249.587066 197.80654 \r\n", "L 253.609574 191.838566 \r\n", "L 257.632082 186.398425 \r\n", "L 261.65459 181.323198 \r\n", "L 265.677097 176.395958 \r\n", "L 269.699605 171.74377 \r\n", "L 273.722113 168.066664 \r\n", "L 277.744621 166.361698 \r\n", "L 281.767129 167.315321 \r\n", "L 285.789637 170.911515 \r\n", "L 289.812144 176.573831 \r\n", "L 293.834652 183.623475 \r\n", "L 297.85716 191.59181 \r\n", "L 301.879668 200.161543 \r\n", "L 305.902176 208.909841 \r\n", "L 309.924683 217.184989 \r\n", "L 313.947191 224.265914 \r\n", "L 317.969699 229.662805 \r\n", "L 321.992207 233.303284 \r\n", "L 326.014715 235.480245 \r\n", "L 330.037222 236.644667 \r\n", "L 334.05973 237.209953 \r\n", "L 338.082238 237.462869 \r\n", "L 342.104746 237.568007 \r\n", "L 346.127254 237.608416 \r\n", "L 350.149761 237.622543 \r\n", "\" style=\"fill:none;stroke:#e0675a;stroke-linecap:round;stroke-width:1.2;\"/>\r\n", " </g>\r\n", " <g id=\"line2d_12\">\r\n", " <path clip-path=\"url(#p965e17f747)\" d=\"M -1 237.600009 \r\n", "L 0.493728 237.601045 \r\n", "L 4.086812 237.593321 \r\n", "L 7.679895 237.554704 \r\n", "L 11.272979 237.475842 \r\n", "L 14.866063 237.36159 \r\n", "L 18.459147 237.162477 \r\n", "L 22.052231 236.640664 \r\n", "L 25.645315 235.686071 \r\n", "L 29.238399 234.879851 \r\n", "L 32.831483 234.554903 \r\n", "L 36.424567 233.80774 \r\n", "L 40.01765 231.47216 \r\n", "L 43.610734 226.733796 \r\n", "L 47.203818 218.984153 \r\n", "L 50.796902 207.854552 \r\n", "L 54.389986 193.95529 \r\n", "L 57.98307 178.301223 \r\n", "L 61.576154 160.404341 \r\n", "L 65.169238 139.4831 \r\n", "L 68.762321 116.165834 \r\n", "L 72.355405 92.261051 \r\n", "L 75.948489 70.583755 \r\n", "L 79.541573 54.73744 \r\n", "L 83.134657 44.769832 \r\n", "L 86.727741 38.405475 \r\n", "L 90.320825 37.392615 \r\n", "L 93.913909 40.243089 \r\n", "L 97.506993 42.537054 \r\n", "L 101.100076 45.013949 \r\n", "L 104.69316 48.462021 \r\n", "L 108.286244 50.413178 \r\n", "L 111.879328 51.579129 \r\n", "L 115.472412 55.239196 \r\n", "L 119.065496 60.027351 \r\n", "L 122.65858 63.823124 \r\n", "L 126.251664 66.706925 \r\n", "L 129.844748 68.448611 \r\n", "L 133.437831 71.111095 \r\n", "L 137.030915 76.990982 \r\n", "L 140.623999 85.894644 \r\n", "L 144.217083 98.367914 \r\n", "L 147.810167 112.447624 \r\n", "L 151.403251 121.154159 \r\n", "L 154.996335 124.267769 \r\n", "L 158.589419 127.923997 \r\n", "L 162.182502 132.809059 \r\n", "L 165.775586 136.192766 \r\n", "L 169.36867 139.465721 \r\n", "L 172.961754 145.949622 \r\n", "L 176.554838 154.597688 \r\n", "L 180.147922 162.496226 \r\n", "L 183.741006 167.875607 \r\n", "L 187.33409 169.738652 \r\n", "L 190.927174 169.305488 \r\n", "L 194.520257 168.964041 \r\n", "L 198.113341 171.330379 \r\n", "L 201.706425 175.643223 \r\n", "L 205.299509 180.886153 \r\n", "L 208.892593 189.696471 \r\n", "L 212.485677 200.725101 \r\n", "L 216.078761 208.774097 \r\n", "L 219.671845 211.993651 \r\n", "L 223.264929 211.694882 \r\n", "L 226.858012 210.589517 \r\n", "L 230.451096 211.278614 \r\n", "L 234.04418 213.55192 \r\n", "L 237.637264 216.302189 \r\n", "L 241.230348 219.489432 \r\n", "L 244.823432 222.669021 \r\n", "L 248.416516 225.515373 \r\n", "L 252.0096 227.751353 \r\n", "L 255.602683 228.949819 \r\n", "L 259.195767 230.091356 \r\n", "L 262.788851 231.496308 \r\n", "L 266.381935 232.110704 \r\n", "L 269.975019 232.416979 \r\n", "L 273.568103 233.429164 \r\n", "L 277.161187 234.642178 \r\n", "L 280.754271 235.484193 \r\n", "L 284.347355 236.196424 \r\n", "L 287.940438 236.920049 \r\n", "L 291.533522 237.398662 \r\n", "L 295.126606 237.572502 \r\n", "L 298.71969 237.604056 \r\n", "L 302.312774 237.569184 \r\n", "L 305.905858 237.473507 \r\n", "L 309.498942 237.397713 \r\n", "L 313.092026 237.441209 \r\n", "L 316.68511 237.54587 \r\n", "L 320.278193 237.608684 \r\n", "L 323.871277 237.625917 \r\n", "\" style=\"fill:none;stroke:#5ca0af;stroke-linecap:round;stroke-width:1.2;\"/>\r\n", " </g>\r\n", " <g id=\"line2d_13\">\r\n", " <path clip-path=\"url(#p965e17f747)\" d=\"M 89.097625 237.6285 \r\n", "L 89.097625 24.5373 \r\n", "\" style=\"fill:none;stroke:#211c47;stroke-dasharray:1.2,1.98;stroke-dashoffset:0;stroke-width:1.2;\"/>\r\n", " <defs>\r\n", " <path d=\"M -2.4 2.4 \r\n", "L 2.4 -2.4 \r\n", "M -2.4 -2.4 \r\n", "L 2.4 2.4 \r\n", "\" id=\"md06ee9ae7e\" style=\"stroke:#211c47;\"/>\r\n", " </defs>\r\n", " <g clip-path=\"url(#p965e17f747)\">\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"89.097625\" xlink:href=\"#md06ee9ae7e\" y=\"237.6285\"/>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"89.097625\" xlink:href=\"#md06ee9ae7e\" y=\"24.5373\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"patch_3\">\r\n", " <path d=\"M 12.093625 237.6285 \r\n", "L 346.893625 237.6285 \r\n", "\" style=\"fill:none;stroke:#211c47;stroke-linecap:square;stroke-linejoin:miter;\"/>\r\n", " </g>\r\n", " <g id=\"text_12\">\r\n", " <!-- 33 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(72.357625 27.922021)scale(0.096 -0.096)\">\r\n", " <use xlink:href=\"#ArialMT-51\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-51\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_13\">\r\n", " <!-- Amount of Artworks by Age: gender -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(196.416625 14.1885)scale(0.096 -0.096)\">\r\n", " <defs>\r\n", " <path d=\"M 6.59375 0 \r\n", "L 6.59375 51.859375 \r\n", "L 14.453125 51.859375 \r\n", "L 14.453125 44.578125 \r\n", "Q 16.890625 48.390625 20.9375 50.703125 \r\n", "Q 25 53.03125 30.171875 53.03125 \r\n", "Q 35.9375 53.03125 39.625 50.640625 \r\n", "Q 43.3125 48.25 44.828125 43.953125 \r\n", "Q 50.984375 53.03125 60.84375 53.03125 \r\n", "Q 68.5625 53.03125 72.703125 48.75 \r\n", "Q 76.859375 44.484375 76.859375 35.59375 \r\n", "L 76.859375 0 \r\n", "L 68.109375 0 \r\n", "L 68.109375 32.671875 \r\n", "Q 68.109375 37.9375 67.25 40.25 \r\n", "Q 66.40625 42.578125 64.15625 43.984375 \r\n", "Q 61.921875 45.40625 58.890625 45.40625 \r\n", "Q 53.421875 45.40625 49.796875 41.765625 \r\n", "Q 46.1875 38.140625 46.1875 30.125 \r\n", "L 46.1875 0 \r\n", "L 37.40625 0 \r\n", "L 37.40625 33.6875 \r\n", "Q 37.40625 39.546875 35.25 42.46875 \r\n", "Q 33.109375 45.40625 28.21875 45.40625 \r\n", "Q 24.515625 45.40625 21.359375 43.453125 \r\n", "Q 18.21875 41.5 16.796875 37.734375 \r\n", "Q 15.375 33.984375 15.375 26.90625 \r\n", "L 15.375 0 \r\n", "z\r\n", "\" id=\"ArialMT-109\"/>\r\n", " <path d=\"M 3.328125 25.921875 \r\n", "Q 3.328125 40.328125 11.328125 47.265625 \r\n", "Q 18.015625 53.03125 27.640625 53.03125 \r\n", "Q 38.328125 53.03125 45.109375 46.015625 \r\n", "Q 51.90625 39.015625 51.90625 26.65625 \r\n", "Q 51.90625 16.65625 48.90625 10.90625 \r\n", "Q 45.90625 5.171875 40.15625 2 \r\n", "Q 34.421875 -1.171875 27.640625 -1.171875 \r\n", "Q 16.75 -1.171875 10.03125 5.8125 \r\n", "Q 3.328125 12.796875 3.328125 25.921875 \r\n", "z\r\n", "M 12.359375 25.921875 \r\n", "Q 12.359375 15.96875 16.703125 11.015625 \r\n", "Q 21.046875 6.0625 27.640625 6.0625 \r\n", "Q 34.1875 6.0625 38.53125 11.03125 \r\n", "Q 42.875 16.015625 42.875 26.21875 \r\n", "Q 42.875 35.84375 38.5 40.796875 \r\n", "Q 34.125 45.75 27.640625 45.75 \r\n", "Q 21.046875 45.75 16.703125 40.8125 \r\n", "Q 12.359375 35.890625 12.359375 25.921875 \r\n", "z\r\n", "\" id=\"ArialMT-111\"/>\r\n", " <path d=\"M 40.578125 0 \r\n", "L 40.578125 7.625 \r\n", "Q 34.515625 -1.171875 24.125 -1.171875 \r\n", "Q 19.53125 -1.171875 15.546875 0.578125 \r\n", "Q 11.578125 2.34375 9.640625 5 \r\n", "Q 7.71875 7.671875 6.9375 11.53125 \r\n", "Q 6.390625 14.109375 6.390625 19.734375 \r\n", "L 6.390625 51.859375 \r\n", "L 15.1875 51.859375 \r\n", "L 15.1875 23.09375 \r\n", "Q 15.1875 16.21875 15.71875 13.8125 \r\n", "Q 16.546875 10.359375 19.234375 8.375 \r\n", "Q 21.921875 6.390625 25.875 6.390625 \r\n", "Q 29.828125 6.390625 33.296875 8.421875 \r\n", "Q 36.765625 10.453125 38.203125 13.9375 \r\n", "Q 39.65625 17.4375 39.65625 24.078125 \r\n", "L 39.65625 51.859375 \r\n", "L 48.4375 51.859375 \r\n", "L 48.4375 0 \r\n", "z\r\n", "\" id=\"ArialMT-117\"/>\r\n", " <path d=\"M 6.59375 0 \r\n", "L 6.59375 51.859375 \r\n", "L 14.5 51.859375 \r\n", "L 14.5 44.484375 \r\n", "Q 20.21875 53.03125 31 53.03125 \r\n", "Q 35.6875 53.03125 39.625 51.34375 \r\n", "Q 43.5625 49.65625 45.515625 46.921875 \r\n", "Q 47.46875 44.1875 48.25 40.4375 \r\n", "Q 48.734375 37.984375 48.734375 31.890625 \r\n", "L 48.734375 0 \r\n", "L 39.9375 0 \r\n", "L 39.9375 31.546875 \r\n", "Q 39.9375 36.921875 38.90625 39.578125 \r\n", "Q 37.890625 42.234375 35.28125 43.8125 \r\n", "Q 32.671875 45.40625 29.15625 45.40625 \r\n", "Q 23.53125 45.40625 19.453125 41.84375 \r\n", "Q 15.375 38.28125 15.375 28.328125 \r\n", "L 15.375 0 \r\n", "z\r\n", "\" id=\"ArialMT-110\"/>\r\n", " <path d=\"M 25.78125 7.859375 \r\n", "L 27.046875 0.09375 \r\n", "Q 23.34375 -0.6875 20.40625 -0.6875 \r\n", "Q 15.625 -0.6875 12.984375 0.828125 \r\n", "Q 10.359375 2.34375 9.28125 4.8125 \r\n", "Q 8.203125 7.28125 8.203125 15.1875 \r\n", "L 8.203125 45.015625 \r\n", "L 1.765625 45.015625 \r\n", "L 1.765625 51.859375 \r\n", "L 8.203125 51.859375 \r\n", "L 8.203125 64.703125 \r\n", "L 16.9375 69.96875 \r\n", "L 16.9375 51.859375 \r\n", "L 25.78125 51.859375 \r\n", "L 25.78125 45.015625 \r\n", "L 16.9375 45.015625 \r\n", "L 16.9375 14.703125 \r\n", "Q 16.9375 10.9375 17.40625 9.859375 \r\n", "Q 17.875 8.796875 18.921875 8.15625 \r\n", "Q 19.96875 7.515625 21.921875 7.515625 \r\n", "Q 23.390625 7.515625 25.78125 7.859375 \r\n", "z\r\n", "\" id=\"ArialMT-116\"/>\r\n", " <path id=\"ArialMT-32\"/>\r\n", " <path d=\"M 8.6875 0 \r\n", "L 8.6875 45.015625 \r\n", "L 0.921875 45.015625 \r\n", "L 0.921875 51.859375 \r\n", "L 8.6875 51.859375 \r\n", "L 8.6875 57.375 \r\n", "Q 8.6875 62.59375 9.625 65.140625 \r\n", "Q 10.890625 68.5625 14.078125 70.671875 \r\n", "Q 17.28125 72.796875 23.046875 72.796875 \r\n", "Q 26.765625 72.796875 31.25 71.921875 \r\n", "L 29.9375 64.265625 \r\n", "Q 27.203125 64.75 24.75 64.75 \r\n", "Q 20.75 64.75 19.09375 63.03125 \r\n", "Q 17.4375 61.328125 17.4375 56.640625 \r\n", "L 17.4375 51.859375 \r\n", "L 27.546875 51.859375 \r\n", "L 27.546875 45.015625 \r\n", "L 17.4375 45.015625 \r\n", "L 17.4375 0 \r\n", "z\r\n", "\" id=\"ArialMT-102\"/>\r\n", " <path d=\"M 6.5 0 \r\n", "L 6.5 51.859375 \r\n", "L 14.40625 51.859375 \r\n", "L 14.40625 44 \r\n", "Q 17.4375 49.515625 20 51.265625 \r\n", "Q 22.5625 53.03125 25.640625 53.03125 \r\n", "Q 30.078125 53.03125 34.671875 50.203125 \r\n", "L 31.640625 42.046875 \r\n", "Q 28.421875 43.953125 25.203125 43.953125 \r\n", "Q 22.3125 43.953125 20.015625 42.21875 \r\n", "Q 17.71875 40.484375 16.75 37.40625 \r\n", "Q 15.28125 32.71875 15.28125 27.15625 \r\n", "L 15.28125 0 \r\n", "z\r\n", "\" id=\"ArialMT-114\"/>\r\n", " <path d=\"M 16.15625 0 \r\n", "L 0.296875 51.859375 \r\n", "L 9.375 51.859375 \r\n", "L 17.625 21.921875 \r\n", "L 20.703125 10.796875 \r\n", "Q 20.90625 11.625 23.390625 21.484375 \r\n", "L 31.640625 51.859375 \r\n", "L 40.671875 51.859375 \r\n", "L 48.4375 21.78125 \r\n", "L 51.03125 11.859375 \r\n", "L 54 21.875 \r\n", "L 62.890625 51.859375 \r\n", "L 71.4375 51.859375 \r\n", "L 55.21875 0 \r\n", "L 46.09375 0 \r\n", "L 37.84375 31.0625 \r\n", "L 35.84375 39.890625 \r\n", "L 25.34375 0 \r\n", "z\r\n", "\" id=\"ArialMT-119\"/>\r\n", " <path d=\"M 6.640625 0 \r\n", "L 6.640625 71.578125 \r\n", "L 15.4375 71.578125 \r\n", "L 15.4375 30.765625 \r\n", "L 36.234375 51.859375 \r\n", "L 47.609375 51.859375 \r\n", "L 27.78125 32.625 \r\n", "L 49.609375 0 \r\n", "L 38.765625 0 \r\n", "L 21.625 26.515625 \r\n", "L 15.4375 20.5625 \r\n", "L 15.4375 0 \r\n", "z\r\n", "\" id=\"ArialMT-107\"/>\r\n", " <path d=\"M 3.078125 15.484375 \r\n", "L 11.765625 16.84375 \r\n", "Q 12.5 11.625 15.84375 8.84375 \r\n", "Q 19.1875 6.0625 25.203125 6.0625 \r\n", "Q 31.25 6.0625 34.171875 8.515625 \r\n", "Q 37.109375 10.984375 37.109375 14.3125 \r\n", "Q 37.109375 17.28125 34.515625 19 \r\n", "Q 32.71875 20.171875 25.53125 21.96875 \r\n", "Q 15.875 24.421875 12.140625 26.203125 \r\n", "Q 8.40625 27.984375 6.46875 31.125 \r\n", "Q 4.546875 34.28125 4.546875 38.09375 \r\n", "Q 4.546875 41.546875 6.125 44.5 \r\n", "Q 7.71875 47.46875 10.453125 49.421875 \r\n", "Q 12.5 50.921875 16.03125 51.96875 \r\n", "Q 19.578125 53.03125 23.640625 53.03125 \r\n", "Q 29.734375 53.03125 34.34375 51.265625 \r\n", "Q 38.96875 49.515625 41.15625 46.5 \r\n", "Q 43.359375 43.5 44.1875 38.484375 \r\n", "L 35.59375 37.3125 \r\n", "Q 35.015625 41.3125 32.203125 43.546875 \r\n", "Q 29.390625 45.796875 24.265625 45.796875 \r\n", "Q 18.21875 45.796875 15.625 43.796875 \r\n", "Q 13.03125 41.796875 13.03125 39.109375 \r\n", "Q 13.03125 37.40625 14.109375 36.03125 \r\n", "Q 15.1875 34.625 17.484375 33.6875 \r\n", "Q 18.796875 33.203125 25.25 31.453125 \r\n", "Q 34.578125 28.953125 38.25 27.359375 \r\n", "Q 41.9375 25.78125 44.03125 22.75 \r\n", "Q 46.140625 19.734375 46.140625 15.234375 \r\n", "Q 46.140625 10.84375 43.578125 6.953125 \r\n", "Q 41.015625 3.078125 36.171875 0.953125 \r\n", "Q 31.34375 -1.171875 25.25 -1.171875 \r\n", "Q 15.140625 -1.171875 9.84375 3.03125 \r\n", "Q 4.546875 7.234375 3.078125 15.484375 \r\n", "z\r\n", "\" id=\"ArialMT-115\"/>\r\n", " <path d=\"M 14.703125 0 \r\n", "L 6.546875 0 \r\n", "L 6.546875 71.578125 \r\n", "L 15.328125 71.578125 \r\n", "L 15.328125 46.046875 \r\n", "Q 20.90625 53.03125 29.546875 53.03125 \r\n", "Q 34.328125 53.03125 38.59375 51.09375 \r\n", "Q 42.875 49.171875 45.625 45.671875 \r\n", "Q 48.390625 42.1875 49.953125 37.25 \r\n", "Q 51.515625 32.328125 51.515625 26.703125 \r\n", "Q 51.515625 13.375 44.921875 6.09375 \r\n", "Q 38.328125 -1.171875 29.109375 -1.171875 \r\n", "Q 19.921875 -1.171875 14.703125 6.5 \r\n", "z\r\n", "M 14.59375 26.3125 \r\n", "Q 14.59375 17 17.140625 12.84375 \r\n", "Q 21.296875 6.0625 28.375 6.0625 \r\n", "Q 34.125 6.0625 38.328125 11.0625 \r\n", "Q 42.53125 16.0625 42.53125 25.984375 \r\n", "Q 42.53125 36.140625 38.5 40.96875 \r\n", "Q 34.46875 45.796875 28.765625 45.796875 \r\n", "Q 23 45.796875 18.796875 40.796875 \r\n", "Q 14.59375 35.796875 14.59375 26.3125 \r\n", "z\r\n", "\" id=\"ArialMT-98\"/>\r\n", " <path d=\"M 6.203125 -19.96875 \r\n", "L 5.21875 -11.71875 \r\n", "Q 8.109375 -12.5 10.25 -12.5 \r\n", "Q 13.1875 -12.5 14.9375 -11.515625 \r\n", "Q 16.703125 -10.546875 17.828125 -8.796875 \r\n", "Q 18.65625 -7.46875 20.515625 -2.25 \r\n", "Q 20.75 -1.515625 21.296875 -0.09375 \r\n", "L 1.609375 51.859375 \r\n", "L 11.078125 51.859375 \r\n", "L 21.875 21.828125 \r\n", "Q 23.96875 16.109375 25.640625 9.8125 \r\n", "Q 27.15625 15.875 29.25 21.625 \r\n", "L 40.328125 51.859375 \r\n", "L 49.125 51.859375 \r\n", "L 29.390625 -0.875 \r\n", "Q 26.21875 -9.421875 24.46875 -12.640625 \r\n", "Q 22.125 -17 19.09375 -19.015625 \r\n", "Q 16.0625 -21.046875 11.859375 -21.046875 \r\n", "Q 9.328125 -21.046875 6.203125 -19.96875 \r\n", "z\r\n", "\" id=\"ArialMT-121\"/>\r\n", " <path d=\"M 9.03125 41.84375 \r\n", "L 9.03125 51.859375 \r\n", "L 19.046875 51.859375 \r\n", "L 19.046875 41.84375 \r\n", "z\r\n", "M 9.03125 0 \r\n", "L 9.03125 10.015625 \r\n", "L 19.046875 10.015625 \r\n", "L 19.046875 0 \r\n", "z\r\n", "\" id=\"ArialMT-58\"/>\r\n", " <path d=\"M 40.234375 0 \r\n", "L 40.234375 6.546875 \r\n", "Q 35.296875 -1.171875 25.734375 -1.171875 \r\n", "Q 19.53125 -1.171875 14.328125 2.25 \r\n", "Q 9.125 5.671875 6.265625 11.796875 \r\n", "Q 3.421875 17.921875 3.421875 25.875 \r\n", "Q 3.421875 33.640625 6 39.96875 \r\n", "Q 8.59375 46.296875 13.765625 49.65625 \r\n", "Q 18.953125 53.03125 25.34375 53.03125 \r\n", "Q 30.03125 53.03125 33.6875 51.046875 \r\n", "Q 37.359375 49.078125 39.65625 45.90625 \r\n", "L 39.65625 71.578125 \r\n", "L 48.390625 71.578125 \r\n", "L 48.390625 0 \r\n", "z\r\n", "M 12.453125 25.875 \r\n", "Q 12.453125 15.921875 16.640625 10.984375 \r\n", "Q 20.84375 6.0625 26.5625 6.0625 \r\n", "Q 32.328125 6.0625 36.34375 10.765625 \r\n", "Q 40.375 15.484375 40.375 25.140625 \r\n", "Q 40.375 35.796875 36.265625 40.765625 \r\n", "Q 32.171875 45.75 26.171875 45.75 \r\n", "Q 20.3125 45.75 16.375 40.96875 \r\n", "Q 12.453125 36.1875 12.453125 25.875 \r\n", "z\r\n", "\" id=\"ArialMT-100\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-65\"/>\r\n", " <use x=\"66.699219\" xlink:href=\"#ArialMT-109\"/>\r\n", " <use x=\"150\" xlink:href=\"#ArialMT-111\"/>\r\n", " <use x=\"205.615234\" xlink:href=\"#ArialMT-117\"/>\r\n", " <use x=\"261.230469\" xlink:href=\"#ArialMT-110\"/>\r\n", " <use x=\"316.845703\" xlink:href=\"#ArialMT-116\"/>\r\n", " <use x=\"344.628906\" xlink:href=\"#ArialMT-32\"/>\r\n", " <use x=\"372.412109\" xlink:href=\"#ArialMT-111\"/>\r\n", " <use x=\"428.027344\" xlink:href=\"#ArialMT-102\"/>\r\n", " <use x=\"455.810547\" xlink:href=\"#ArialMT-32\"/>\r\n", " <use x=\"478.09375\" xlink:href=\"#ArialMT-65\"/>\r\n", " <use x=\"544.792969\" xlink:href=\"#ArialMT-114\"/>\r\n", " <use x=\"578.09375\" xlink:href=\"#ArialMT-116\"/>\r\n", " <use x=\"605.876953\" xlink:href=\"#ArialMT-119\"/>\r\n", " <use x=\"678.09375\" xlink:href=\"#ArialMT-111\"/>\r\n", " <use x=\"733.708984\" xlink:href=\"#ArialMT-114\"/>\r\n", " <use x=\"767.009766\" xlink:href=\"#ArialMT-107\"/>\r\n", " <use x=\"817.009766\" xlink:href=\"#ArialMT-115\"/>\r\n", " <use x=\"867.009766\" xlink:href=\"#ArialMT-32\"/>\r\n", " <use x=\"894.792969\" xlink:href=\"#ArialMT-98\"/>\r\n", " <use x=\"950.408203\" xlink:href=\"#ArialMT-121\"/>\r\n", " <use x=\"1000.408203\" xlink:href=\"#ArialMT-32\"/>\r\n", " <use x=\"1022.691406\" xlink:href=\"#ArialMT-65\"/>\r\n", " <use x=\"1089.390625\" xlink:href=\"#ArialMT-103\"/>\r\n", " <use x=\"1145.005859\" xlink:href=\"#ArialMT-101\"/>\r\n", " <use x=\"1200.621094\" xlink:href=\"#ArialMT-58\"/>\r\n", " <use x=\"1228.404297\" xlink:href=\"#ArialMT-32\"/>\r\n", " <use x=\"1256.1875\" xlink:href=\"#ArialMT-103\"/>\r\n", " <use x=\"1311.802734\" xlink:href=\"#ArialMT-101\"/>\r\n", " <use x=\"1367.417969\" xlink:href=\"#ArialMT-110\"/>\r\n", " <use x=\"1423.033203\" xlink:href=\"#ArialMT-100\"/>\r\n", " <use x=\"1478.648438\" xlink:href=\"#ArialMT-101\"/>\r\n", " <use x=\"1534.263672\" xlink:href=\"#ArialMT-114\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"legend_1\">\r\n", " <g id=\"patch_4\">\r\n", " <path d=\"M 286.162625 52.12425 \r\n", "L 340.733625 52.12425 \r\n", "Q 342.493625 52.12425 342.493625 50.36425 \r\n", "L 342.493625 26.3485 \r\n", "Q 342.493625 24.5885 340.733625 24.5885 \r\n", "L 286.162625 24.5885 \r\n", "Q 284.402625 24.5885 284.402625 26.3485 \r\n", "L 284.402625 50.36425 \r\n", "Q 284.402625 52.12425 286.162625 52.12425 \r\n", "z\r\n", "\" style=\"fill:#ffffff;opacity:0.8;stroke:#cccccc;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"line2d_14\">\r\n", " <path d=\"M 287.922625 31.327375 \r\n", "L 305.522625 31.327375 \r\n", "\" style=\"fill:none;stroke:#e0675a;stroke-linecap:round;stroke-width:1.2;\"/>\r\n", " </g>\r\n", " <g id=\"line2d_15\"/>\r\n", " <g id=\"text_14\">\r\n", " <!-- female -->\r\n", " <g style=\"fill:#262626;\" transform=\"translate(312.562625 34.407375)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 40.4375 6.390625 \r\n", "Q 35.546875 2.25 31.03125 0.53125 \r\n", "Q 26.515625 -1.171875 21.34375 -1.171875 \r\n", "Q 12.796875 -1.171875 8.203125 3 \r\n", "Q 3.609375 7.171875 3.609375 13.671875 \r\n", "Q 3.609375 17.484375 5.34375 20.625 \r\n", "Q 7.078125 23.78125 9.890625 25.6875 \r\n", "Q 12.703125 27.59375 16.21875 28.5625 \r\n", "Q 18.796875 29.25 24.03125 29.890625 \r\n", "Q 34.671875 31.15625 39.703125 32.90625 \r\n", "Q 39.75 34.71875 39.75 35.203125 \r\n", "Q 39.75 40.578125 37.25 42.78125 \r\n", "Q 33.890625 45.75 27.25 45.75 \r\n", "Q 21.046875 45.75 18.09375 43.578125 \r\n", "Q 15.140625 41.40625 13.71875 35.890625 \r\n", "L 5.125 37.0625 \r\n", "Q 6.296875 42.578125 8.984375 45.96875 \r\n", "Q 11.671875 49.359375 16.75 51.1875 \r\n", "Q 21.828125 53.03125 28.515625 53.03125 \r\n", "Q 35.15625 53.03125 39.296875 51.46875 \r\n", "Q 43.453125 49.90625 45.40625 47.53125 \r\n", "Q 47.359375 45.171875 48.140625 41.546875 \r\n", "Q 48.578125 39.3125 48.578125 33.453125 \r\n", "L 48.578125 21.734375 \r\n", "Q 48.578125 9.46875 49.140625 6.21875 \r\n", "Q 49.703125 2.984375 51.375 0 \r\n", "L 42.1875 0 \r\n", "Q 40.828125 2.734375 40.4375 6.390625 \r\n", "z\r\n", "M 39.703125 26.03125 \r\n", "Q 34.90625 24.078125 25.34375 22.703125 \r\n", "Q 19.921875 21.921875 17.671875 20.9375 \r\n", "Q 15.4375 19.96875 14.203125 18.09375 \r\n", "Q 12.984375 16.21875 12.984375 13.921875 \r\n", "Q 12.984375 10.40625 15.640625 8.0625 \r\n", "Q 18.3125 5.71875 23.4375 5.71875 \r\n", "Q 28.515625 5.71875 32.46875 7.9375 \r\n", "Q 36.421875 10.15625 38.28125 14.015625 \r\n", "Q 39.703125 17 39.703125 22.796875 \r\n", "z\r\n", "\" id=\"ArialMT-97\"/>\r\n", " <path d=\"M 6.390625 0 \r\n", "L 6.390625 71.578125 \r\n", "L 15.1875 71.578125 \r\n", "L 15.1875 0 \r\n", "z\r\n", "\" id=\"ArialMT-108\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-102\"/>\r\n", " <use x=\"27.783203\" xlink:href=\"#ArialMT-101\"/>\r\n", " <use x=\"83.398438\" xlink:href=\"#ArialMT-109\"/>\r\n", " <use x=\"166.699219\" xlink:href=\"#ArialMT-97\"/>\r\n", " <use x=\"222.314453\" xlink:href=\"#ArialMT-108\"/>\r\n", " <use x=\"244.53125\" xlink:href=\"#ArialMT-101\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"line2d_16\">\r\n", " <path d=\"M 287.922625 43.77525 \r\n", "L 305.522625 43.77525 \r\n", "\" style=\"fill:none;stroke:#5ca0af;stroke-linecap:round;stroke-width:1.2;\"/>\r\n", " </g>\r\n", " <g id=\"line2d_17\"/>\r\n", " <g id=\"text_15\">\r\n", " <!-- male -->\r\n", " <g style=\"fill:#262626;\" transform=\"translate(312.562625 46.85525)scale(0.088 -0.088)\">\r\n", " <use xlink:href=\"#ArialMT-109\"/>\r\n", " <use x=\"83.300781\" xlink:href=\"#ArialMT-97\"/>\r\n", " <use x=\"138.916016\" xlink:href=\"#ArialMT-108\"/>\r\n", " <use x=\"161.132812\" xlink:href=\"#ArialMT-101\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <defs>\r\n", " <clipPath id=\"p965e17f747\">\r\n", " <rect height=\"217.44\" width=\"334.8\" x=\"12.093625\" y=\"20.1885\"/>\r\n", " </clipPath>\r\n", " </defs>\r\n", "</svg>\r\n" ], "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Set the figure\n", "sns.set(context='paper', style='ticks', palette=snark_palette,\n", " rc={'xtick.major.size': 4, 'ytick.left':False,\n", " 'axes.spines.left': False, 'axes.spines.bottom': True,\n", " 'axes.spines.right': False, 'axes.spines.top': False\n", " }\n", " )\n", "\n", "# Create the plot\n", "f_ag, ax_ag = plt.subplots()\n", "sns.distplot(moma.loc[moma['gender_clean'] == 'female', 'age'], hist=False, rug=False, label='female', ax=ax_ag)\n", "sns.distplot(moma.loc[moma['gender_clean'] == 'male', 'age'], hist=False, rug=False, label='male', ax=ax_ag)\n", "\n", "ax_ag.axvline(x=33, ymin=0, ymax=0.98, marker='x', linestyle=':', color=snark_palette[-1]) # 33 boundary\n", "\n", "# Set some aesthetic params for the plot\n", "ax_ag.annotate('33', [28, 0.0323], c=snark_palette[-1]) # set label for the 33 boundary\n", "ax_ag.legend() # set legend\n", "ax_ag.set_title('Amount of Artworks by Age: gender', loc='right', c=snark_palette[-1]) # set title of the plot\n", "ax_ag.set_xlabel('Age', c=snark_palette[-1]) # set label of x axis\n", "ax_ag.get_yaxis().set_visible(False) # hide y axis\n", "ax_ag.set_xticks([i for i in range(0, 110, 10)]) # set x ticks labels\n", "ax_ag.set_xlim([10, 110]) # set x axis range\n", "ax_ag.tick_params(axis='x', colors=snark_palette[-1]) # color x ticks\n", "ax_ag.spines['bottom'].set_color(snark_palette[-1]) # color x axis\n", "\n", "# Save and plot\n", "plt.savefig('plot.pic\\plot.age.gender.png', dpi=150)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It looks like thirty is really the most productive age.\n", "\n", "For men, the distribution of the number of works reflects the pattern of 30 years. \n", "However, the plot is ambiguous for women, perhaps because of a small portion of the data.\n", "\n", "Let's deep into the values for women." ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Total by gender:\n", "male 97257\n", "female 16939\n", "Name: gender_clean, dtype: int64\n" ] }, { "data": { "text/plain": [ "46 665\n", "36 648\n", "37 622\n", "41 586\n", "38 567\n", "32 559\n", "35 557\n", "39 521\n", "33 486\n", "31 469\n", "34 467\n", "30 458\n", "45 435\n", "40 415\n", "43 395\n", "42 374\n", "28 373\n", "29 361\n", "49 353\n", "27 336\n", "Name: age, dtype: int64" ] }, "execution_count": 69, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Women\n", "print('Total by gender:', moma['gender_clean'].value_counts(), sep='\\n')\n", "\n", "# 46 peack\n", "moma.loc[(moma['gender_clean'] == 'female'), 'age'].value_counts().head(20)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For women, more artworks are created at the age of 46." ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Lilly Reich 253\n", "Doris Ulmann 91\n", "Ynez Johnston 35\n", "Gay Block 26\n", "Kiki Smith 23\n", "Name: artist, dtype: int64\n" ] }, { "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>title</th>\n", " <th>artist</th>\n", " <th>artist_bio</th>\n", " <th>nationality</th>\n", " <th>begin_date</th>\n", " <th>end_date</th>\n", " <th>gender</th>\n", " <th>date</th>\n", " <th>classification</th>\n", " <th>department</th>\n", " <th>begin_date_clean</th>\n", " <th>end_date_clean</th>\n", " <th>gender_clean</th>\n", " <th>nationality_clean</th>\n", " <th>year_1</th>\n", " <th>year_2</th>\n", " <th>year_2_2</th>\n", " <th>year_2_4</th>\n", " <th>date_clean</th>\n", " <th>age</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>50001</th>\n", " <td>Untitled</td>\n", " <td>Doris Ulmann</td>\n", " <td>(American, 1884–1934)</td>\n", " <td>(American)</td>\n", " <td>(1884)</td>\n", " <td>(1934)</td>\n", " <td>(Female)</td>\n", " <td>1929-31</td>\n", " <td>Photograph</td>\n", " <td>Photography</td>\n", " <td>1884</td>\n", " <td>1934</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>1929</td>\n", " <td>1931</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1930</td>\n", " <td>46</td>\n", " </tr>\n", " <tr>\n", " <th>50002</th>\n", " <td>Roll, Jordan, Roll</td>\n", " <td>Doris Ulmann</td>\n", " <td>(American, 1884–1934)</td>\n", " <td>(American)</td>\n", " <td>(1884)</td>\n", " <td>(1934)</td>\n", " <td>(Female)</td>\n", " <td>1929-31</td>\n", " <td>Photograph</td>\n", " <td>Photography</td>\n", " <td>1884</td>\n", " <td>1934</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>1929</td>\n", " <td>1931</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1930</td>\n", " <td>46</td>\n", " </tr>\n", " <tr>\n", " <th>50003</th>\n", " <td>Untitled</td>\n", " <td>Doris Ulmann</td>\n", " <td>(American, 1884–1934)</td>\n", " <td>(American)</td>\n", " <td>(1884)</td>\n", " <td>(1934)</td>\n", " <td>(Female)</td>\n", " <td>1929-31</td>\n", " <td>Photograph</td>\n", " <td>Photography</td>\n", " <td>1884</td>\n", " <td>1934</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>1929</td>\n", " <td>1931</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1930</td>\n", " <td>46</td>\n", " </tr>\n", " <tr>\n", " <th>50004</th>\n", " <td>Untitled</td>\n", " <td>Doris Ulmann</td>\n", " <td>(American, 1884–1934)</td>\n", " <td>(American)</td>\n", " <td>(1884)</td>\n", " <td>(1934)</td>\n", " <td>(Female)</td>\n", " <td>1929-31</td>\n", " <td>Photograph</td>\n", " <td>Photography</td>\n", " <td>1884</td>\n", " <td>1934</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>1929</td>\n", " <td>1931</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1930</td>\n", " <td>46</td>\n", " </tr>\n", " <tr>\n", " <th>50005</th>\n", " <td>Untitled</td>\n", " <td>Doris Ulmann</td>\n", " <td>(American, 1884–1934)</td>\n", " <td>(American)</td>\n", " <td>(1884)</td>\n", " <td>(1934)</td>\n", " <td>(Female)</td>\n", " <td>1929-31</td>\n", " <td>Photograph</td>\n", " <td>Photography</td>\n", " <td>1884</td>\n", " <td>1934</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>1929</td>\n", " <td>1931</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1930</td>\n", " <td>46</td>\n", " </tr>\n", " <tr>\n", " <th>...</th>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " </tr>\n", " <tr>\n", " <th>107260</th>\n", " <td>Attachment for rubber strap (Perspective sketc...</td>\n", " <td>Lilly Reich</td>\n", " <td>(German, 1885–1947)</td>\n", " <td>(German)</td>\n", " <td>(1885)</td>\n", " <td>(1947)</td>\n", " <td>(Female)</td>\n", " <td>1931</td>\n", " <td>Mies van der Rohe Archive</td>\n", " <td>Architecture & Design</td>\n", " <td>1885</td>\n", " <td>1947</td>\n", " <td>female</td>\n", " <td>german</td>\n", " <td>1931</td>\n", " <td>1931</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1931</td>\n", " <td>46</td>\n", " </tr>\n", " <tr>\n", " <th>107261</th>\n", " <td>Bed and couch, LR 600, 610, and 620 (Elevation...</td>\n", " <td>Lilly Reich</td>\n", " <td>(German, 1885–1947)</td>\n", " <td>(German)</td>\n", " <td>(1885)</td>\n", " <td>(1947)</td>\n", " <td>(Female)</td>\n", " <td>1931</td>\n", " <td>Mies van der Rohe Archive</td>\n", " <td>Architecture & Design</td>\n", " <td>1885</td>\n", " <td>1947</td>\n", " <td>female</td>\n", " <td>german</td>\n", " <td>1931</td>\n", " <td>1931</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1931</td>\n", " <td>46</td>\n", " </tr>\n", " <tr>\n", " <th>107262</th>\n", " <td>Bed and couch, LR 600, 610, and 620 (Elevation...</td>\n", " <td>Lilly Reich</td>\n", " <td>(German, 1885–1947)</td>\n", " <td>(German)</td>\n", " <td>(1885)</td>\n", " <td>(1947)</td>\n", " <td>(Female)</td>\n", " <td>1931</td>\n", " <td>Mies van der Rohe Archive</td>\n", " <td>Architecture & Design</td>\n", " <td>1885</td>\n", " <td>1947</td>\n", " <td>female</td>\n", " <td>german</td>\n", " <td>1931</td>\n", " <td>1931</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1931</td>\n", " <td>46</td>\n", " </tr>\n", " <tr>\n", " <th>107263</th>\n", " <td>Bed and mattress frame, LR 600 (Plan and eleva...</td>\n", " <td>Lilly Reich</td>\n", " <td>(German, 1885–1947)</td>\n", " <td>(German)</td>\n", " <td>(1885)</td>\n", " <td>(1947)</td>\n", " <td>(Female)</td>\n", " <td>1931</td>\n", " <td>Mies van der Rohe Archive</td>\n", " <td>Architecture & Design</td>\n", " <td>1885</td>\n", " <td>1947</td>\n", " <td>female</td>\n", " <td>german</td>\n", " <td>1931</td>\n", " <td>1931</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1931</td>\n", " <td>46</td>\n", " </tr>\n", " <tr>\n", " <th>107264</th>\n", " <td>Daybed, LR 620 (Plan and elevations)</td>\n", " <td>Lilly Reich</td>\n", " <td>(German, 1885–1947)</td>\n", " <td>(German)</td>\n", " <td>(1885)</td>\n", " <td>(1947)</td>\n", " <td>(Female)</td>\n", " <td>1931</td>\n", " <td>Mies van der Rohe Archive</td>\n", " <td>Architecture & Design</td>\n", " <td>1885</td>\n", " <td>1947</td>\n", " <td>female</td>\n", " <td>german</td>\n", " <td>1931</td>\n", " <td>1931</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1931</td>\n", " <td>46</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "<p>428 rows × 20 columns</p>\n", "</div>" ], "text/plain": [ " title artist artist_bio nationality begin_date \\\n", "50001 Untitled Doris Ulmann (American, 1884–1934) (American) (1884) \n", "50002 Roll, Jordan, Roll Doris Ulmann (American, 1884–1934) (American) (1884) \n", "50003 Untitled Doris Ulmann (American, 1884–1934) (American) (1884) \n", "50004 Untitled Doris Ulmann (American, 1884–1934) (American) (1884) \n", "50005 Untitled Doris Ulmann (American, 1884–1934) (American) (1884) \n", "... ... ... ... ... ... \n", "107260 Attachment for rubber strap (Perspective sketc... Lilly Reich (German, 1885–1947) (German) (1885) \n", "107261 Bed and couch, LR 600, 610, and 620 (Elevation... Lilly Reich (German, 1885–1947) (German) (1885) \n", "107262 Bed and couch, LR 600, 610, and 620 (Elevation... Lilly Reich (German, 1885–1947) (German) (1885) \n", "107263 Bed and mattress frame, LR 600 (Plan and eleva... Lilly Reich (German, 1885–1947) (German) (1885) \n", "107264 Daybed, LR 620 (Plan and elevations) Lilly Reich (German, 1885–1947) (German) (1885) \n", "\n", " end_date gender date classification department begin_date_clean \\\n", "50001 (1934) (Female) 1929-31 Photograph Photography 1884 \n", "50002 (1934) (Female) 1929-31 Photograph Photography 1884 \n", "50003 (1934) (Female) 1929-31 Photograph Photography 1884 \n", "50004 (1934) (Female) 1929-31 Photograph Photography 1884 \n", "50005 (1934) (Female) 1929-31 Photograph Photography 1884 \n", "... ... ... ... ... ... ... \n", "107260 (1947) (Female) 1931 Mies van der Rohe Archive Architecture & Design 1885 \n", "107261 (1947) (Female) 1931 Mies van der Rohe Archive Architecture & Design 1885 \n", "107262 (1947) (Female) 1931 Mies van der Rohe Archive Architecture & Design 1885 \n", "107263 (1947) (Female) 1931 Mies van der Rohe Archive Architecture & Design 1885 \n", "107264 (1947) (Female) 1931 Mies van der Rohe Archive Architecture & Design 1885 \n", "\n", " end_date_clean gender_clean nationality_clean year_1 year_2 year_2_2 year_2_4 date_clean age \n", "50001 1934 female american 1929 1931 NaN NaN 1930 46 \n", "50002 1934 female american 1929 1931 NaN NaN 1930 46 \n", "50003 1934 female american 1929 1931 NaN NaN 1930 46 \n", "50004 1934 female american 1929 1931 NaN NaN 1930 46 \n", "50005 1934 female american 1929 1931 NaN NaN 1930 46 \n", "... ... ... ... ... ... ... ... ... ... \n", "107260 1947 female german 1931 1931 NaN NaN 1931 46 \n", "107261 1947 female german 1931 1931 NaN NaN 1931 46 \n", "107262 1947 female german 1931 1931 NaN NaN 1931 46 \n", "107263 1947 female german 1931 1931 NaN NaN 1931 46 \n", "107264 1947 female german 1931 1931 NaN NaN 1931 46 \n", "\n", "[428 rows x 20 columns]" ] }, "execution_count": 70, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Top5 women in 46\n", "women_46_top5 = (moma.loc[(moma['gender_clean'] == 'female') & (moma['age'] == 46), 'artist']).value_counts().head()\n", "\n", "print(women_46_top5)\n", "moma.loc[(moma['artist'].isin(women_46_top5.index)) & (moma['age'] == 46)]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Five female artists influence the outliers of 46 years. More than others, [Lilly Reich](https://www.moma.org/artists/8059).\n", "\n", "We can see a peak around 90 years on the plot. Let's take a closer look." ] }, { "cell_type": "code", "execution_count": 71, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "88 335\n", "84 249\n", "89 196\n", "90 175\n", "83 148\n", "87 107\n", "81 106\n", "82 105\n", "86 97\n", "85 87\n", "80 26\n", "Name: age, dtype: int64\n", "Louise Bourgeois 334\n", "Sonia Delaunay-Terk 1\n", "Name: artist, dtype: int64\n" ] }, { "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>title</th>\n", " <th>artist</th>\n", " <th>artist_bio</th>\n", " <th>nationality</th>\n", " <th>begin_date</th>\n", " <th>end_date</th>\n", " <th>gender</th>\n", " <th>date</th>\n", " <th>classification</th>\n", " <th>department</th>\n", " <th>begin_date_clean</th>\n", " <th>end_date_clean</th>\n", " <th>gender_clean</th>\n", " <th>nationality_clean</th>\n", " <th>year_1</th>\n", " <th>year_2</th>\n", " <th>year_2_2</th>\n", " <th>year_2_4</th>\n", " <th>date_clean</th>\n", " <th>age</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>35799</th>\n", " <td>Color Rhythm No. 1921-1973</td>\n", " <td>Sonia Delaunay-Terk</td>\n", " <td>(French, born Ukraine. 1885–1979)</td>\n", " <td>(French)</td>\n", " <td>(1885)</td>\n", " <td>(1979)</td>\n", " <td>(Female)</td>\n", " <td>1973</td>\n", " <td>Drawing</td>\n", " <td>Drawings & Prints</td>\n", " <td>1885</td>\n", " <td>1979</td>\n", " <td>female</td>\n", " <td>french</td>\n", " <td>1973</td>\n", " <td>1973</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1973</td>\n", " <td>88</td>\n", " </tr>\n", " <tr>\n", " <th>55942</th>\n", " <td>Mother and Child</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>1999</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>1999</td>\n", " <td>1999</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1999</td>\n", " <td>88</td>\n", " </tr>\n", " <tr>\n", " <th>55943</th>\n", " <td>The Angry Cat</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>1999</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>1999</td>\n", " <td>1999</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1999</td>\n", " <td>88</td>\n", " </tr>\n", " <tr>\n", " <th>55944</th>\n", " <td>The Angry Cat, state I of III (recto), Hanging...</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>1999</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>1999</td>\n", " <td>1999</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1999</td>\n", " <td>88</td>\n", " </tr>\n", " <tr>\n", " <th>55945</th>\n", " <td>Champfleurette #2</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>1999</td>\n", " <td>Print</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>1999</td>\n", " <td>1999</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1999</td>\n", " <td>88</td>\n", " </tr>\n", " <tr>\n", " <th>...</th>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " <td>...</td>\n", " </tr>\n", " <tr>\n", " <th>124192</th>\n", " <td>Point d'Ironie, cover</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>1999</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>1999</td>\n", " <td>1999</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1999</td>\n", " <td>88</td>\n", " </tr>\n", " <tr>\n", " <th>124193</th>\n", " <td>Point d'Ironie, spread 1 of 3</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>1999</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>1999</td>\n", " <td>1999</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1999</td>\n", " <td>88</td>\n", " </tr>\n", " <tr>\n", " <th>124194</th>\n", " <td>Point d'Ironie, spread 2 of 3</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>1999</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>1999</td>\n", " <td>1999</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1999</td>\n", " <td>88</td>\n", " </tr>\n", " <tr>\n", " <th>124195</th>\n", " <td>Point d'Ironie, spread 3 of 3</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>1999</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>1999</td>\n", " <td>1999</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1999</td>\n", " <td>88</td>\n", " </tr>\n", " <tr>\n", " <th>124196</th>\n", " <td>Point d'Ironie, back cover</td>\n", " <td>Louise Bourgeois</td>\n", " <td>(American, born France. 1911–2010)</td>\n", " <td>(American)</td>\n", " <td>(1911)</td>\n", " <td>(2010)</td>\n", " <td>(Female)</td>\n", " <td>1999</td>\n", " <td>Illustrated Book</td>\n", " <td>Drawings & Prints</td>\n", " <td>1911</td>\n", " <td>2010</td>\n", " <td>female</td>\n", " <td>american</td>\n", " <td>1999</td>\n", " <td>1999</td>\n", " <td>NaN</td>\n", " <td>NaN</td>\n", " <td>1999</td>\n", " <td>88</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "<p>335 rows × 20 columns</p>\n", "</div>" ], "text/plain": [ " title artist artist_bio \\\n", "35799 Color Rhythm No. 1921-1973 Sonia Delaunay-Terk (French, born Ukraine. 1885–1979) \n", "55942 Mother and Child Louise Bourgeois (American, born France. 1911–2010) \n", "55943 The Angry Cat Louise Bourgeois (American, born France. 1911–2010) \n", "55944 The Angry Cat, state I of III (recto), Hanging... Louise Bourgeois (American, born France. 1911–2010) \n", "55945 Champfleurette #2 Louise Bourgeois (American, born France. 1911–2010) \n", "... ... ... ... \n", "124192 Point d'Ironie, cover Louise Bourgeois (American, born France. 1911–2010) \n", "124193 Point d'Ironie, spread 1 of 3 Louise Bourgeois (American, born France. 1911–2010) \n", "124194 Point d'Ironie, spread 2 of 3 Louise Bourgeois (American, born France. 1911–2010) \n", "124195 Point d'Ironie, spread 3 of 3 Louise Bourgeois (American, born France. 1911–2010) \n", "124196 Point d'Ironie, back cover Louise Bourgeois (American, born France. 1911–2010) \n", "\n", " nationality begin_date end_date gender date classification department begin_date_clean \\\n", "35799 (French) (1885) (1979) (Female) 1973 Drawing Drawings & Prints 1885 \n", "55942 (American) (1911) (2010) (Female) 1999 Print Drawings & Prints 1911 \n", "55943 (American) (1911) (2010) (Female) 1999 Print Drawings & Prints 1911 \n", "55944 (American) (1911) (2010) (Female) 1999 Print Drawings & Prints 1911 \n", "55945 (American) (1911) (2010) (Female) 1999 Print Drawings & Prints 1911 \n", "... ... ... ... ... ... ... ... ... \n", "124192 (American) (1911) (2010) (Female) 1999 Illustrated Book Drawings & Prints 1911 \n", "124193 (American) (1911) (2010) (Female) 1999 Illustrated Book Drawings & Prints 1911 \n", "124194 (American) (1911) (2010) (Female) 1999 Illustrated Book Drawings & Prints 1911 \n", "124195 (American) (1911) (2010) (Female) 1999 Illustrated Book Drawings & Prints 1911 \n", "124196 (American) (1911) (2010) (Female) 1999 Illustrated Book Drawings & Prints 1911 \n", "\n", " end_date_clean gender_clean nationality_clean year_1 year_2 year_2_2 year_2_4 date_clean age \n", "35799 1979 female french 1973 1973 NaN NaN 1973 88 \n", "55942 2010 female american 1999 1999 NaN NaN 1999 88 \n", "55943 2010 female american 1999 1999 NaN NaN 1999 88 \n", "55944 2010 female american 1999 1999 NaN NaN 1999 88 \n", "55945 2010 female american 1999 1999 NaN NaN 1999 88 \n", "... ... ... ... ... ... ... ... ... ... \n", "124192 2010 female american 1999 1999 NaN NaN 1999 88 \n", "124193 2010 female american 1999 1999 NaN NaN 1999 88 \n", "124194 2010 female american 1999 1999 NaN NaN 1999 88 \n", "124195 2010 female american 1999 1999 NaN NaN 1999 88 \n", "124196 2010 female american 1999 1999 NaN NaN 1999 88 \n", "\n", "[335 rows x 20 columns]" ] }, "execution_count": 71, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# 90 peack\n", "print(moma.loc[(moma['gender_clean'] == 'female') & (moma['age'].between(80, 90)), 'age'].value_counts().head(20))\n", "\n", "# Top5 women in 88\n", "women_88_top5 = (moma.loc[(moma['gender_clean'] == 'female') & (moma['age'] == 88), 'artist']).value_counts().head()\n", "\n", "print(women_88_top5)\n", "moma.loc[(moma['artist'].isin(women_88_top5.index)) & (moma['age'] == 88)]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This peak is characterized by works of Louise Bourgeois, an artist who did not pay attention to age.\n", "\n", "You can find more about Louise Bourgeois and her creativity [here](https://en.wikipedia.org/wiki/Louise_Bourgeois) and [here](https://www.moma.org/artists/8059).\n", "\n", "### Plot by nationality\n", "\n", "Let's determine 4 nationalities with the largest number of the art objects." ] }, { "cell_type": "code", "execution_count": 72, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "american 53589\n", "french 20915\n", "german 8559\n", "british 5168\n", "Name: nationality_clean, dtype: int64\n" ] } ], "source": [ "nationality_top4 = moma['nationality_clean'].value_counts(normalize=False).head(4)\n", "print(nationality_top4)" ] }, { "cell_type": "code", "execution_count": 73, "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\r\n", "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\r\n", " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n", "<!-- Created with matplotlib (https://matplotlib.org/) -->\r\n", "<svg height=\"273.268375pt\" version=\"1.1\" viewBox=\"0 0 354.093625 273.268375\" width=\"354.093625pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n", " <metadata>\r\n", " <rdf:RDF xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\r\n", " <cc:Work>\r\n", " <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/>\r\n", " <dc:date>2020-09-05T15:08:40.838422</dc:date>\r\n", " <dc:format>image/svg+xml</dc:format>\r\n", " <dc:creator>\r\n", " <cc:Agent>\r\n", " <dc:title>Matplotlib v3.3.1, https://matplotlib.org/</dc:title>\r\n", " </cc:Agent>\r\n", " </dc:creator>\r\n", " </cc:Work>\r\n", " </rdf:RDF>\r\n", " </metadata>\r\n", " <defs>\r\n", " <style type=\"text/css\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\r\n", " </defs>\r\n", " <g id=\"figure_1\">\r\n", " <g id=\"patch_1\">\r\n", " <path d=\"M 0 273.268375 \r\n", "L 354.093625 273.268375 \r\n", "L 354.093625 0 \r\n", "L 0 0 \r\n", "z\r\n", "\" style=\"fill:#ffffff;\"/>\r\n", " </g>\r\n", " <g id=\"axes_1\">\r\n", " <g id=\"patch_2\">\r\n", " <path d=\"M 12.093625 237.6285 \r\n", "L 346.893625 237.6285 \r\n", "L 346.893625 20.1885 \r\n", "L 12.093625 20.1885 \r\n", "z\r\n", "\" style=\"fill:#ffffff;\"/>\r\n", " </g>\r\n", " <g id=\"matplotlib.axis_1\">\r\n", " <g id=\"xtick_1\">\r\n", " <g id=\"line2d_1\">\r\n", " <defs>\r\n", " <path d=\"M 0 0 \r\n", "L 0 4 \r\n", "\" id=\"mc7d58ef80b\" style=\"stroke:#211c47;\"/>\r\n", " </defs>\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"12.093625\" xlink:href=\"#mc7d58ef80b\" y=\"237.6285\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_1\">\r\n", " <!-- 10 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(7.2 251.427375)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 37.25 0 \r\n", "L 28.46875 0 \r\n", "L 28.46875 56 \r\n", "Q 25.296875 52.984375 20.140625 49.953125 \r\n", "Q 14.984375 46.921875 10.890625 45.40625 \r\n", "L 10.890625 53.90625 \r\n", "Q 18.265625 57.375 23.78125 62.296875 \r\n", "Q 29.296875 67.234375 31.59375 71.875 \r\n", "L 37.25 71.875 \r\n", "z\r\n", "\" id=\"ArialMT-49\"/>\r\n", " <path d=\"M 4.15625 35.296875 \r\n", "Q 4.15625 48 6.765625 55.734375 \r\n", "Q 9.375 63.484375 14.515625 67.671875 \r\n", "Q 19.671875 71.875 27.484375 71.875 \r\n", "Q 33.25 71.875 37.59375 69.546875 \r\n", "Q 41.9375 67.234375 44.765625 62.859375 \r\n", "Q 47.609375 58.5 49.21875 52.21875 \r\n", "Q 50.828125 45.953125 50.828125 35.296875 \r\n", "Q 50.828125 22.703125 48.234375 14.96875 \r\n", "Q 45.65625 7.234375 40.5 3 \r\n", "Q 35.359375 -1.21875 27.484375 -1.21875 \r\n", "Q 17.140625 -1.21875 11.234375 6.203125 \r\n", "Q 4.15625 15.140625 4.15625 35.296875 \r\n", "z\r\n", "M 13.1875 35.296875 \r\n", "Q 13.1875 17.671875 17.3125 11.828125 \r\n", "Q 21.4375 6 27.484375 6 \r\n", "Q 33.546875 6 37.671875 11.859375 \r\n", "Q 41.796875 17.71875 41.796875 35.296875 \r\n", "Q 41.796875 52.984375 37.671875 58.78125 \r\n", "Q 33.546875 64.59375 27.390625 64.59375 \r\n", "Q 21.34375 64.59375 17.71875 59.46875 \r\n", "Q 13.1875 52.9375 13.1875 35.296875 \r\n", "z\r\n", "\" id=\"ArialMT-48\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-49\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"xtick_2\">\r\n", " <g id=\"line2d_2\">\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"45.573625\" xlink:href=\"#mc7d58ef80b\" y=\"237.6285\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_2\">\r\n", " <!-- 20 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(40.68 251.427375)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 50.34375 8.453125 \r\n", "L 50.34375 0 \r\n", "L 3.03125 0 \r\n", "Q 2.9375 3.171875 4.046875 6.109375 \r\n", "Q 5.859375 10.9375 9.828125 15.625 \r\n", "Q 13.8125 20.3125 21.34375 26.46875 \r\n", "Q 33.015625 36.03125 37.109375 41.625 \r\n", "Q 41.21875 47.21875 41.21875 52.203125 \r\n", "Q 41.21875 57.421875 37.46875 61 \r\n", "Q 33.734375 64.59375 27.734375 64.59375 \r\n", "Q 21.390625 64.59375 17.578125 60.78125 \r\n", "Q 13.765625 56.984375 13.71875 50.25 \r\n", "L 4.6875 51.171875 \r\n", "Q 5.609375 61.28125 11.65625 66.578125 \r\n", "Q 17.71875 71.875 27.9375 71.875 \r\n", "Q 38.234375 71.875 44.234375 66.15625 \r\n", "Q 50.25 60.453125 50.25 52 \r\n", "Q 50.25 47.703125 48.484375 43.546875 \r\n", "Q 46.734375 39.40625 42.65625 34.8125 \r\n", "Q 38.578125 30.21875 29.109375 22.21875 \r\n", "Q 21.1875 15.578125 18.9375 13.203125 \r\n", "Q 16.703125 10.84375 15.234375 8.453125 \r\n", "z\r\n", "\" id=\"ArialMT-50\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-50\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"xtick_3\">\r\n", " <g id=\"line2d_3\">\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"79.053625\" xlink:href=\"#mc7d58ef80b\" y=\"237.6285\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_3\">\r\n", " <!-- 30 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(74.16 251.427375)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 4.203125 18.890625 \r\n", "L 12.984375 20.0625 \r\n", "Q 14.5 12.59375 18.140625 9.296875 \r\n", "Q 21.78125 6 27 6 \r\n", "Q 33.203125 6 37.46875 10.296875 \r\n", "Q 41.75 14.59375 41.75 20.953125 \r\n", "Q 41.75 27 37.796875 30.921875 \r\n", "Q 33.84375 34.859375 27.734375 34.859375 \r\n", "Q 25.25 34.859375 21.53125 33.890625 \r\n", "L 22.515625 41.609375 \r\n", "Q 23.390625 41.5 23.921875 41.5 \r\n", "Q 29.546875 41.5 34.03125 44.421875 \r\n", "Q 38.53125 47.359375 38.53125 53.46875 \r\n", "Q 38.53125 58.296875 35.25 61.46875 \r\n", "Q 31.984375 64.65625 26.8125 64.65625 \r\n", "Q 21.6875 64.65625 18.265625 61.421875 \r\n", "Q 14.84375 58.203125 13.875 51.765625 \r\n", "L 5.078125 53.328125 \r\n", "Q 6.6875 62.15625 12.390625 67.015625 \r\n", "Q 18.109375 71.875 26.609375 71.875 \r\n", "Q 32.46875 71.875 37.390625 69.359375 \r\n", "Q 42.328125 66.84375 44.9375 62.5 \r\n", "Q 47.5625 58.15625 47.5625 53.265625 \r\n", "Q 47.5625 48.640625 45.0625 44.828125 \r\n", "Q 42.578125 41.015625 37.703125 38.765625 \r\n", "Q 44.046875 37.3125 47.5625 32.6875 \r\n", "Q 51.078125 28.078125 51.078125 21.140625 \r\n", "Q 51.078125 11.765625 44.234375 5.25 \r\n", "Q 37.40625 -1.265625 26.953125 -1.265625 \r\n", "Q 17.53125 -1.265625 11.296875 4.34375 \r\n", "Q 5.078125 9.96875 4.203125 18.890625 \r\n", "z\r\n", "\" id=\"ArialMT-51\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-51\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"xtick_4\">\r\n", " <g id=\"line2d_4\">\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"112.533625\" xlink:href=\"#mc7d58ef80b\" y=\"237.6285\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_4\">\r\n", " <!-- 40 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(107.64 251.427375)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 32.328125 0 \r\n", "L 32.328125 17.140625 \r\n", "L 1.265625 17.140625 \r\n", "L 1.265625 25.203125 \r\n", "L 33.9375 71.578125 \r\n", "L 41.109375 71.578125 \r\n", "L 41.109375 25.203125 \r\n", "L 50.78125 25.203125 \r\n", "L 50.78125 17.140625 \r\n", "L 41.109375 17.140625 \r\n", "L 41.109375 0 \r\n", "z\r\n", "M 32.328125 25.203125 \r\n", "L 32.328125 57.46875 \r\n", "L 9.90625 25.203125 \r\n", "z\r\n", "\" id=\"ArialMT-52\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-52\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"xtick_5\">\r\n", " <g id=\"line2d_5\">\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"146.013625\" xlink:href=\"#mc7d58ef80b\" y=\"237.6285\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_5\">\r\n", " <!-- 50 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(141.12 251.427375)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 4.15625 18.75 \r\n", "L 13.375 19.53125 \r\n", "Q 14.40625 12.796875 18.140625 9.390625 \r\n", "Q 21.875 6 27.15625 6 \r\n", "Q 33.5 6 37.890625 10.78125 \r\n", "Q 42.28125 15.578125 42.28125 23.484375 \r\n", "Q 42.28125 31 38.0625 35.34375 \r\n", "Q 33.84375 39.703125 27 39.703125 \r\n", "Q 22.75 39.703125 19.328125 37.765625 \r\n", "Q 15.921875 35.84375 13.96875 32.765625 \r\n", "L 5.71875 33.84375 \r\n", "L 12.640625 70.609375 \r\n", "L 48.25 70.609375 \r\n", "L 48.25 62.203125 \r\n", "L 19.671875 62.203125 \r\n", "L 15.828125 42.96875 \r\n", "Q 22.265625 47.46875 29.34375 47.46875 \r\n", "Q 38.71875 47.46875 45.15625 40.96875 \r\n", "Q 51.609375 34.46875 51.609375 24.265625 \r\n", "Q 51.609375 14.546875 45.953125 7.46875 \r\n", "Q 39.0625 -1.21875 27.15625 -1.21875 \r\n", "Q 17.390625 -1.21875 11.203125 4.25 \r\n", "Q 5.03125 9.71875 4.15625 18.75 \r\n", "z\r\n", "\" id=\"ArialMT-53\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-53\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"xtick_6\">\r\n", " <g id=\"line2d_6\">\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"179.493625\" xlink:href=\"#mc7d58ef80b\" y=\"237.6285\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_6\">\r\n", " <!-- 60 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(174.6 251.427375)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 49.75 54.046875 \r\n", "L 41.015625 53.375 \r\n", "Q 39.84375 58.546875 37.703125 60.890625 \r\n", "Q 34.125 64.65625 28.90625 64.65625 \r\n", "Q 24.703125 64.65625 21.53125 62.3125 \r\n", "Q 17.390625 59.28125 14.984375 53.46875 \r\n", "Q 12.59375 47.65625 12.5 36.921875 \r\n", "Q 15.671875 41.75 20.265625 44.09375 \r\n", "Q 24.859375 46.4375 29.890625 46.4375 \r\n", "Q 38.671875 46.4375 44.84375 39.96875 \r\n", "Q 51.03125 33.5 51.03125 23.25 \r\n", "Q 51.03125 16.5 48.125 10.71875 \r\n", "Q 45.21875 4.9375 40.140625 1.859375 \r\n", "Q 35.0625 -1.21875 28.609375 -1.21875 \r\n", "Q 17.625 -1.21875 10.6875 6.859375 \r\n", "Q 3.765625 14.9375 3.765625 33.5 \r\n", "Q 3.765625 54.25 11.421875 63.671875 \r\n", "Q 18.109375 71.875 29.4375 71.875 \r\n", "Q 37.890625 71.875 43.28125 67.140625 \r\n", "Q 48.6875 62.40625 49.75 54.046875 \r\n", "z\r\n", "M 13.875 23.1875 \r\n", "Q 13.875 18.65625 15.796875 14.5 \r\n", "Q 17.71875 10.359375 21.1875 8.171875 \r\n", "Q 24.65625 6 28.46875 6 \r\n", "Q 34.03125 6 38.03125 10.484375 \r\n", "Q 42.046875 14.984375 42.046875 22.703125 \r\n", "Q 42.046875 30.125 38.078125 34.390625 \r\n", "Q 34.125 38.671875 28.125 38.671875 \r\n", "Q 22.171875 38.671875 18.015625 34.390625 \r\n", "Q 13.875 30.125 13.875 23.1875 \r\n", "z\r\n", "\" id=\"ArialMT-54\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-54\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"xtick_7\">\r\n", " <g id=\"line2d_7\">\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"212.973625\" xlink:href=\"#mc7d58ef80b\" y=\"237.6285\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_7\">\r\n", " <!-- 70 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(208.08 251.427375)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 4.734375 62.203125 \r\n", "L 4.734375 70.65625 \r\n", "L 51.078125 70.65625 \r\n", "L 51.078125 63.8125 \r\n", "Q 44.234375 56.546875 37.515625 44.484375 \r\n", "Q 30.8125 32.421875 27.15625 19.671875 \r\n", "Q 24.515625 10.6875 23.78125 0 \r\n", "L 14.75 0 \r\n", "Q 14.890625 8.453125 18.0625 20.40625 \r\n", "Q 21.234375 32.375 27.171875 43.484375 \r\n", "Q 33.109375 54.59375 39.796875 62.203125 \r\n", "z\r\n", "\" id=\"ArialMT-55\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-55\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"xtick_8\">\r\n", " <g id=\"line2d_8\">\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"246.453625\" xlink:href=\"#mc7d58ef80b\" y=\"237.6285\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_8\">\r\n", " <!-- 80 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(241.56 251.427375)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 17.671875 38.8125 \r\n", "Q 12.203125 40.828125 9.5625 44.53125 \r\n", "Q 6.9375 48.25 6.9375 53.421875 \r\n", "Q 6.9375 61.234375 12.546875 66.546875 \r\n", "Q 18.171875 71.875 27.484375 71.875 \r\n", "Q 36.859375 71.875 42.578125 66.421875 \r\n", "Q 48.296875 60.984375 48.296875 53.171875 \r\n", "Q 48.296875 48.1875 45.671875 44.5 \r\n", "Q 43.0625 40.828125 37.75 38.8125 \r\n", "Q 44.34375 36.671875 47.78125 31.875 \r\n", "Q 51.21875 27.09375 51.21875 20.453125 \r\n", "Q 51.21875 11.28125 44.71875 5.03125 \r\n", "Q 38.234375 -1.21875 27.640625 -1.21875 \r\n", "Q 17.046875 -1.21875 10.546875 5.046875 \r\n", "Q 4.046875 11.328125 4.046875 20.703125 \r\n", "Q 4.046875 27.6875 7.59375 32.390625 \r\n", "Q 11.140625 37.109375 17.671875 38.8125 \r\n", "z\r\n", "M 15.921875 53.71875 \r\n", "Q 15.921875 48.640625 19.1875 45.40625 \r\n", "Q 22.46875 42.1875 27.6875 42.1875 \r\n", "Q 32.765625 42.1875 36.015625 45.375 \r\n", "Q 39.265625 48.578125 39.265625 53.21875 \r\n", "Q 39.265625 58.0625 35.90625 61.359375 \r\n", "Q 32.5625 64.65625 27.59375 64.65625 \r\n", "Q 22.5625 64.65625 19.234375 61.421875 \r\n", "Q 15.921875 58.203125 15.921875 53.71875 \r\n", "z\r\n", "M 13.09375 20.65625 \r\n", "Q 13.09375 16.890625 14.875 13.375 \r\n", "Q 16.65625 9.859375 20.171875 7.921875 \r\n", "Q 23.6875 6 27.734375 6 \r\n", "Q 34.03125 6 38.125 10.046875 \r\n", "Q 42.234375 14.109375 42.234375 20.359375 \r\n", "Q 42.234375 26.703125 38.015625 30.859375 \r\n", "Q 33.796875 35.015625 27.4375 35.015625 \r\n", "Q 21.234375 35.015625 17.15625 30.90625 \r\n", "Q 13.09375 26.8125 13.09375 20.65625 \r\n", "z\r\n", "\" id=\"ArialMT-56\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-56\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"xtick_9\">\r\n", " <g id=\"line2d_9\">\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"279.933625\" xlink:href=\"#mc7d58ef80b\" y=\"237.6285\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_9\">\r\n", " <!-- 90 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(275.04 251.427375)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 5.46875 16.546875 \r\n", "L 13.921875 17.328125 \r\n", "Q 14.984375 11.375 18.015625 8.6875 \r\n", "Q 21.046875 6 25.78125 6 \r\n", "Q 29.828125 6 32.875 7.859375 \r\n", "Q 35.9375 9.71875 37.890625 12.8125 \r\n", "Q 39.84375 15.921875 41.15625 21.1875 \r\n", "Q 42.484375 26.46875 42.484375 31.9375 \r\n", "Q 42.484375 32.515625 42.4375 33.6875 \r\n", "Q 39.796875 29.5 35.234375 26.875 \r\n", "Q 30.671875 24.265625 25.34375 24.265625 \r\n", "Q 16.453125 24.265625 10.296875 30.703125 \r\n", "Q 4.15625 37.15625 4.15625 47.703125 \r\n", "Q 4.15625 58.59375 10.578125 65.234375 \r\n", "Q 17 71.875 26.65625 71.875 \r\n", "Q 33.640625 71.875 39.421875 68.109375 \r\n", "Q 45.21875 64.359375 48.21875 57.390625 \r\n", "Q 51.21875 50.4375 51.21875 37.25 \r\n", "Q 51.21875 23.53125 48.234375 15.40625 \r\n", "Q 45.265625 7.28125 39.375 3.03125 \r\n", "Q 33.5 -1.21875 25.59375 -1.21875 \r\n", "Q 17.1875 -1.21875 11.859375 3.4375 \r\n", "Q 6.546875 8.109375 5.46875 16.546875 \r\n", "z\r\n", "M 41.453125 48.140625 \r\n", "Q 41.453125 55.71875 37.421875 60.15625 \r\n", "Q 33.40625 64.59375 27.734375 64.59375 \r\n", "Q 21.875 64.59375 17.53125 59.8125 \r\n", "Q 13.1875 55.03125 13.1875 47.40625 \r\n", "Q 13.1875 40.578125 17.3125 36.296875 \r\n", "Q 21.4375 32.03125 27.484375 32.03125 \r\n", "Q 33.59375 32.03125 37.515625 36.296875 \r\n", "Q 41.453125 40.578125 41.453125 48.140625 \r\n", "z\r\n", "\" id=\"ArialMT-57\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-57\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"xtick_10\">\r\n", " <g id=\"line2d_10\">\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"313.413625\" xlink:href=\"#mc7d58ef80b\" y=\"237.6285\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_10\">\r\n", " <!-- 100 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(306.073188 251.427375)scale(0.088 -0.088)\">\r\n", " <use xlink:href=\"#ArialMT-49\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " <use x=\"111.230469\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_11\">\r\n", " <!-- Age -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(170.953375 264.047875)scale(0.096 -0.096)\">\r\n", " <defs>\r\n", " <path d=\"M -0.140625 0 \r\n", "L 27.34375 71.578125 \r\n", "L 37.546875 71.578125 \r\n", "L 66.84375 0 \r\n", "L 56.0625 0 \r\n", "L 47.703125 21.6875 \r\n", "L 17.78125 21.6875 \r\n", "L 9.90625 0 \r\n", "z\r\n", "M 20.515625 29.390625 \r\n", "L 44.78125 29.390625 \r\n", "L 37.3125 49.21875 \r\n", "Q 33.890625 58.25 32.234375 64.0625 \r\n", "Q 30.859375 57.171875 28.375 50.390625 \r\n", "z\r\n", "\" id=\"ArialMT-65\"/>\r\n", " <path d=\"M 4.984375 -4.296875 \r\n", "L 13.53125 -5.5625 \r\n", "Q 14.0625 -9.515625 16.5 -11.328125 \r\n", "Q 19.78125 -13.765625 25.4375 -13.765625 \r\n", "Q 31.546875 -13.765625 34.859375 -11.328125 \r\n", "Q 38.1875 -8.890625 39.359375 -4.5 \r\n", "Q 40.046875 -1.8125 39.984375 6.78125 \r\n", "Q 34.234375 0 25.640625 0 \r\n", "Q 14.9375 0 9.078125 7.71875 \r\n", "Q 3.21875 15.4375 3.21875 26.21875 \r\n", "Q 3.21875 33.640625 5.90625 39.90625 \r\n", "Q 8.59375 46.1875 13.6875 49.609375 \r\n", "Q 18.796875 53.03125 25.6875 53.03125 \r\n", "Q 34.859375 53.03125 40.828125 45.609375 \r\n", "L 40.828125 51.859375 \r\n", "L 48.921875 51.859375 \r\n", "L 48.921875 7.03125 \r\n", "Q 48.921875 -5.078125 46.453125 -10.125 \r\n", "Q 44 -15.1875 38.640625 -18.109375 \r\n", "Q 33.296875 -21.046875 25.484375 -21.046875 \r\n", "Q 16.21875 -21.046875 10.5 -16.875 \r\n", "Q 4.78125 -12.703125 4.984375 -4.296875 \r\n", "z\r\n", "M 12.25 26.859375 \r\n", "Q 12.25 16.65625 16.296875 11.96875 \r\n", "Q 20.359375 7.28125 26.46875 7.28125 \r\n", "Q 32.515625 7.28125 36.609375 11.9375 \r\n", "Q 40.71875 16.609375 40.71875 26.5625 \r\n", "Q 40.71875 36.078125 36.5 40.90625 \r\n", "Q 32.28125 45.75 26.3125 45.75 \r\n", "Q 20.453125 45.75 16.34375 40.984375 \r\n", "Q 12.25 36.234375 12.25 26.859375 \r\n", "z\r\n", "\" id=\"ArialMT-103\"/>\r\n", " <path d=\"M 42.09375 16.703125 \r\n", "L 51.171875 15.578125 \r\n", "Q 49.03125 7.625 43.21875 3.21875 \r\n", "Q 37.40625 -1.171875 28.375 -1.171875 \r\n", "Q 17 -1.171875 10.328125 5.828125 \r\n", "Q 3.65625 12.84375 3.65625 25.484375 \r\n", "Q 3.65625 38.578125 10.390625 45.796875 \r\n", "Q 17.140625 53.03125 27.875 53.03125 \r\n", "Q 38.28125 53.03125 44.875 45.953125 \r\n", "Q 51.46875 38.875 51.46875 26.03125 \r\n", "Q 51.46875 25.25 51.421875 23.6875 \r\n", "L 12.75 23.6875 \r\n", "Q 13.234375 15.140625 17.578125 10.59375 \r\n", "Q 21.921875 6.0625 28.421875 6.0625 \r\n", "Q 33.25 6.0625 36.671875 8.59375 \r\n", "Q 40.09375 11.140625 42.09375 16.703125 \r\n", "z\r\n", "M 13.234375 30.90625 \r\n", "L 42.1875 30.90625 \r\n", "Q 41.609375 37.453125 38.875 40.71875 \r\n", "Q 34.671875 45.796875 27.984375 45.796875 \r\n", "Q 21.921875 45.796875 17.796875 41.75 \r\n", "Q 13.671875 37.703125 13.234375 30.90625 \r\n", "z\r\n", "\" id=\"ArialMT-101\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-65\"/>\r\n", " <use x=\"66.699219\" xlink:href=\"#ArialMT-103\"/>\r\n", " <use x=\"122.314453\" xlink:href=\"#ArialMT-101\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"line2d_11\">\r\n", " <path clip-path=\"url(#pae94603ee8)\" d=\"M -1 237.588068 \r\n", "L -0.21244 237.589196 \r\n", "L 3.109393 237.571555 \r\n", "L 6.431226 237.515092 \r\n", "L 9.753059 237.414352 \r\n", "L 13.074892 237.269395 \r\n", "L 16.396725 237.057001 \r\n", "L 19.718558 236.712872 \r\n", "L 23.040391 236.191162 \r\n", "L 26.362223 235.569715 \r\n", "L 29.684056 235.040929 \r\n", "L 33.005889 234.723946 \r\n", "L 36.327722 234.448291 \r\n", "L 39.649555 233.683006 \r\n", "L 42.971388 231.741654 \r\n", "L 46.293221 228.321582 \r\n", "L 49.615054 223.952066 \r\n", "L 52.936886 219.572582 \r\n", "L 56.258719 215.386609 \r\n", "L 59.580552 210.339787 \r\n", "L 62.902385 202.982618 \r\n", "L 66.224218 192.983008 \r\n", "L 69.546051 182.052445 \r\n", "L 72.867884 173.23242 \r\n", "L 76.189717 168.581808 \r\n", "L 79.51155 167.353515 \r\n", "L 82.833382 166.814245 \r\n", "L 86.155215 165.05492 \r\n", "L 89.477048 162.859355 \r\n", "L 92.798881 162.629412 \r\n", "L 96.120714 165.603544 \r\n", "L 99.442547 170.344755 \r\n", "L 102.76438 173.736223 \r\n", "L 106.086213 173.138014 \r\n", "L 109.408045 167.763256 \r\n", "L 112.729878 158.491365 \r\n", "L 116.051711 146.653635 \r\n", "L 119.373544 133.293268 \r\n", "L 122.695377 119.965394 \r\n", "L 126.01721 109.391442 \r\n", "L 129.339043 103.767143 \r\n", "L 132.660876 102.672471 \r\n", "L 135.982709 103.92497 \r\n", "L 139.304541 106.20521 \r\n", "L 142.626374 109.484112 \r\n", "L 145.948207 112.621271 \r\n", "L 149.27004 112.348985 \r\n", "L 152.591873 106.560774 \r\n", "L 155.913706 97.475679 \r\n", "L 159.235539 89.214311 \r\n", "L 162.557372 83.511788 \r\n", "L 165.879205 80.422341 \r\n", "L 169.201037 81.544816 \r\n", "L 172.52287 89.147901 \r\n", "L 175.844703 102.656619 \r\n", "L 179.166536 118.11678 \r\n", "L 182.488369 130.784116 \r\n", "L 185.810202 137.932432 \r\n", "L 189.132035 140.288481 \r\n", "L 192.453868 140.862723 \r\n", "L 195.7757 142.074651 \r\n", "L 199.097533 144.505614 \r\n", "L 202.419366 148.273236 \r\n", "L 205.741199 154.563762 \r\n", "L 209.063032 164.867834 \r\n", "L 212.384865 178.520907 \r\n", "L 215.706698 191.970892 \r\n", "L 219.028531 201.258512 \r\n", "L 222.350364 204.742605 \r\n", "L 225.672196 203.415867 \r\n", "L 228.994029 199.814503 \r\n", "L 232.315862 197.04512 \r\n", "L 235.637695 197.728501 \r\n", "L 238.959528 202.703762 \r\n", "L 242.281361 210.546698 \r\n", "L 245.603194 218.683218 \r\n", "L 248.925027 225.140856 \r\n", "L 252.246859 229.365359 \r\n", "L 255.568692 231.840547 \r\n", "L 258.890525 233.352282 \r\n", "L 262.212358 234.496453 \r\n", "L 265.534191 235.495114 \r\n", "L 268.856024 236.264256 \r\n", "L 272.177857 236.635441 \r\n", "L 275.49969 236.564415 \r\n", "L 278.821523 236.23108 \r\n", "L 282.143355 235.983172 \r\n", "L 285.465188 236.093902 \r\n", "L 288.787021 236.531727 \r\n", "L 292.108854 237.03345 \r\n", "L 295.430687 237.384196 \r\n", "L 298.75252 237.552696 \r\n", "L 302.074353 237.610734 \r\n", "\" style=\"fill:none;stroke:#e0675a;stroke-linecap:round;stroke-width:1.2;\"/>\r\n", " </g>\r\n", " <g id=\"line2d_12\">\r\n", " <path clip-path=\"url(#pae94603ee8)\" d=\"M -1 237.604007 \r\n", "L 0.183647 237.603228 \r\n", "L 3.875545 237.597787 \r\n", "L 7.567443 237.579486 \r\n", "L 11.259341 237.535054 \r\n", "L 14.951239 237.442703 \r\n", "L 18.643138 237.260831 \r\n", "L 22.335036 236.950378 \r\n", "L 26.026934 236.516923 \r\n", "L 29.718832 235.941752 \r\n", "L 33.41073 235.000039 \r\n", "L 37.102629 233.236512 \r\n", "L 40.794527 230.136637 \r\n", "L 44.486425 225.122661 \r\n", "L 48.178323 217.470634 \r\n", "L 51.870221 206.832017 \r\n", "L 55.562119 193.914535 \r\n", "L 59.254018 179.897339 \r\n", "L 62.945916 165.282856 \r\n", "L 66.637814 150.108937 \r\n", "L 70.329712 134.77664 \r\n", "L 74.02161 119.87611 \r\n", "L 77.713509 105.808962 \r\n", "L 81.405407 93.280723 \r\n", "L 85.097305 83.555906 \r\n", "L 88.789203 77.302559 \r\n", "L 92.481101 73.57442 \r\n", "L 96.172999 70.872351 \r\n", "L 99.864898 68.664442 \r\n", "L 103.556796 67.204232 \r\n", "L 107.248694 67.042736 \r\n", "L 110.940592 69.526524 \r\n", "L 114.63249 76.329263 \r\n", "L 118.324389 87.150973 \r\n", "L 122.016287 98.647949 \r\n", "L 125.708185 106.833041 \r\n", "L 129.400083 110.754332 \r\n", "L 133.091981 113.098567 \r\n", "L 136.78388 116.943412 \r\n", "L 140.475778 123.596465 \r\n", "L 144.167676 133.48517 \r\n", "L 147.859574 146.211373 \r\n", "L 151.551472 159.628621 \r\n", "L 155.24337 171.000121 \r\n", "L 158.935269 179.019434 \r\n", "L 162.627167 184.106567 \r\n", "L 166.319065 187.346903 \r\n", "L 170.010963 189.639023 \r\n", "L 173.702861 191.550593 \r\n", "L 177.39476 193.300852 \r\n", "L 181.086658 194.908785 \r\n", "L 184.778556 196.819951 \r\n", "L 188.470454 199.815798 \r\n", "L 192.162352 203.826415 \r\n", "L 195.854251 207.732354 \r\n", "L 199.546149 210.723585 \r\n", "L 203.238047 213.085923 \r\n", "L 206.929945 215.410285 \r\n", "L 210.621843 217.621842 \r\n", "L 214.313741 219.208411 \r\n", "L 218.00564 220.036638 \r\n", "L 221.697538 220.572743 \r\n", "L 225.389436 221.517239 \r\n", "L 229.081334 223.096097 \r\n", "L 232.773232 224.508177 \r\n", "L 236.465131 224.690408 \r\n", "L 240.157029 223.714695 \r\n", "L 243.848927 222.49046 \r\n", "L 247.540825 221.253762 \r\n", "L 251.232723 219.594247 \r\n", "L 254.924621 217.886908 \r\n", "L 258.61652 217.319094 \r\n", "L 262.308418 218.044411 \r\n", "L 266.000316 218.542755 \r\n", "L 269.692214 217.65573 \r\n", "L 273.384112 216.165453 \r\n", "L 277.076011 215.601498 \r\n", "L 280.767909 216.551441 \r\n", "L 284.459807 218.606813 \r\n", "L 288.151705 220.985498 \r\n", "L 291.843603 223.037752 \r\n", "L 295.535502 224.717455 \r\n", "L 299.2274 226.475918 \r\n", "L 302.919298 228.650186 \r\n", "L 306.611196 231.170265 \r\n", "L 310.303094 233.657682 \r\n", "L 313.994992 235.637077 \r\n", "L 317.686891 236.846174 \r\n", "L 321.378789 237.394624 \r\n", "L 325.070687 237.576274 \r\n", "L 328.762585 237.61989 \r\n", "\" style=\"fill:none;stroke:#5ca0af;stroke-linecap:round;stroke-width:1.2;\"/>\r\n", " </g>\r\n", " <g id=\"line2d_13\">\r\n", " <path clip-path=\"url(#pae94603ee8)\" d=\"M 1.01217 237.627014 \r\n", "L 3.907674 237.622753 \r\n", "L 6.803178 237.610859 \r\n", "L 9.698682 237.585079 \r\n", "L 12.594186 237.540915 \r\n", "L 15.489691 237.477546 \r\n", "L 18.385195 237.391811 \r\n", "L 21.280699 237.270625 \r\n", "L 24.176203 237.096872 \r\n", "L 27.071707 236.854767 \r\n", "L 29.967211 236.495202 \r\n", "L 32.862715 235.881911 \r\n", "L 35.75822 234.81628 \r\n", "L 38.653724 233.152007 \r\n", "L 41.549228 230.823696 \r\n", "L 44.444732 227.662346 \r\n", "L 47.340236 223.217886 \r\n", "L 50.23574 216.978344 \r\n", "L 53.131244 208.951018 \r\n", "L 56.026749 199.914995 \r\n", "L 58.922253 190.752624 \r\n", "L 61.817757 181.433712 \r\n", "L 64.713261 171.016019 \r\n", "L 67.608765 158.883468 \r\n", "L 70.504269 145.652353 \r\n", "L 73.399773 132.544891 \r\n", "L 76.295278 120.162806 \r\n", "L 79.190782 108.197445 \r\n", "L 82.086286 96.084395 \r\n", "L 84.98179 83.627457 \r\n", "L 87.877294 71.10978 \r\n", "L 90.772798 59.06975 \r\n", "L 93.668302 48.258462 \r\n", "L 96.563807 40.063465 \r\n", "L 99.459311 36.678002 \r\n", "L 102.354815 40.086091 \r\n", "L 105.250319 50.432168 \r\n", "L 108.145823 65.480088 \r\n", "L 111.041327 81.818128 \r\n", "L 113.936831 96.494668 \r\n", "L 116.832336 107.493438 \r\n", "L 119.72784 113.196817 \r\n", "L 122.623344 112.151132 \r\n", "L 125.518848 103.790878 \r\n", "L 128.414352 89.84559 \r\n", "L 131.309856 75.300923 \r\n", "L 134.20536 66.901487 \r\n", "L 137.100865 68.905094 \r\n", "L 139.996369 79.736827 \r\n", "L 142.891873 93.167747 \r\n", "L 145.787377 102.866298 \r\n", "L 148.682881 106.55525 \r\n", "L 151.578385 107.32438 \r\n", "L 154.47389 111.253192 \r\n", "L 157.369394 122.582611 \r\n", "L 160.264898 140.361463 \r\n", "L 163.160402 159.652902 \r\n", "L 166.055906 175.636002 \r\n", "L 168.95141 186.257612 \r\n", "L 171.846914 191.750204 \r\n", "L 174.742419 193.139001 \r\n", "L 177.637923 191.831125 \r\n", "L 180.533427 189.770083 \r\n", "L 183.428931 188.905305 \r\n", "L 186.324435 190.255545 \r\n", "L 189.219939 193.581881 \r\n", "L 192.115443 197.918412 \r\n", "L 195.010948 202.479693 \r\n", "L 197.906452 207.216408 \r\n", "L 200.801956 212.506541 \r\n", "L 203.69746 218.348365 \r\n", "L 206.592964 224.017467 \r\n", "L 209.488468 228.528663 \r\n", "L 212.383972 231.311324 \r\n", "L 215.279477 232.475675 \r\n", "L 218.174981 232.621763 \r\n", "L 221.070485 232.466216 \r\n", "L 223.965989 232.526429 \r\n", "L 226.861493 232.99543 \r\n", "L 229.756997 233.811455 \r\n", "L 232.652501 234.793784 \r\n", "L 235.548006 235.737783 \r\n", "L 238.44351 236.482108 \r\n", "L 241.339014 236.965796 \r\n", "L 244.234518 237.230778 \r\n", "L 247.130022 237.358579 \r\n", "L 250.025526 237.400768 \r\n", "L 252.92103 237.357911 \r\n", "L 255.816535 237.207422 \r\n", "L 258.712039 236.945786 \r\n", "L 261.607543 236.6154 \r\n", "L 264.503047 236.309638 \r\n", "L 267.398551 236.151997 \r\n", "L 270.294055 236.23406 \r\n", "L 273.189559 236.538673 \r\n", "L 276.085064 236.934891 \r\n", "L 278.980568 237.273227 \r\n", "L 281.876072 237.483196 \r\n", "L 284.771576 237.581286 \r\n", "L 287.66708 237.61635 \r\n", "\" style=\"fill:none;stroke:#edde7e;stroke-linecap:round;stroke-width:1.2;\"/>\r\n", " </g>\r\n", " <g id=\"line2d_14\">\r\n", " <path clip-path=\"url(#pae94603ee8)\" d=\"M -1 237.515353 \r\n", "L 1.031941 237.544253 \r\n", "L 4.487735 237.583377 \r\n", "L 7.94353 237.59879 \r\n", "L 11.399325 237.579688 \r\n", "L 14.855119 237.508084 \r\n", "L 18.310914 237.363569 \r\n", "L 21.766709 237.147027 \r\n", "L 25.222503 236.894662 \r\n", "L 28.678298 236.639045 \r\n", "L 32.134093 236.318839 \r\n", "L 35.589887 235.699317 \r\n", "L 39.045682 234.350602 \r\n", "L 42.501477 231.664749 \r\n", "L 45.957271 226.884499 \r\n", "L 49.413066 219.179652 \r\n", "L 52.868861 207.861665 \r\n", "L 56.324655 192.756166 \r\n", "L 59.78045 174.508622 \r\n", "L 63.236245 154.474227 \r\n", "L 66.692039 134.186812 \r\n", "L 70.147834 114.840443 \r\n", "L 73.603629 97.134215 \r\n", "L 77.059423 81.485213 \r\n", "L 80.515218 68.39679 \r\n", "L 83.971013 58.401575 \r\n", "L 87.426807 51.143356 \r\n", "L 90.882602 44.815499 \r\n", "L 94.338397 37.866915 \r\n", "L 97.794192 31.733101 \r\n", "L 101.249986 30.542764 \r\n", "L 104.705781 37.064047 \r\n", "L 108.161576 49.394735 \r\n", "L 111.61737 62.090861 \r\n", "L 115.073165 70.401317 \r\n", "L 118.52896 73.941051 \r\n", "L 121.984754 77.078446 \r\n", "L 125.440549 85.37907 \r\n", "L 128.896344 100.808219 \r\n", "L 132.352138 120.294522 \r\n", "L 135.807933 138.845252 \r\n", "L 139.263728 153.441221 \r\n", "L 142.719522 164.019346 \r\n", "L 146.175317 171.925702 \r\n", "L 149.631112 178.410753 \r\n", "L 153.086906 184.28937 \r\n", "L 156.542701 190.0309 \r\n", "L 159.998496 195.656973 \r\n", "L 163.45429 200.658331 \r\n", "L 166.910085 204.163366 \r\n", "L 170.36588 205.32135 \r\n", "L 173.821674 203.801115 \r\n", "L 177.277469 200.023359 \r\n", "L 180.733264 194.588359 \r\n", "L 184.189058 187.346842 \r\n", "L 187.644853 177.891348 \r\n", "L 191.100648 167.986561 \r\n", "L 194.556443 162.71288 \r\n", "L 198.012237 167.015242 \r\n", "L 201.468032 180.545726 \r\n", "L 204.923827 197.281303 \r\n", "L 208.379621 210.631796 \r\n", "L 211.835416 218.077074 \r\n", "L 215.291211 221.190153 \r\n", "L 218.747005 222.741264 \r\n", "L 222.2028 224.39289 \r\n", "L 225.658595 226.380344 \r\n", "L 229.114389 228.384457 \r\n", "L 232.570184 230.2461 \r\n", "L 236.025979 231.983395 \r\n", "L 239.481773 233.543456 \r\n", "L 242.937568 234.780884 \r\n", "L 246.393363 235.615497 \r\n", "L 249.849157 236.105848 \r\n", "L 253.304952 236.383854 \r\n", "L 256.760747 236.56472 \r\n", "L 260.216541 236.713588 \r\n", "L 263.672336 236.860051 \r\n", "L 267.128131 237.016055 \r\n", "L 270.583925 237.177379 \r\n", "L 274.03972 237.322509 \r\n", "L 277.495515 237.423859 \r\n", "L 280.951309 237.467108 \r\n", "L 284.407104 237.464067 \r\n", "L 287.862899 237.447833 \r\n", "L 291.318694 237.451086 \r\n", "L 294.774488 237.484321 \r\n", "L 298.230283 237.533717 \r\n", "L 301.686078 237.578406 \r\n", "L 305.141872 237.607251 \r\n", "L 308.597667 237.621269 \r\n", "L 312.053462 237.626526 \r\n", "\" style=\"fill:none;stroke:#211c47;stroke-linecap:round;stroke-width:1.2;\"/>\r\n", " </g>\r\n", " <g id=\"line2d_15\">\r\n", " <path clip-path=\"url(#pae94603ee8)\" d=\"M 89.097625 237.6285 \r\n", "L 89.097625 24.5373 \r\n", "\" style=\"fill:none;stroke:#211c47;stroke-dasharray:1.2,1.98;stroke-dashoffset:0;stroke-width:1.2;\"/>\r\n", " <defs>\r\n", " <path d=\"M -2.4 2.4 \r\n", "L 2.4 -2.4 \r\n", "M -2.4 -2.4 \r\n", "L 2.4 2.4 \r\n", "\" id=\"m44d0e744c4\" style=\"stroke:#211c47;\"/>\r\n", " </defs>\r\n", " <g clip-path=\"url(#pae94603ee8)\">\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"89.097625\" xlink:href=\"#m44d0e744c4\" y=\"237.6285\"/>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"89.097625\" xlink:href=\"#m44d0e744c4\" y=\"24.5373\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"patch_3\">\r\n", " <path d=\"M 12.093625 237.6285 \r\n", "L 346.893625 237.6285 \r\n", "\" style=\"fill:none;stroke:#211c47;stroke-linecap:square;stroke-linejoin:miter;\"/>\r\n", " </g>\r\n", " <g id=\"text_12\">\r\n", " <!-- 33 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(72.357625 27.831365)scale(0.096 -0.096)\">\r\n", " <use xlink:href=\"#ArialMT-51\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-51\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_13\">\r\n", " <!-- Amount of Artworks by Age: nationality -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(183.080125 14.1885)scale(0.096 -0.096)\">\r\n", " <defs>\r\n", " <path d=\"M 6.59375 0 \r\n", "L 6.59375 51.859375 \r\n", "L 14.453125 51.859375 \r\n", "L 14.453125 44.578125 \r\n", "Q 16.890625 48.390625 20.9375 50.703125 \r\n", "Q 25 53.03125 30.171875 53.03125 \r\n", "Q 35.9375 53.03125 39.625 50.640625 \r\n", "Q 43.3125 48.25 44.828125 43.953125 \r\n", "Q 50.984375 53.03125 60.84375 53.03125 \r\n", "Q 68.5625 53.03125 72.703125 48.75 \r\n", "Q 76.859375 44.484375 76.859375 35.59375 \r\n", "L 76.859375 0 \r\n", "L 68.109375 0 \r\n", "L 68.109375 32.671875 \r\n", "Q 68.109375 37.9375 67.25 40.25 \r\n", "Q 66.40625 42.578125 64.15625 43.984375 \r\n", "Q 61.921875 45.40625 58.890625 45.40625 \r\n", "Q 53.421875 45.40625 49.796875 41.765625 \r\n", "Q 46.1875 38.140625 46.1875 30.125 \r\n", "L 46.1875 0 \r\n", "L 37.40625 0 \r\n", "L 37.40625 33.6875 \r\n", "Q 37.40625 39.546875 35.25 42.46875 \r\n", "Q 33.109375 45.40625 28.21875 45.40625 \r\n", "Q 24.515625 45.40625 21.359375 43.453125 \r\n", "Q 18.21875 41.5 16.796875 37.734375 \r\n", "Q 15.375 33.984375 15.375 26.90625 \r\n", "L 15.375 0 \r\n", "z\r\n", "\" id=\"ArialMT-109\"/>\r\n", " <path d=\"M 3.328125 25.921875 \r\n", "Q 3.328125 40.328125 11.328125 47.265625 \r\n", "Q 18.015625 53.03125 27.640625 53.03125 \r\n", "Q 38.328125 53.03125 45.109375 46.015625 \r\n", "Q 51.90625 39.015625 51.90625 26.65625 \r\n", "Q 51.90625 16.65625 48.90625 10.90625 \r\n", "Q 45.90625 5.171875 40.15625 2 \r\n", "Q 34.421875 -1.171875 27.640625 -1.171875 \r\n", "Q 16.75 -1.171875 10.03125 5.8125 \r\n", "Q 3.328125 12.796875 3.328125 25.921875 \r\n", "z\r\n", "M 12.359375 25.921875 \r\n", "Q 12.359375 15.96875 16.703125 11.015625 \r\n", "Q 21.046875 6.0625 27.640625 6.0625 \r\n", "Q 34.1875 6.0625 38.53125 11.03125 \r\n", "Q 42.875 16.015625 42.875 26.21875 \r\n", "Q 42.875 35.84375 38.5 40.796875 \r\n", "Q 34.125 45.75 27.640625 45.75 \r\n", "Q 21.046875 45.75 16.703125 40.8125 \r\n", "Q 12.359375 35.890625 12.359375 25.921875 \r\n", "z\r\n", "\" id=\"ArialMT-111\"/>\r\n", " <path d=\"M 40.578125 0 \r\n", "L 40.578125 7.625 \r\n", "Q 34.515625 -1.171875 24.125 -1.171875 \r\n", "Q 19.53125 -1.171875 15.546875 0.578125 \r\n", "Q 11.578125 2.34375 9.640625 5 \r\n", "Q 7.71875 7.671875 6.9375 11.53125 \r\n", "Q 6.390625 14.109375 6.390625 19.734375 \r\n", "L 6.390625 51.859375 \r\n", "L 15.1875 51.859375 \r\n", "L 15.1875 23.09375 \r\n", "Q 15.1875 16.21875 15.71875 13.8125 \r\n", "Q 16.546875 10.359375 19.234375 8.375 \r\n", "Q 21.921875 6.390625 25.875 6.390625 \r\n", "Q 29.828125 6.390625 33.296875 8.421875 \r\n", "Q 36.765625 10.453125 38.203125 13.9375 \r\n", "Q 39.65625 17.4375 39.65625 24.078125 \r\n", "L 39.65625 51.859375 \r\n", "L 48.4375 51.859375 \r\n", "L 48.4375 0 \r\n", "z\r\n", "\" id=\"ArialMT-117\"/>\r\n", " <path d=\"M 6.59375 0 \r\n", "L 6.59375 51.859375 \r\n", "L 14.5 51.859375 \r\n", "L 14.5 44.484375 \r\n", "Q 20.21875 53.03125 31 53.03125 \r\n", "Q 35.6875 53.03125 39.625 51.34375 \r\n", "Q 43.5625 49.65625 45.515625 46.921875 \r\n", "Q 47.46875 44.1875 48.25 40.4375 \r\n", "Q 48.734375 37.984375 48.734375 31.890625 \r\n", "L 48.734375 0 \r\n", "L 39.9375 0 \r\n", "L 39.9375 31.546875 \r\n", "Q 39.9375 36.921875 38.90625 39.578125 \r\n", "Q 37.890625 42.234375 35.28125 43.8125 \r\n", "Q 32.671875 45.40625 29.15625 45.40625 \r\n", "Q 23.53125 45.40625 19.453125 41.84375 \r\n", "Q 15.375 38.28125 15.375 28.328125 \r\n", "L 15.375 0 \r\n", "z\r\n", "\" id=\"ArialMT-110\"/>\r\n", " <path d=\"M 25.78125 7.859375 \r\n", "L 27.046875 0.09375 \r\n", "Q 23.34375 -0.6875 20.40625 -0.6875 \r\n", "Q 15.625 -0.6875 12.984375 0.828125 \r\n", "Q 10.359375 2.34375 9.28125 4.8125 \r\n", "Q 8.203125 7.28125 8.203125 15.1875 \r\n", "L 8.203125 45.015625 \r\n", "L 1.765625 45.015625 \r\n", "L 1.765625 51.859375 \r\n", "L 8.203125 51.859375 \r\n", "L 8.203125 64.703125 \r\n", "L 16.9375 69.96875 \r\n", "L 16.9375 51.859375 \r\n", "L 25.78125 51.859375 \r\n", "L 25.78125 45.015625 \r\n", "L 16.9375 45.015625 \r\n", "L 16.9375 14.703125 \r\n", "Q 16.9375 10.9375 17.40625 9.859375 \r\n", "Q 17.875 8.796875 18.921875 8.15625 \r\n", "Q 19.96875 7.515625 21.921875 7.515625 \r\n", "Q 23.390625 7.515625 25.78125 7.859375 \r\n", "z\r\n", "\" id=\"ArialMT-116\"/>\r\n", " <path id=\"ArialMT-32\"/>\r\n", " <path d=\"M 8.6875 0 \r\n", "L 8.6875 45.015625 \r\n", "L 0.921875 45.015625 \r\n", "L 0.921875 51.859375 \r\n", "L 8.6875 51.859375 \r\n", "L 8.6875 57.375 \r\n", "Q 8.6875 62.59375 9.625 65.140625 \r\n", "Q 10.890625 68.5625 14.078125 70.671875 \r\n", "Q 17.28125 72.796875 23.046875 72.796875 \r\n", "Q 26.765625 72.796875 31.25 71.921875 \r\n", "L 29.9375 64.265625 \r\n", "Q 27.203125 64.75 24.75 64.75 \r\n", "Q 20.75 64.75 19.09375 63.03125 \r\n", "Q 17.4375 61.328125 17.4375 56.640625 \r\n", "L 17.4375 51.859375 \r\n", "L 27.546875 51.859375 \r\n", "L 27.546875 45.015625 \r\n", "L 17.4375 45.015625 \r\n", "L 17.4375 0 \r\n", "z\r\n", "\" id=\"ArialMT-102\"/>\r\n", " <path d=\"M 6.5 0 \r\n", "L 6.5 51.859375 \r\n", "L 14.40625 51.859375 \r\n", "L 14.40625 44 \r\n", "Q 17.4375 49.515625 20 51.265625 \r\n", "Q 22.5625 53.03125 25.640625 53.03125 \r\n", "Q 30.078125 53.03125 34.671875 50.203125 \r\n", "L 31.640625 42.046875 \r\n", "Q 28.421875 43.953125 25.203125 43.953125 \r\n", "Q 22.3125 43.953125 20.015625 42.21875 \r\n", "Q 17.71875 40.484375 16.75 37.40625 \r\n", "Q 15.28125 32.71875 15.28125 27.15625 \r\n", "L 15.28125 0 \r\n", "z\r\n", "\" id=\"ArialMT-114\"/>\r\n", " <path d=\"M 16.15625 0 \r\n", "L 0.296875 51.859375 \r\n", "L 9.375 51.859375 \r\n", "L 17.625 21.921875 \r\n", "L 20.703125 10.796875 \r\n", "Q 20.90625 11.625 23.390625 21.484375 \r\n", "L 31.640625 51.859375 \r\n", "L 40.671875 51.859375 \r\n", "L 48.4375 21.78125 \r\n", "L 51.03125 11.859375 \r\n", "L 54 21.875 \r\n", "L 62.890625 51.859375 \r\n", "L 71.4375 51.859375 \r\n", "L 55.21875 0 \r\n", "L 46.09375 0 \r\n", "L 37.84375 31.0625 \r\n", "L 35.84375 39.890625 \r\n", "L 25.34375 0 \r\n", "z\r\n", "\" id=\"ArialMT-119\"/>\r\n", " <path d=\"M 6.640625 0 \r\n", "L 6.640625 71.578125 \r\n", "L 15.4375 71.578125 \r\n", "L 15.4375 30.765625 \r\n", "L 36.234375 51.859375 \r\n", "L 47.609375 51.859375 \r\n", "L 27.78125 32.625 \r\n", "L 49.609375 0 \r\n", "L 38.765625 0 \r\n", "L 21.625 26.515625 \r\n", "L 15.4375 20.5625 \r\n", "L 15.4375 0 \r\n", "z\r\n", "\" id=\"ArialMT-107\"/>\r\n", " <path d=\"M 3.078125 15.484375 \r\n", "L 11.765625 16.84375 \r\n", "Q 12.5 11.625 15.84375 8.84375 \r\n", "Q 19.1875 6.0625 25.203125 6.0625 \r\n", "Q 31.25 6.0625 34.171875 8.515625 \r\n", "Q 37.109375 10.984375 37.109375 14.3125 \r\n", "Q 37.109375 17.28125 34.515625 19 \r\n", "Q 32.71875 20.171875 25.53125 21.96875 \r\n", "Q 15.875 24.421875 12.140625 26.203125 \r\n", "Q 8.40625 27.984375 6.46875 31.125 \r\n", "Q 4.546875 34.28125 4.546875 38.09375 \r\n", "Q 4.546875 41.546875 6.125 44.5 \r\n", "Q 7.71875 47.46875 10.453125 49.421875 \r\n", "Q 12.5 50.921875 16.03125 51.96875 \r\n", "Q 19.578125 53.03125 23.640625 53.03125 \r\n", "Q 29.734375 53.03125 34.34375 51.265625 \r\n", "Q 38.96875 49.515625 41.15625 46.5 \r\n", "Q 43.359375 43.5 44.1875 38.484375 \r\n", "L 35.59375 37.3125 \r\n", "Q 35.015625 41.3125 32.203125 43.546875 \r\n", "Q 29.390625 45.796875 24.265625 45.796875 \r\n", "Q 18.21875 45.796875 15.625 43.796875 \r\n", "Q 13.03125 41.796875 13.03125 39.109375 \r\n", "Q 13.03125 37.40625 14.109375 36.03125 \r\n", "Q 15.1875 34.625 17.484375 33.6875 \r\n", "Q 18.796875 33.203125 25.25 31.453125 \r\n", "Q 34.578125 28.953125 38.25 27.359375 \r\n", "Q 41.9375 25.78125 44.03125 22.75 \r\n", "Q 46.140625 19.734375 46.140625 15.234375 \r\n", "Q 46.140625 10.84375 43.578125 6.953125 \r\n", "Q 41.015625 3.078125 36.171875 0.953125 \r\n", "Q 31.34375 -1.171875 25.25 -1.171875 \r\n", "Q 15.140625 -1.171875 9.84375 3.03125 \r\n", "Q 4.546875 7.234375 3.078125 15.484375 \r\n", "z\r\n", "\" id=\"ArialMT-115\"/>\r\n", " <path d=\"M 14.703125 0 \r\n", "L 6.546875 0 \r\n", "L 6.546875 71.578125 \r\n", "L 15.328125 71.578125 \r\n", "L 15.328125 46.046875 \r\n", "Q 20.90625 53.03125 29.546875 53.03125 \r\n", "Q 34.328125 53.03125 38.59375 51.09375 \r\n", "Q 42.875 49.171875 45.625 45.671875 \r\n", "Q 48.390625 42.1875 49.953125 37.25 \r\n", "Q 51.515625 32.328125 51.515625 26.703125 \r\n", "Q 51.515625 13.375 44.921875 6.09375 \r\n", "Q 38.328125 -1.171875 29.109375 -1.171875 \r\n", "Q 19.921875 -1.171875 14.703125 6.5 \r\n", "z\r\n", "M 14.59375 26.3125 \r\n", "Q 14.59375 17 17.140625 12.84375 \r\n", "Q 21.296875 6.0625 28.375 6.0625 \r\n", "Q 34.125 6.0625 38.328125 11.0625 \r\n", "Q 42.53125 16.0625 42.53125 25.984375 \r\n", "Q 42.53125 36.140625 38.5 40.96875 \r\n", "Q 34.46875 45.796875 28.765625 45.796875 \r\n", "Q 23 45.796875 18.796875 40.796875 \r\n", "Q 14.59375 35.796875 14.59375 26.3125 \r\n", "z\r\n", "\" id=\"ArialMT-98\"/>\r\n", " <path d=\"M 6.203125 -19.96875 \r\n", "L 5.21875 -11.71875 \r\n", "Q 8.109375 -12.5 10.25 -12.5 \r\n", "Q 13.1875 -12.5 14.9375 -11.515625 \r\n", "Q 16.703125 -10.546875 17.828125 -8.796875 \r\n", "Q 18.65625 -7.46875 20.515625 -2.25 \r\n", "Q 20.75 -1.515625 21.296875 -0.09375 \r\n", "L 1.609375 51.859375 \r\n", "L 11.078125 51.859375 \r\n", "L 21.875 21.828125 \r\n", "Q 23.96875 16.109375 25.640625 9.8125 \r\n", "Q 27.15625 15.875 29.25 21.625 \r\n", "L 40.328125 51.859375 \r\n", "L 49.125 51.859375 \r\n", "L 29.390625 -0.875 \r\n", "Q 26.21875 -9.421875 24.46875 -12.640625 \r\n", "Q 22.125 -17 19.09375 -19.015625 \r\n", "Q 16.0625 -21.046875 11.859375 -21.046875 \r\n", "Q 9.328125 -21.046875 6.203125 -19.96875 \r\n", "z\r\n", "\" id=\"ArialMT-121\"/>\r\n", " <path d=\"M 9.03125 41.84375 \r\n", "L 9.03125 51.859375 \r\n", "L 19.046875 51.859375 \r\n", "L 19.046875 41.84375 \r\n", "z\r\n", "M 9.03125 0 \r\n", "L 9.03125 10.015625 \r\n", "L 19.046875 10.015625 \r\n", "L 19.046875 0 \r\n", "z\r\n", "\" id=\"ArialMT-58\"/>\r\n", " <path d=\"M 40.4375 6.390625 \r\n", "Q 35.546875 2.25 31.03125 0.53125 \r\n", "Q 26.515625 -1.171875 21.34375 -1.171875 \r\n", "Q 12.796875 -1.171875 8.203125 3 \r\n", "Q 3.609375 7.171875 3.609375 13.671875 \r\n", "Q 3.609375 17.484375 5.34375 20.625 \r\n", "Q 7.078125 23.78125 9.890625 25.6875 \r\n", "Q 12.703125 27.59375 16.21875 28.5625 \r\n", "Q 18.796875 29.25 24.03125 29.890625 \r\n", "Q 34.671875 31.15625 39.703125 32.90625 \r\n", "Q 39.75 34.71875 39.75 35.203125 \r\n", "Q 39.75 40.578125 37.25 42.78125 \r\n", "Q 33.890625 45.75 27.25 45.75 \r\n", "Q 21.046875 45.75 18.09375 43.578125 \r\n", "Q 15.140625 41.40625 13.71875 35.890625 \r\n", "L 5.125 37.0625 \r\n", "Q 6.296875 42.578125 8.984375 45.96875 \r\n", "Q 11.671875 49.359375 16.75 51.1875 \r\n", "Q 21.828125 53.03125 28.515625 53.03125 \r\n", "Q 35.15625 53.03125 39.296875 51.46875 \r\n", "Q 43.453125 49.90625 45.40625 47.53125 \r\n", "Q 47.359375 45.171875 48.140625 41.546875 \r\n", "Q 48.578125 39.3125 48.578125 33.453125 \r\n", "L 48.578125 21.734375 \r\n", "Q 48.578125 9.46875 49.140625 6.21875 \r\n", "Q 49.703125 2.984375 51.375 0 \r\n", "L 42.1875 0 \r\n", "Q 40.828125 2.734375 40.4375 6.390625 \r\n", "z\r\n", "M 39.703125 26.03125 \r\n", "Q 34.90625 24.078125 25.34375 22.703125 \r\n", "Q 19.921875 21.921875 17.671875 20.9375 \r\n", "Q 15.4375 19.96875 14.203125 18.09375 \r\n", "Q 12.984375 16.21875 12.984375 13.921875 \r\n", "Q 12.984375 10.40625 15.640625 8.0625 \r\n", "Q 18.3125 5.71875 23.4375 5.71875 \r\n", "Q 28.515625 5.71875 32.46875 7.9375 \r\n", "Q 36.421875 10.15625 38.28125 14.015625 \r\n", "Q 39.703125 17 39.703125 22.796875 \r\n", "z\r\n", "\" id=\"ArialMT-97\"/>\r\n", " <path d=\"M 6.640625 61.46875 \r\n", "L 6.640625 71.578125 \r\n", "L 15.4375 71.578125 \r\n", "L 15.4375 61.46875 \r\n", "z\r\n", "M 6.640625 0 \r\n", "L 6.640625 51.859375 \r\n", "L 15.4375 51.859375 \r\n", "L 15.4375 0 \r\n", "z\r\n", "\" id=\"ArialMT-105\"/>\r\n", " <path d=\"M 6.390625 0 \r\n", "L 6.390625 71.578125 \r\n", "L 15.1875 71.578125 \r\n", "L 15.1875 0 \r\n", "z\r\n", "\" id=\"ArialMT-108\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-65\"/>\r\n", " <use x=\"66.699219\" xlink:href=\"#ArialMT-109\"/>\r\n", " <use x=\"150\" xlink:href=\"#ArialMT-111\"/>\r\n", " <use x=\"205.615234\" xlink:href=\"#ArialMT-117\"/>\r\n", " <use x=\"261.230469\" xlink:href=\"#ArialMT-110\"/>\r\n", " <use x=\"316.845703\" xlink:href=\"#ArialMT-116\"/>\r\n", " <use x=\"344.628906\" xlink:href=\"#ArialMT-32\"/>\r\n", " <use x=\"372.412109\" xlink:href=\"#ArialMT-111\"/>\r\n", " <use x=\"428.027344\" xlink:href=\"#ArialMT-102\"/>\r\n", " <use x=\"455.810547\" xlink:href=\"#ArialMT-32\"/>\r\n", " <use x=\"478.09375\" xlink:href=\"#ArialMT-65\"/>\r\n", " <use x=\"544.792969\" xlink:href=\"#ArialMT-114\"/>\r\n", " <use x=\"578.09375\" xlink:href=\"#ArialMT-116\"/>\r\n", " <use x=\"605.876953\" xlink:href=\"#ArialMT-119\"/>\r\n", " <use x=\"678.09375\" xlink:href=\"#ArialMT-111\"/>\r\n", " <use x=\"733.708984\" xlink:href=\"#ArialMT-114\"/>\r\n", " <use x=\"767.009766\" xlink:href=\"#ArialMT-107\"/>\r\n", " <use x=\"817.009766\" xlink:href=\"#ArialMT-115\"/>\r\n", " <use x=\"867.009766\" xlink:href=\"#ArialMT-32\"/>\r\n", " <use x=\"894.792969\" xlink:href=\"#ArialMT-98\"/>\r\n", " <use x=\"950.408203\" xlink:href=\"#ArialMT-121\"/>\r\n", " <use x=\"1000.408203\" xlink:href=\"#ArialMT-32\"/>\r\n", " <use x=\"1022.691406\" xlink:href=\"#ArialMT-65\"/>\r\n", " <use x=\"1089.390625\" xlink:href=\"#ArialMT-103\"/>\r\n", " <use x=\"1145.005859\" xlink:href=\"#ArialMT-101\"/>\r\n", " <use x=\"1200.621094\" xlink:href=\"#ArialMT-58\"/>\r\n", " <use x=\"1228.404297\" xlink:href=\"#ArialMT-32\"/>\r\n", " <use x=\"1256.1875\" xlink:href=\"#ArialMT-110\"/>\r\n", " <use x=\"1311.802734\" xlink:href=\"#ArialMT-97\"/>\r\n", " <use x=\"1367.417969\" xlink:href=\"#ArialMT-116\"/>\r\n", " <use x=\"1395.201172\" xlink:href=\"#ArialMT-105\"/>\r\n", " <use x=\"1417.417969\" xlink:href=\"#ArialMT-111\"/>\r\n", " <use x=\"1473.033203\" xlink:href=\"#ArialMT-110\"/>\r\n", " <use x=\"1528.648438\" xlink:href=\"#ArialMT-97\"/>\r\n", " <use x=\"1584.263672\" xlink:href=\"#ArialMT-108\"/>\r\n", " <use x=\"1606.480469\" xlink:href=\"#ArialMT-105\"/>\r\n", " <use x=\"1628.697266\" xlink:href=\"#ArialMT-116\"/>\r\n", " <use x=\"1656.480469\" xlink:href=\"#ArialMT-121\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"legend_1\">\r\n", " <g id=\"patch_4\">\r\n", " <path d=\"M 276.383625 77.123125 \r\n", "L 340.733625 77.123125 \r\n", "Q 342.493625 77.123125 342.493625 75.363125 \r\n", "L 342.493625 26.3485 \r\n", "Q 342.493625 24.5885 340.733625 24.5885 \r\n", "L 276.383625 24.5885 \r\n", "Q 274.623625 24.5885 274.623625 26.3485 \r\n", "L 274.623625 75.363125 \r\n", "Q 274.623625 77.123125 276.383625 77.123125 \r\n", "z\r\n", "\" style=\"fill:#ffffff;opacity:0.8;stroke:#cccccc;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"line2d_16\">\r\n", " <path d=\"M 278.143625 31.327375 \r\n", "L 295.743625 31.327375 \r\n", "\" style=\"fill:none;stroke:#e0675a;stroke-linecap:round;stroke-width:1.2;\"/>\r\n", " </g>\r\n", " <g id=\"line2d_17\"/>\r\n", " <g id=\"text_14\">\r\n", " <!-- french -->\r\n", " <g style=\"fill:#262626;\" transform=\"translate(302.783625 34.407375)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 40.4375 19 \r\n", "L 49.078125 17.875 \r\n", "Q 47.65625 8.9375 41.8125 3.875 \r\n", "Q 35.984375 -1.171875 27.484375 -1.171875 \r\n", "Q 16.84375 -1.171875 10.375 5.78125 \r\n", "Q 3.90625 12.75 3.90625 25.734375 \r\n", "Q 3.90625 34.125 6.6875 40.421875 \r\n", "Q 9.46875 46.734375 15.15625 49.875 \r\n", "Q 20.84375 53.03125 27.546875 53.03125 \r\n", "Q 35.984375 53.03125 41.359375 48.75 \r\n", "Q 46.734375 44.484375 48.25 36.625 \r\n", "L 39.703125 35.296875 \r\n", "Q 38.484375 40.53125 35.375 43.15625 \r\n", "Q 32.28125 45.796875 27.875 45.796875 \r\n", "Q 21.234375 45.796875 17.078125 41.03125 \r\n", "Q 12.9375 36.28125 12.9375 25.984375 \r\n", "Q 12.9375 15.53125 16.9375 10.796875 \r\n", "Q 20.953125 6.0625 27.390625 6.0625 \r\n", "Q 32.5625 6.0625 36.03125 9.234375 \r\n", "Q 39.5 12.40625 40.4375 19 \r\n", "z\r\n", "\" id=\"ArialMT-99\"/>\r\n", " <path d=\"M 6.59375 0 \r\n", "L 6.59375 71.578125 \r\n", "L 15.375 71.578125 \r\n", "L 15.375 45.90625 \r\n", "Q 21.53125 53.03125 30.90625 53.03125 \r\n", "Q 36.671875 53.03125 40.921875 50.75 \r\n", "Q 45.171875 48.484375 47 44.484375 \r\n", "Q 48.828125 40.484375 48.828125 32.859375 \r\n", "L 48.828125 0 \r\n", "L 40.046875 0 \r\n", "L 40.046875 32.859375 \r\n", "Q 40.046875 39.453125 37.1875 42.453125 \r\n", "Q 34.328125 45.453125 29.109375 45.453125 \r\n", "Q 25.203125 45.453125 21.75 43.421875 \r\n", "Q 18.3125 41.40625 16.84375 37.9375 \r\n", "Q 15.375 34.46875 15.375 28.375 \r\n", "L 15.375 0 \r\n", "z\r\n", "\" id=\"ArialMT-104\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-102\"/>\r\n", " <use x=\"27.783203\" xlink:href=\"#ArialMT-114\"/>\r\n", " <use x=\"61.083984\" xlink:href=\"#ArialMT-101\"/>\r\n", " <use x=\"116.699219\" xlink:href=\"#ArialMT-110\"/>\r\n", " <use x=\"172.314453\" xlink:href=\"#ArialMT-99\"/>\r\n", " <use x=\"222.314453\" xlink:href=\"#ArialMT-104\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"line2d_18\">\r\n", " <path d=\"M 278.143625 43.77525 \r\n", "L 295.743625 43.77525 \r\n", "\" style=\"fill:none;stroke:#5ca0af;stroke-linecap:round;stroke-width:1.2;\"/>\r\n", " </g>\r\n", " <g id=\"line2d_19\"/>\r\n", " <g id=\"text_15\">\r\n", " <!-- american -->\r\n", " <g style=\"fill:#262626;\" transform=\"translate(302.783625 46.85525)scale(0.088 -0.088)\">\r\n", " <use xlink:href=\"#ArialMT-97\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-109\"/>\r\n", " <use x=\"138.916016\" xlink:href=\"#ArialMT-101\"/>\r\n", " <use x=\"194.53125\" xlink:href=\"#ArialMT-114\"/>\r\n", " <use x=\"227.832031\" xlink:href=\"#ArialMT-105\"/>\r\n", " <use x=\"250.048828\" xlink:href=\"#ArialMT-99\"/>\r\n", " <use x=\"300.048828\" xlink:href=\"#ArialMT-97\"/>\r\n", " <use x=\"355.664062\" xlink:href=\"#ArialMT-110\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"line2d_20\">\r\n", " <path d=\"M 278.143625 56.223125 \r\n", "L 295.743625 56.223125 \r\n", "\" style=\"fill:none;stroke:#edde7e;stroke-linecap:round;stroke-width:1.2;\"/>\r\n", " </g>\r\n", " <g id=\"line2d_21\"/>\r\n", " <g id=\"text_16\">\r\n", " <!-- german -->\r\n", " <g style=\"fill:#262626;\" transform=\"translate(302.783625 59.303125)scale(0.088 -0.088)\">\r\n", " <use xlink:href=\"#ArialMT-103\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-101\"/>\r\n", " <use x=\"111.230469\" xlink:href=\"#ArialMT-114\"/>\r\n", " <use x=\"144.53125\" xlink:href=\"#ArialMT-109\"/>\r\n", " <use x=\"227.832031\" xlink:href=\"#ArialMT-97\"/>\r\n", " <use x=\"283.447266\" xlink:href=\"#ArialMT-110\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"line2d_22\">\r\n", " <path d=\"M 278.143625 68.774125 \r\n", "L 295.743625 68.774125 \r\n", "\" style=\"fill:none;stroke:#211c47;stroke-linecap:round;stroke-width:1.2;\"/>\r\n", " </g>\r\n", " <g id=\"line2d_23\"/>\r\n", " <g id=\"text_17\">\r\n", " <!-- british -->\r\n", " <g style=\"fill:#262626;\" transform=\"translate(302.783625 71.854125)scale(0.088 -0.088)\">\r\n", " <use xlink:href=\"#ArialMT-98\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-114\"/>\r\n", " <use x=\"88.916016\" xlink:href=\"#ArialMT-105\"/>\r\n", " <use x=\"111.132812\" xlink:href=\"#ArialMT-116\"/>\r\n", " <use x=\"138.916016\" xlink:href=\"#ArialMT-105\"/>\r\n", " <use x=\"161.132812\" xlink:href=\"#ArialMT-115\"/>\r\n", " <use x=\"211.132812\" xlink:href=\"#ArialMT-104\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <defs>\r\n", " <clipPath id=\"pae94603ee8\">\r\n", " <rect height=\"217.44\" width=\"334.8\" x=\"12.093625\" y=\"20.1885\"/>\r\n", " </clipPath>\r\n", " </defs>\r\n", "</svg>\r\n" ], "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Set the figure\n", "sns.set(context='paper', style='ticks', palette=snark_palette,\n", " rc={'xtick.major.size': 4, 'ytick.left':False,\n", " 'axes.spines.left': False, 'axes.spines.bottom': True,\n", " 'axes.spines.right': False, 'axes.spines.top': False\n", " }\n", " )\n", "\n", "# Create the plot\n", "moma_nationality = moma.loc[moma['nationality_clean'].isin(nationality_top4.index), ['nationality_clean', 'age']] # data\n", "g_an = sns.FacetGrid(moma_nationality, hue='nationality_clean')\n", "g_an = g_an.map(sns.distplot, 'age', hist=False, rug=False)\n", "\n", "g_an.ax.axvline(x=33, ymin=0, ymax=0.98, marker='x', linestyle=':', color=snark_palette[-1]) # 33 boundary\n", "\n", "# Set some aesthetic params for the plot\n", "g_an.fig.set_size_inches(6, 4)\n", "g_an.ax.annotate('33', [28, 0.0415], c=snark_palette[-1]) # set label for the 33 boundary\n", "g_an.ax.legend() # set legend\n", "g_an.ax.set_title('Amount of Artworks by Age: nationality', loc='right', c=snark_palette[-1]) # set title of the plot\n", "g_an.ax.set_xlabel('Age', c=snark_palette[-1]) # set label of x axis\n", "g_an.ax.get_yaxis().set_visible(False) # hide y labels\n", "g_an.despine(left=True) # hide y axis\n", "g_an.ax.set_xticks([i for i in range(0, 110, 10)]) # set x ticks labels\n", "g_an.ax.set_xlim([10, 110]) # set x axis range\n", "g_an.ax.tick_params(axis='x', colors=snark_palette[-1]) # color x ticks\n", "g_an.ax.spines['bottom'].set_color(snark_palette[-1]) # color x axis\n", "\n", "# Save and plot\n", "g_an.fig.subplots_adjust(bottom=0.125, top=0.88, left=0.125, right=0.9) # adjust for the post picture\n", "g_an.savefig('plot.pic\\plot.age.nationality.png', dpi=150, bbox_inches=None)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Plot by century\n", "\n", "Let's create the plot based on the centuries in which the artworks were created. \n", "First, we'll save the century in a separate column `century`." ] }, { "cell_type": "code", "execution_count": 74, "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>date_clean</th>\n", " <th>century</th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>0</th>\n", " <td>1896</td>\n", " <td>19</td>\n", " </tr>\n", " <tr>\n", " <th>1</th>\n", " <td>1987</td>\n", " <td>20</td>\n", " </tr>\n", " <tr>\n", " <th>2</th>\n", " <td>1903</td>\n", " <td>20</td>\n", " </tr>\n", " <tr>\n", " <th>3</th>\n", " <td>1980</td>\n", " <td>20</td>\n", " </tr>\n", " <tr>\n", " <th>4</th>\n", " <td>1903</td>\n", " <td>20</td>\n", " </tr>\n", " <tr>\n", " <th>...</th>\n", " <td>...</td>\n", " <td>...</td>\n", " </tr>\n", " <tr>\n", " <th>138156</th>\n", " <td>1934</td>\n", " <td>20</td>\n", " </tr>\n", " <tr>\n", " <th>138157</th>\n", " <td>1934</td>\n", " <td>20</td>\n", " </tr>\n", " <tr>\n", " <th>138158</th>\n", " <td>1934</td>\n", " <td>20</td>\n", " </tr>\n", " <tr>\n", " <th>138159</th>\n", " <td>1934</td>\n", " <td>20</td>\n", " </tr>\n", " <tr>\n", " <th>138160</th>\n", " <td>1934</td>\n", " <td>20</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "<p>114559 rows × 2 columns</p>\n", "</div>" ], "text/plain": [ " date_clean century\n", "0 1896 19\n", "1 1987 20\n", "2 1903 20\n", "3 1980 20\n", "4 1903 20\n", "... ... ...\n", "138156 1934 20\n", "138157 1934 20\n", "138158 1934 20\n", "138159 1934 20\n", "138160 1934 20\n", "\n", "[114559 rows x 2 columns]" ] }, "execution_count": 74, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Extract \n", "moma['century'] = ((moma['date_clean'] // 100) + 1).astype(int)\n", "\n", "# Inspect values\n", "moma[['date_clean', 'century']]" ] }, { "cell_type": "code", "execution_count": 75, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "21 12076\n", "20 97626\n", "19 4771\n", "18 86\n", "Name: century, dtype: int64" ] }, "execution_count": 75, "metadata": {}, "output_type": "execute_result" } ], "source": [ "moma['century'].value_counts().sort_index(ascending=False)" ] }, { "cell_type": "code", "execution_count": 76, "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"no\"?>\r\n", "<!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\"\r\n", " \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">\r\n", "<!-- Created with matplotlib (https://matplotlib.org/) -->\r\n", "<svg height=\"273.268375pt\" version=\"1.1\" viewBox=\"0 0 354.093625 273.268375\" width=\"354.093625pt\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\r\n", " <metadata>\r\n", " <rdf:RDF xmlns:cc=\"http://creativecommons.org/ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\">\r\n", " <cc:Work>\r\n", " <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\"/>\r\n", " <dc:date>2020-09-05T15:08:41.518034</dc:date>\r\n", " <dc:format>image/svg+xml</dc:format>\r\n", " <dc:creator>\r\n", " <cc:Agent>\r\n", " <dc:title>Matplotlib v3.3.1, https://matplotlib.org/</dc:title>\r\n", " </cc:Agent>\r\n", " </dc:creator>\r\n", " </cc:Work>\r\n", " </rdf:RDF>\r\n", " </metadata>\r\n", " <defs>\r\n", " <style type=\"text/css\">*{stroke-linecap:butt;stroke-linejoin:round;}</style>\r\n", " </defs>\r\n", " <g id=\"figure_1\">\r\n", " <g id=\"patch_1\">\r\n", " <path d=\"M 0 273.268375 \r\n", "L 354.093625 273.268375 \r\n", "L 354.093625 0 \r\n", "L 0 0 \r\n", "z\r\n", "\" style=\"fill:#ffffff;\"/>\r\n", " </g>\r\n", " <g id=\"axes_1\">\r\n", " <g id=\"patch_2\">\r\n", " <path d=\"M 12.093625 237.6285 \r\n", "L 346.893625 237.6285 \r\n", "L 346.893625 20.1885 \r\n", "L 12.093625 20.1885 \r\n", "z\r\n", "\" style=\"fill:#ffffff;\"/>\r\n", " </g>\r\n", " <g id=\"matplotlib.axis_1\">\r\n", " <g id=\"xtick_1\">\r\n", " <g id=\"line2d_1\">\r\n", " <defs>\r\n", " <path d=\"M 0 0 \r\n", "L 0 4 \r\n", "\" id=\"m3c3b8431d5\" style=\"stroke:#211c47;\"/>\r\n", " </defs>\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"12.093625\" xlink:href=\"#m3c3b8431d5\" y=\"237.6285\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_1\">\r\n", " <!-- 10 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(7.2 251.427375)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 37.25 0 \r\n", "L 28.46875 0 \r\n", "L 28.46875 56 \r\n", "Q 25.296875 52.984375 20.140625 49.953125 \r\n", "Q 14.984375 46.921875 10.890625 45.40625 \r\n", "L 10.890625 53.90625 \r\n", "Q 18.265625 57.375 23.78125 62.296875 \r\n", "Q 29.296875 67.234375 31.59375 71.875 \r\n", "L 37.25 71.875 \r\n", "z\r\n", "\" id=\"ArialMT-49\"/>\r\n", " <path d=\"M 4.15625 35.296875 \r\n", "Q 4.15625 48 6.765625 55.734375 \r\n", "Q 9.375 63.484375 14.515625 67.671875 \r\n", "Q 19.671875 71.875 27.484375 71.875 \r\n", "Q 33.25 71.875 37.59375 69.546875 \r\n", "Q 41.9375 67.234375 44.765625 62.859375 \r\n", "Q 47.609375 58.5 49.21875 52.21875 \r\n", "Q 50.828125 45.953125 50.828125 35.296875 \r\n", "Q 50.828125 22.703125 48.234375 14.96875 \r\n", "Q 45.65625 7.234375 40.5 3 \r\n", "Q 35.359375 -1.21875 27.484375 -1.21875 \r\n", "Q 17.140625 -1.21875 11.234375 6.203125 \r\n", "Q 4.15625 15.140625 4.15625 35.296875 \r\n", "z\r\n", "M 13.1875 35.296875 \r\n", "Q 13.1875 17.671875 17.3125 11.828125 \r\n", "Q 21.4375 6 27.484375 6 \r\n", "Q 33.546875 6 37.671875 11.859375 \r\n", "Q 41.796875 17.71875 41.796875 35.296875 \r\n", "Q 41.796875 52.984375 37.671875 58.78125 \r\n", "Q 33.546875 64.59375 27.390625 64.59375 \r\n", "Q 21.34375 64.59375 17.71875 59.46875 \r\n", "Q 13.1875 52.9375 13.1875 35.296875 \r\n", "z\r\n", "\" id=\"ArialMT-48\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-49\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"xtick_2\">\r\n", " <g id=\"line2d_2\">\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"45.573625\" xlink:href=\"#m3c3b8431d5\" y=\"237.6285\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_2\">\r\n", " <!-- 20 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(40.68 251.427375)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 50.34375 8.453125 \r\n", "L 50.34375 0 \r\n", "L 3.03125 0 \r\n", "Q 2.9375 3.171875 4.046875 6.109375 \r\n", "Q 5.859375 10.9375 9.828125 15.625 \r\n", "Q 13.8125 20.3125 21.34375 26.46875 \r\n", "Q 33.015625 36.03125 37.109375 41.625 \r\n", "Q 41.21875 47.21875 41.21875 52.203125 \r\n", "Q 41.21875 57.421875 37.46875 61 \r\n", "Q 33.734375 64.59375 27.734375 64.59375 \r\n", "Q 21.390625 64.59375 17.578125 60.78125 \r\n", "Q 13.765625 56.984375 13.71875 50.25 \r\n", "L 4.6875 51.171875 \r\n", "Q 5.609375 61.28125 11.65625 66.578125 \r\n", "Q 17.71875 71.875 27.9375 71.875 \r\n", "Q 38.234375 71.875 44.234375 66.15625 \r\n", "Q 50.25 60.453125 50.25 52 \r\n", "Q 50.25 47.703125 48.484375 43.546875 \r\n", "Q 46.734375 39.40625 42.65625 34.8125 \r\n", "Q 38.578125 30.21875 29.109375 22.21875 \r\n", "Q 21.1875 15.578125 18.9375 13.203125 \r\n", "Q 16.703125 10.84375 15.234375 8.453125 \r\n", "z\r\n", "\" id=\"ArialMT-50\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-50\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"xtick_3\">\r\n", " <g id=\"line2d_3\">\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"79.053625\" xlink:href=\"#m3c3b8431d5\" y=\"237.6285\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_3\">\r\n", " <!-- 30 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(74.16 251.427375)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 4.203125 18.890625 \r\n", "L 12.984375 20.0625 \r\n", "Q 14.5 12.59375 18.140625 9.296875 \r\n", "Q 21.78125 6 27 6 \r\n", "Q 33.203125 6 37.46875 10.296875 \r\n", "Q 41.75 14.59375 41.75 20.953125 \r\n", "Q 41.75 27 37.796875 30.921875 \r\n", "Q 33.84375 34.859375 27.734375 34.859375 \r\n", "Q 25.25 34.859375 21.53125 33.890625 \r\n", "L 22.515625 41.609375 \r\n", "Q 23.390625 41.5 23.921875 41.5 \r\n", "Q 29.546875 41.5 34.03125 44.421875 \r\n", "Q 38.53125 47.359375 38.53125 53.46875 \r\n", "Q 38.53125 58.296875 35.25 61.46875 \r\n", "Q 31.984375 64.65625 26.8125 64.65625 \r\n", "Q 21.6875 64.65625 18.265625 61.421875 \r\n", "Q 14.84375 58.203125 13.875 51.765625 \r\n", "L 5.078125 53.328125 \r\n", "Q 6.6875 62.15625 12.390625 67.015625 \r\n", "Q 18.109375 71.875 26.609375 71.875 \r\n", "Q 32.46875 71.875 37.390625 69.359375 \r\n", "Q 42.328125 66.84375 44.9375 62.5 \r\n", "Q 47.5625 58.15625 47.5625 53.265625 \r\n", "Q 47.5625 48.640625 45.0625 44.828125 \r\n", "Q 42.578125 41.015625 37.703125 38.765625 \r\n", "Q 44.046875 37.3125 47.5625 32.6875 \r\n", "Q 51.078125 28.078125 51.078125 21.140625 \r\n", "Q 51.078125 11.765625 44.234375 5.25 \r\n", "Q 37.40625 -1.265625 26.953125 -1.265625 \r\n", "Q 17.53125 -1.265625 11.296875 4.34375 \r\n", "Q 5.078125 9.96875 4.203125 18.890625 \r\n", "z\r\n", "\" id=\"ArialMT-51\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-51\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"xtick_4\">\r\n", " <g id=\"line2d_4\">\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"112.533625\" xlink:href=\"#m3c3b8431d5\" y=\"237.6285\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_4\">\r\n", " <!-- 40 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(107.64 251.427375)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 32.328125 0 \r\n", "L 32.328125 17.140625 \r\n", "L 1.265625 17.140625 \r\n", "L 1.265625 25.203125 \r\n", "L 33.9375 71.578125 \r\n", "L 41.109375 71.578125 \r\n", "L 41.109375 25.203125 \r\n", "L 50.78125 25.203125 \r\n", "L 50.78125 17.140625 \r\n", "L 41.109375 17.140625 \r\n", "L 41.109375 0 \r\n", "z\r\n", "M 32.328125 25.203125 \r\n", "L 32.328125 57.46875 \r\n", "L 9.90625 25.203125 \r\n", "z\r\n", "\" id=\"ArialMT-52\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-52\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"xtick_5\">\r\n", " <g id=\"line2d_5\">\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"146.013625\" xlink:href=\"#m3c3b8431d5\" y=\"237.6285\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_5\">\r\n", " <!-- 50 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(141.12 251.427375)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 4.15625 18.75 \r\n", "L 13.375 19.53125 \r\n", "Q 14.40625 12.796875 18.140625 9.390625 \r\n", "Q 21.875 6 27.15625 6 \r\n", "Q 33.5 6 37.890625 10.78125 \r\n", "Q 42.28125 15.578125 42.28125 23.484375 \r\n", "Q 42.28125 31 38.0625 35.34375 \r\n", "Q 33.84375 39.703125 27 39.703125 \r\n", "Q 22.75 39.703125 19.328125 37.765625 \r\n", "Q 15.921875 35.84375 13.96875 32.765625 \r\n", "L 5.71875 33.84375 \r\n", "L 12.640625 70.609375 \r\n", "L 48.25 70.609375 \r\n", "L 48.25 62.203125 \r\n", "L 19.671875 62.203125 \r\n", "L 15.828125 42.96875 \r\n", "Q 22.265625 47.46875 29.34375 47.46875 \r\n", "Q 38.71875 47.46875 45.15625 40.96875 \r\n", "Q 51.609375 34.46875 51.609375 24.265625 \r\n", "Q 51.609375 14.546875 45.953125 7.46875 \r\n", "Q 39.0625 -1.21875 27.15625 -1.21875 \r\n", "Q 17.390625 -1.21875 11.203125 4.25 \r\n", "Q 5.03125 9.71875 4.15625 18.75 \r\n", "z\r\n", "\" id=\"ArialMT-53\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-53\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"xtick_6\">\r\n", " <g id=\"line2d_6\">\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"179.493625\" xlink:href=\"#m3c3b8431d5\" y=\"237.6285\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_6\">\r\n", " <!-- 60 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(174.6 251.427375)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 49.75 54.046875 \r\n", "L 41.015625 53.375 \r\n", "Q 39.84375 58.546875 37.703125 60.890625 \r\n", "Q 34.125 64.65625 28.90625 64.65625 \r\n", "Q 24.703125 64.65625 21.53125 62.3125 \r\n", "Q 17.390625 59.28125 14.984375 53.46875 \r\n", "Q 12.59375 47.65625 12.5 36.921875 \r\n", "Q 15.671875 41.75 20.265625 44.09375 \r\n", "Q 24.859375 46.4375 29.890625 46.4375 \r\n", "Q 38.671875 46.4375 44.84375 39.96875 \r\n", "Q 51.03125 33.5 51.03125 23.25 \r\n", "Q 51.03125 16.5 48.125 10.71875 \r\n", "Q 45.21875 4.9375 40.140625 1.859375 \r\n", "Q 35.0625 -1.21875 28.609375 -1.21875 \r\n", "Q 17.625 -1.21875 10.6875 6.859375 \r\n", "Q 3.765625 14.9375 3.765625 33.5 \r\n", "Q 3.765625 54.25 11.421875 63.671875 \r\n", "Q 18.109375 71.875 29.4375 71.875 \r\n", "Q 37.890625 71.875 43.28125 67.140625 \r\n", "Q 48.6875 62.40625 49.75 54.046875 \r\n", "z\r\n", "M 13.875 23.1875 \r\n", "Q 13.875 18.65625 15.796875 14.5 \r\n", "Q 17.71875 10.359375 21.1875 8.171875 \r\n", "Q 24.65625 6 28.46875 6 \r\n", "Q 34.03125 6 38.03125 10.484375 \r\n", "Q 42.046875 14.984375 42.046875 22.703125 \r\n", "Q 42.046875 30.125 38.078125 34.390625 \r\n", "Q 34.125 38.671875 28.125 38.671875 \r\n", "Q 22.171875 38.671875 18.015625 34.390625 \r\n", "Q 13.875 30.125 13.875 23.1875 \r\n", "z\r\n", "\" id=\"ArialMT-54\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-54\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"xtick_7\">\r\n", " <g id=\"line2d_7\">\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"212.973625\" xlink:href=\"#m3c3b8431d5\" y=\"237.6285\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_7\">\r\n", " <!-- 70 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(208.08 251.427375)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 4.734375 62.203125 \r\n", "L 4.734375 70.65625 \r\n", "L 51.078125 70.65625 \r\n", "L 51.078125 63.8125 \r\n", "Q 44.234375 56.546875 37.515625 44.484375 \r\n", "Q 30.8125 32.421875 27.15625 19.671875 \r\n", "Q 24.515625 10.6875 23.78125 0 \r\n", "L 14.75 0 \r\n", "Q 14.890625 8.453125 18.0625 20.40625 \r\n", "Q 21.234375 32.375 27.171875 43.484375 \r\n", "Q 33.109375 54.59375 39.796875 62.203125 \r\n", "z\r\n", "\" id=\"ArialMT-55\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-55\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"xtick_8\">\r\n", " <g id=\"line2d_8\">\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"246.453625\" xlink:href=\"#m3c3b8431d5\" y=\"237.6285\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_8\">\r\n", " <!-- 80 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(241.56 251.427375)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 17.671875 38.8125 \r\n", "Q 12.203125 40.828125 9.5625 44.53125 \r\n", "Q 6.9375 48.25 6.9375 53.421875 \r\n", "Q 6.9375 61.234375 12.546875 66.546875 \r\n", "Q 18.171875 71.875 27.484375 71.875 \r\n", "Q 36.859375 71.875 42.578125 66.421875 \r\n", "Q 48.296875 60.984375 48.296875 53.171875 \r\n", "Q 48.296875 48.1875 45.671875 44.5 \r\n", "Q 43.0625 40.828125 37.75 38.8125 \r\n", "Q 44.34375 36.671875 47.78125 31.875 \r\n", "Q 51.21875 27.09375 51.21875 20.453125 \r\n", "Q 51.21875 11.28125 44.71875 5.03125 \r\n", "Q 38.234375 -1.21875 27.640625 -1.21875 \r\n", "Q 17.046875 -1.21875 10.546875 5.046875 \r\n", "Q 4.046875 11.328125 4.046875 20.703125 \r\n", "Q 4.046875 27.6875 7.59375 32.390625 \r\n", "Q 11.140625 37.109375 17.671875 38.8125 \r\n", "z\r\n", "M 15.921875 53.71875 \r\n", "Q 15.921875 48.640625 19.1875 45.40625 \r\n", "Q 22.46875 42.1875 27.6875 42.1875 \r\n", "Q 32.765625 42.1875 36.015625 45.375 \r\n", "Q 39.265625 48.578125 39.265625 53.21875 \r\n", "Q 39.265625 58.0625 35.90625 61.359375 \r\n", "Q 32.5625 64.65625 27.59375 64.65625 \r\n", "Q 22.5625 64.65625 19.234375 61.421875 \r\n", "Q 15.921875 58.203125 15.921875 53.71875 \r\n", "z\r\n", "M 13.09375 20.65625 \r\n", "Q 13.09375 16.890625 14.875 13.375 \r\n", "Q 16.65625 9.859375 20.171875 7.921875 \r\n", "Q 23.6875 6 27.734375 6 \r\n", "Q 34.03125 6 38.125 10.046875 \r\n", "Q 42.234375 14.109375 42.234375 20.359375 \r\n", "Q 42.234375 26.703125 38.015625 30.859375 \r\n", "Q 33.796875 35.015625 27.4375 35.015625 \r\n", "Q 21.234375 35.015625 17.15625 30.90625 \r\n", "Q 13.09375 26.8125 13.09375 20.65625 \r\n", "z\r\n", "\" id=\"ArialMT-56\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-56\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"xtick_9\">\r\n", " <g id=\"line2d_9\">\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"279.933625\" xlink:href=\"#m3c3b8431d5\" y=\"237.6285\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_9\">\r\n", " <!-- 90 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(275.04 251.427375)scale(0.088 -0.088)\">\r\n", " <defs>\r\n", " <path d=\"M 5.46875 16.546875 \r\n", "L 13.921875 17.328125 \r\n", "Q 14.984375 11.375 18.015625 8.6875 \r\n", "Q 21.046875 6 25.78125 6 \r\n", "Q 29.828125 6 32.875 7.859375 \r\n", "Q 35.9375 9.71875 37.890625 12.8125 \r\n", "Q 39.84375 15.921875 41.15625 21.1875 \r\n", "Q 42.484375 26.46875 42.484375 31.9375 \r\n", "Q 42.484375 32.515625 42.4375 33.6875 \r\n", "Q 39.796875 29.5 35.234375 26.875 \r\n", "Q 30.671875 24.265625 25.34375 24.265625 \r\n", "Q 16.453125 24.265625 10.296875 30.703125 \r\n", "Q 4.15625 37.15625 4.15625 47.703125 \r\n", "Q 4.15625 58.59375 10.578125 65.234375 \r\n", "Q 17 71.875 26.65625 71.875 \r\n", "Q 33.640625 71.875 39.421875 68.109375 \r\n", "Q 45.21875 64.359375 48.21875 57.390625 \r\n", "Q 51.21875 50.4375 51.21875 37.25 \r\n", "Q 51.21875 23.53125 48.234375 15.40625 \r\n", "Q 45.265625 7.28125 39.375 3.03125 \r\n", "Q 33.5 -1.21875 25.59375 -1.21875 \r\n", "Q 17.1875 -1.21875 11.859375 3.4375 \r\n", "Q 6.546875 8.109375 5.46875 16.546875 \r\n", "z\r\n", "M 41.453125 48.140625 \r\n", "Q 41.453125 55.71875 37.421875 60.15625 \r\n", "Q 33.40625 64.59375 27.734375 64.59375 \r\n", "Q 21.875 64.59375 17.53125 59.8125 \r\n", "Q 13.1875 55.03125 13.1875 47.40625 \r\n", "Q 13.1875 40.578125 17.3125 36.296875 \r\n", "Q 21.4375 32.03125 27.484375 32.03125 \r\n", "Q 33.59375 32.03125 37.515625 36.296875 \r\n", "Q 41.453125 40.578125 41.453125 48.140625 \r\n", "z\r\n", "\" id=\"ArialMT-57\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-57\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"xtick_10\">\r\n", " <g id=\"line2d_10\">\r\n", " <g>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"313.413625\" xlink:href=\"#m3c3b8431d5\" y=\"237.6285\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_10\">\r\n", " <!-- 100 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(306.073188 251.427375)scale(0.088 -0.088)\">\r\n", " <use xlink:href=\"#ArialMT-49\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " <use x=\"111.230469\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_11\">\r\n", " <!-- Age -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(170.953375 264.047875)scale(0.096 -0.096)\">\r\n", " <defs>\r\n", " <path d=\"M -0.140625 0 \r\n", "L 27.34375 71.578125 \r\n", "L 37.546875 71.578125 \r\n", "L 66.84375 0 \r\n", "L 56.0625 0 \r\n", "L 47.703125 21.6875 \r\n", "L 17.78125 21.6875 \r\n", "L 9.90625 0 \r\n", "z\r\n", "M 20.515625 29.390625 \r\n", "L 44.78125 29.390625 \r\n", "L 37.3125 49.21875 \r\n", "Q 33.890625 58.25 32.234375 64.0625 \r\n", "Q 30.859375 57.171875 28.375 50.390625 \r\n", "z\r\n", "\" id=\"ArialMT-65\"/>\r\n", " <path d=\"M 4.984375 -4.296875 \r\n", "L 13.53125 -5.5625 \r\n", "Q 14.0625 -9.515625 16.5 -11.328125 \r\n", "Q 19.78125 -13.765625 25.4375 -13.765625 \r\n", "Q 31.546875 -13.765625 34.859375 -11.328125 \r\n", "Q 38.1875 -8.890625 39.359375 -4.5 \r\n", "Q 40.046875 -1.8125 39.984375 6.78125 \r\n", "Q 34.234375 0 25.640625 0 \r\n", "Q 14.9375 0 9.078125 7.71875 \r\n", "Q 3.21875 15.4375 3.21875 26.21875 \r\n", "Q 3.21875 33.640625 5.90625 39.90625 \r\n", "Q 8.59375 46.1875 13.6875 49.609375 \r\n", "Q 18.796875 53.03125 25.6875 53.03125 \r\n", "Q 34.859375 53.03125 40.828125 45.609375 \r\n", "L 40.828125 51.859375 \r\n", "L 48.921875 51.859375 \r\n", "L 48.921875 7.03125 \r\n", "Q 48.921875 -5.078125 46.453125 -10.125 \r\n", "Q 44 -15.1875 38.640625 -18.109375 \r\n", "Q 33.296875 -21.046875 25.484375 -21.046875 \r\n", "Q 16.21875 -21.046875 10.5 -16.875 \r\n", "Q 4.78125 -12.703125 4.984375 -4.296875 \r\n", "z\r\n", "M 12.25 26.859375 \r\n", "Q 12.25 16.65625 16.296875 11.96875 \r\n", "Q 20.359375 7.28125 26.46875 7.28125 \r\n", "Q 32.515625 7.28125 36.609375 11.9375 \r\n", "Q 40.71875 16.609375 40.71875 26.5625 \r\n", "Q 40.71875 36.078125 36.5 40.90625 \r\n", "Q 32.28125 45.75 26.3125 45.75 \r\n", "Q 20.453125 45.75 16.34375 40.984375 \r\n", "Q 12.25 36.234375 12.25 26.859375 \r\n", "z\r\n", "\" id=\"ArialMT-103\"/>\r\n", " <path d=\"M 42.09375 16.703125 \r\n", "L 51.171875 15.578125 \r\n", "Q 49.03125 7.625 43.21875 3.21875 \r\n", "Q 37.40625 -1.171875 28.375 -1.171875 \r\n", "Q 17 -1.171875 10.328125 5.828125 \r\n", "Q 3.65625 12.84375 3.65625 25.484375 \r\n", "Q 3.65625 38.578125 10.390625 45.796875 \r\n", "Q 17.140625 53.03125 27.875 53.03125 \r\n", "Q 38.28125 53.03125 44.875 45.953125 \r\n", "Q 51.46875 38.875 51.46875 26.03125 \r\n", "Q 51.46875 25.25 51.421875 23.6875 \r\n", "L 12.75 23.6875 \r\n", "Q 13.234375 15.140625 17.578125 10.59375 \r\n", "Q 21.921875 6.0625 28.421875 6.0625 \r\n", "Q 33.25 6.0625 36.671875 8.59375 \r\n", "Q 40.09375 11.140625 42.09375 16.703125 \r\n", "z\r\n", "M 13.234375 30.90625 \r\n", "L 42.1875 30.90625 \r\n", "Q 41.609375 37.453125 38.875 40.71875 \r\n", "Q 34.671875 45.796875 27.984375 45.796875 \r\n", "Q 21.921875 45.796875 17.796875 41.75 \r\n", "Q 13.671875 37.703125 13.234375 30.90625 \r\n", "z\r\n", "\" id=\"ArialMT-101\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-65\"/>\r\n", " <use x=\"66.699219\" xlink:href=\"#ArialMT-103\"/>\r\n", " <use x=\"122.314453\" xlink:href=\"#ArialMT-101\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"line2d_11\">\r\n", " <path clip-path=\"url(#p6f761afcbf)\" d=\"M -1 237.446681 \r\n", "L 1.423975 237.440196 \r\n", "L 4.26646 237.390681 \r\n", "L 7.108944 237.282981 \r\n", "L 9.951428 237.092337 \r\n", "L 12.793913 236.761178 \r\n", "L 15.636397 236.189628 \r\n", "L 18.478882 235.274974 \r\n", "L 21.321366 234.001658 \r\n", "L 24.16385 232.514304 \r\n", "L 27.006335 231.069781 \r\n", "L 29.848819 229.833584 \r\n", "L 32.691304 228.624913 \r\n", "L 35.533788 226.789373 \r\n", "L 38.376273 223.323642 \r\n", "L 41.218757 217.268406 \r\n", "L 44.061241 208.270449 \r\n", "L 46.903726 197.030281 \r\n", "L 49.74621 185.182867 \r\n", "L 52.588695 174.357249 \r\n", "L 55.431179 164.858038 \r\n", "L 58.273663 155.039365 \r\n", "L 61.116148 142.194006 \r\n", "L 63.958632 124.611054 \r\n", "L 66.801117 103.307498 \r\n", "L 69.643601 81.92311 \r\n", "L 72.486085 64.63465 \r\n", "L 75.32857 53.641602 \r\n", "L 78.171054 48.166944 \r\n", "L 81.013539 45.5156 \r\n", "L 83.856023 43.008041 \r\n", "L 86.698508 39.316274 \r\n", "L 89.540992 34.772826 \r\n", "L 92.383476 31.059272 \r\n", "L 95.225961 30.54277 \r\n", "L 98.068445 35.170087 \r\n", "L 100.91093 45.120929 \r\n", "L 103.753414 58.086183 \r\n", "L 106.595898 70.05913 \r\n", "L 109.438383 77.497473 \r\n", "L 112.280867 79.451765 \r\n", "L 115.123352 78.062976 \r\n", "L 117.965836 77.092631 \r\n", "L 120.80832 79.75033 \r\n", "L 123.650805 87.456094 \r\n", "L 126.493289 100.012664 \r\n", "L 129.335774 116.336408 \r\n", "L 132.178258 134.840617 \r\n", "L 135.020742 153.524129 \r\n", "L 137.863227 170.324262 \r\n", "L 140.705711 183.765887 \r\n", "L 143.548196 193.336502 \r\n", "L 146.39068 199.241232 \r\n", "L 149.233165 201.868423 \r\n", "L 152.075649 201.54954 \r\n", "L 154.918133 198.819497 \r\n", "L 157.760618 194.830669 \r\n", "L 160.603102 191.3463 \r\n", "L 163.445587 190.054486 \r\n", "L 166.288071 191.600214 \r\n", "L 169.130555 195.128798 \r\n", "L 171.97304 198.790571 \r\n", "L 174.815524 200.835242 \r\n", "L 177.658009 200.420501 \r\n", "L 180.500493 197.55857 \r\n", "L 183.342977 192.474171 \r\n", "L 186.185462 185.294233 \r\n", "L 189.027946 176.685319 \r\n", "L 191.870431 168.824872 \r\n", "L 194.712915 165.225441 \r\n", "L 197.5554 168.820994 \r\n", "L 200.397884 179.745939 \r\n", "L 203.240368 194.94674 \r\n", "L 206.082853 210.067408 \r\n", "L 208.925337 221.896928 \r\n", "L 211.767822 229.478809 \r\n", "L 214.610306 233.57442 \r\n", "L 217.45279 235.500517 \r\n", "L 220.295275 236.330074 \r\n", "L 223.137759 236.68908 \r\n", "L 225.980244 236.876105 \r\n", "L 228.822728 237.017753 \r\n", "L 231.665212 237.157677 \r\n", "L 234.507697 237.29715 \r\n", "L 237.350181 237.420304 \r\n", "L 240.192666 237.513142 \r\n", "L 243.03515 237.572532 \r\n", "L 245.877635 237.604827 \r\n", "L 248.720119 237.619796 \r\n", "L 251.562603 237.625724 \r\n", "\" style=\"fill:none;stroke:#e0675a;stroke-linecap:round;stroke-width:1.2;\"/>\r\n", " </g>\r\n", " <g id=\"line2d_12\">\r\n", " <path clip-path=\"url(#p6f761afcbf)\" d=\"M -1 237.601244 \r\n", "L 0.9772 237.600107 \r\n", "L 4.30997 237.575728 \r\n", "L 7.642741 237.514912 \r\n", "L 10.975511 237.433365 \r\n", "L 14.308281 237.361003 \r\n", "L 17.641051 237.274321 \r\n", "L 20.973822 237.055478 \r\n", "L 24.306592 236.597379 \r\n", "L 27.639362 236.031213 \r\n", "L 30.972132 235.568274 \r\n", "L 34.304903 234.986363 \r\n", "L 37.637673 233.697635 \r\n", "L 40.970443 231.251313 \r\n", "L 44.303213 227.496182 \r\n", "L 47.635984 222.182943 \r\n", "L 50.968754 214.508864 \r\n", "L 54.301524 203.894313 \r\n", "L 57.634294 190.919175 \r\n", "L 60.967065 176.53089 \r\n", "L 64.299835 161.296486 \r\n", "L 67.632605 145.611178 \r\n", "L 70.965375 129.585081 \r\n", "L 74.298146 113.523605 \r\n", "L 77.630916 99.480679 \r\n", "L 80.963686 89.48343 \r\n", "L 84.296456 82.711685 \r\n", "L 87.629227 78.821528 \r\n", "L 90.961997 78.547622 \r\n", "L 94.294767 79.740473 \r\n", "L 97.627537 80.602282 \r\n", "L 100.960308 82.493303 \r\n", "L 104.293078 85.572903 \r\n", "L 107.625848 87.943754 \r\n", "L 110.958618 89.830686 \r\n", "L 114.291389 93.330626 \r\n", "L 117.624159 98.017097 \r\n", "L 120.956929 101.540727 \r\n", "L 124.289699 103.072976 \r\n", "L 127.62247 103.015066 \r\n", "L 130.95524 103.416023 \r\n", "L 134.28801 107.488606 \r\n", "L 137.62078 114.834801 \r\n", "L 140.953551 122.61233 \r\n", "L 144.286321 131.230401 \r\n", "L 147.619091 140.664516 \r\n", "L 150.951861 146.867525 \r\n", "L 154.284632 148.972045 \r\n", "L 157.617402 151.314903 \r\n", "L 160.950172 155.831018 \r\n", "L 164.282942 160.001416 \r\n", "L 167.615713 162.588895 \r\n", "L 170.948483 165.978841 \r\n", "L 174.281253 171.730282 \r\n", "L 177.614023 178.115141 \r\n", "L 180.946794 183.014006 \r\n", "L 184.279564 185.58568 \r\n", "L 187.612334 186.457598 \r\n", "L 190.945104 187.283638 \r\n", "L 194.277875 188.833979 \r\n", "L 197.610645 190.537898 \r\n", "L 200.943415 191.586951 \r\n", "L 204.276185 193.078335 \r\n", "L 207.608956 197.817119 \r\n", "L 210.941726 205.802432 \r\n", "L 214.274496 213.332097 \r\n", "L 217.607266 217.774601 \r\n", "L 220.940037 219.571057 \r\n", "L 224.272807 220.036401 \r\n", "L 227.605577 220.071607 \r\n", "L 230.938347 220.155879 \r\n", "L 234.271118 220.320928 \r\n", "L 237.603888 220.650912 \r\n", "L 240.936658 221.514096 \r\n", "L 244.269428 222.978925 \r\n", "L 247.602199 224.460666 \r\n", "L 250.934969 225.136469 \r\n", "L 254.267739 224.822581 \r\n", "L 257.600509 224.590716 \r\n", "L 260.93328 225.52629 \r\n", "L 264.26605 226.743363 \r\n", "L 267.59882 226.830197 \r\n", "L 270.93159 226.711069 \r\n", "L 274.264361 228.416088 \r\n", "L 277.597131 231.728711 \r\n", "L 280.929901 234.648392 \r\n", "L 284.262671 236.277693 \r\n", "L 287.595441 237.058459 \r\n", "L 290.928212 237.435274 \r\n", "L 294.260982 237.583204 \r\n", "L 297.593752 237.621667 \r\n", "\" style=\"fill:none;stroke:#5ca0af;stroke-linecap:round;stroke-width:1.2;\"/>\r\n", " </g>\r\n", " <g id=\"line2d_13\">\r\n", " <path clip-path=\"url(#p6f761afcbf)\" d=\"M 14.543813 237.623909 \r\n", "L 17.943769 237.614484 \r\n", "L 21.343724 237.589269 \r\n", "L 24.74368 237.527638 \r\n", "L 28.143636 237.389807 \r\n", "L 31.543592 237.107126 \r\n", "L 34.943548 236.573691 \r\n", "L 38.343503 235.643177 \r\n", "L 41.743459 234.133338 \r\n", "L 45.143415 231.836833 \r\n", "L 48.543371 228.533871 \r\n", "L 51.943327 224.003667 \r\n", "L 55.343282 218.038482 \r\n", "L 58.743238 210.470766 \r\n", "L 62.143194 201.223049 \r\n", "L 65.54315 190.378029 \r\n", "L 68.943106 178.246018 \r\n", "L 72.343061 165.388499 \r\n", "L 75.743017 152.55513 \r\n", "L 79.142973 140.521496 \r\n", "L 82.542929 129.8738 \r\n", "L 85.942885 120.842678 \r\n", "L 89.34284 113.291786 \r\n", "L 92.742796 106.893084 \r\n", "L 96.142752 101.403583 \r\n", "L 99.542708 96.878575 \r\n", "L 102.942664 93.680855 \r\n", "L 106.342619 92.268165 \r\n", "L 109.742575 92.879872 \r\n", "L 113.142531 95.304467 \r\n", "L 116.542487 98.860796 \r\n", "L 119.942443 102.613547 \r\n", "L 123.342398 105.735219 \r\n", "L 126.742354 107.86005 \r\n", "L 130.14231 109.263593 \r\n", "L 133.542266 110.760887 \r\n", "L 136.942222 113.348515 \r\n", "L 140.342177 117.76327 \r\n", "L 143.742133 124.186307 \r\n", "L 147.142089 132.226526 \r\n", "L 150.542045 141.135792 \r\n", "L 153.942001 150.086564 \r\n", "L 157.341956 158.366639 \r\n", "L 160.741912 165.464453 \r\n", "L 164.141868 171.105631 \r\n", "L 167.541824 175.288452 \r\n", "L 170.94178 178.296908 \r\n", "L 174.341735 180.637186 \r\n", "L 177.741691 182.885156 \r\n", "L 181.141647 185.503299 \r\n", "L 184.541603 188.713843 \r\n", "L 187.941559 192.477258 \r\n", "L 191.341515 196.560204 \r\n", "L 194.74147 200.637821 \r\n", "L 198.141426 204.380733 \r\n", "L 201.541382 207.507901 \r\n", "L 204.941338 209.814343 \r\n", "L 208.341294 211.193439 \r\n", "L 211.741249 211.666743 \r\n", "L 215.141205 211.41514 \r\n", "L 218.541161 210.78375 \r\n", "L 221.941117 210.226833 \r\n", "L 225.341073 210.184886 \r\n", "L 228.741028 210.937123 \r\n", "L 232.140984 212.508544 \r\n", "L 235.54094 214.689451 \r\n", "L 238.940896 217.152001 \r\n", "L 242.340852 219.582741 \r\n", "L 245.740807 221.748448 \r\n", "L 249.140763 223.470258 \r\n", "L 252.540719 224.543176 \r\n", "L 255.940675 224.662612 \r\n", "L 259.340631 223.411479 \r\n", "L 262.740586 220.343192 \r\n", "L 266.140542 215.165997 \r\n", "L 269.540498 207.976579 \r\n", "L 272.940454 199.423153 \r\n", "L 276.34041 190.664639 \r\n", "L 279.740365 183.083392 \r\n", "L 283.140321 177.865451 \r\n", "L 286.540277 175.663604 \r\n", "L 289.940233 176.509679 \r\n", "L 293.340189 179.975202 \r\n", "L 296.740144 185.430565 \r\n", "L 300.1401 192.235305 \r\n", "L 303.540056 199.795335 \r\n", "L 306.940012 207.540758 \r\n", "L 310.339968 214.917199 \r\n", "L 313.739923 221.437168 \r\n", "L 317.139879 226.76623 \r\n", "L 320.539835 230.783658 \r\n", "L 323.939791 233.576246 \r\n", "L 327.339747 235.370223 \r\n", "L 330.739702 236.440297 \r\n", "L 334.139658 237.0367 \r\n", "L 337.539614 237.349275 \r\n", "L 340.93957 237.503973 \r\n", "L 344.339526 237.576281 \r\n", "L 347.739481 237.60806 \r\n", "L 351.139437 237.621091 \r\n", "\" style=\"fill:none;stroke:#edde7e;stroke-linecap:round;stroke-width:1.2;\"/>\r\n", " </g>\r\n", " <g id=\"line2d_14\">\r\n", " <path clip-path=\"url(#p6f761afcbf)\" d=\"M 89.097625 237.6285 \r\n", "L 89.097625 24.5373 \r\n", "\" style=\"fill:none;stroke:#211c47;stroke-dasharray:1.2,1.98;stroke-dashoffset:0;stroke-width:1.2;\"/>\r\n", " <defs>\r\n", " <path d=\"M -2.4 2.4 \r\n", "L 2.4 -2.4 \r\n", "M -2.4 -2.4 \r\n", "L 2.4 2.4 \r\n", "\" id=\"m6aa43a5aa0\" style=\"stroke:#211c47;\"/>\r\n", " </defs>\r\n", " <g clip-path=\"url(#p6f761afcbf)\">\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"89.097625\" xlink:href=\"#m6aa43a5aa0\" y=\"237.6285\"/>\r\n", " <use style=\"fill:#211c47;stroke:#211c47;\" x=\"89.097625\" xlink:href=\"#m6aa43a5aa0\" y=\"24.5373\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"patch_3\">\r\n", " <path d=\"M 12.093625 237.6285 \r\n", "L 346.893625 237.6285 \r\n", "\" style=\"fill:none;stroke:#211c47;stroke-linecap:square;stroke-linejoin:miter;\"/>\r\n", " </g>\r\n", " <g id=\"text_12\">\r\n", " <!-- 33 -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(72.357625 27.705844)scale(0.096 -0.096)\">\r\n", " <use xlink:href=\"#ArialMT-51\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-51\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"text_13\">\r\n", " <!-- Amount of Artworks by Age: century -->\r\n", " <g style=\"fill:#211c47;\" transform=\"translate(194.826625 14.1885)scale(0.096 -0.096)\">\r\n", " <defs>\r\n", " <path d=\"M 6.59375 0 \r\n", "L 6.59375 51.859375 \r\n", "L 14.453125 51.859375 \r\n", "L 14.453125 44.578125 \r\n", "Q 16.890625 48.390625 20.9375 50.703125 \r\n", "Q 25 53.03125 30.171875 53.03125 \r\n", "Q 35.9375 53.03125 39.625 50.640625 \r\n", "Q 43.3125 48.25 44.828125 43.953125 \r\n", "Q 50.984375 53.03125 60.84375 53.03125 \r\n", "Q 68.5625 53.03125 72.703125 48.75 \r\n", "Q 76.859375 44.484375 76.859375 35.59375 \r\n", "L 76.859375 0 \r\n", "L 68.109375 0 \r\n", "L 68.109375 32.671875 \r\n", "Q 68.109375 37.9375 67.25 40.25 \r\n", "Q 66.40625 42.578125 64.15625 43.984375 \r\n", "Q 61.921875 45.40625 58.890625 45.40625 \r\n", "Q 53.421875 45.40625 49.796875 41.765625 \r\n", "Q 46.1875 38.140625 46.1875 30.125 \r\n", "L 46.1875 0 \r\n", "L 37.40625 0 \r\n", "L 37.40625 33.6875 \r\n", "Q 37.40625 39.546875 35.25 42.46875 \r\n", "Q 33.109375 45.40625 28.21875 45.40625 \r\n", "Q 24.515625 45.40625 21.359375 43.453125 \r\n", "Q 18.21875 41.5 16.796875 37.734375 \r\n", "Q 15.375 33.984375 15.375 26.90625 \r\n", "L 15.375 0 \r\n", "z\r\n", "\" id=\"ArialMT-109\"/>\r\n", " <path d=\"M 3.328125 25.921875 \r\n", "Q 3.328125 40.328125 11.328125 47.265625 \r\n", "Q 18.015625 53.03125 27.640625 53.03125 \r\n", "Q 38.328125 53.03125 45.109375 46.015625 \r\n", "Q 51.90625 39.015625 51.90625 26.65625 \r\n", "Q 51.90625 16.65625 48.90625 10.90625 \r\n", "Q 45.90625 5.171875 40.15625 2 \r\n", "Q 34.421875 -1.171875 27.640625 -1.171875 \r\n", "Q 16.75 -1.171875 10.03125 5.8125 \r\n", "Q 3.328125 12.796875 3.328125 25.921875 \r\n", "z\r\n", "M 12.359375 25.921875 \r\n", "Q 12.359375 15.96875 16.703125 11.015625 \r\n", "Q 21.046875 6.0625 27.640625 6.0625 \r\n", "Q 34.1875 6.0625 38.53125 11.03125 \r\n", "Q 42.875 16.015625 42.875 26.21875 \r\n", "Q 42.875 35.84375 38.5 40.796875 \r\n", "Q 34.125 45.75 27.640625 45.75 \r\n", "Q 21.046875 45.75 16.703125 40.8125 \r\n", "Q 12.359375 35.890625 12.359375 25.921875 \r\n", "z\r\n", "\" id=\"ArialMT-111\"/>\r\n", " <path d=\"M 40.578125 0 \r\n", "L 40.578125 7.625 \r\n", "Q 34.515625 -1.171875 24.125 -1.171875 \r\n", "Q 19.53125 -1.171875 15.546875 0.578125 \r\n", "Q 11.578125 2.34375 9.640625 5 \r\n", "Q 7.71875 7.671875 6.9375 11.53125 \r\n", "Q 6.390625 14.109375 6.390625 19.734375 \r\n", "L 6.390625 51.859375 \r\n", "L 15.1875 51.859375 \r\n", "L 15.1875 23.09375 \r\n", "Q 15.1875 16.21875 15.71875 13.8125 \r\n", "Q 16.546875 10.359375 19.234375 8.375 \r\n", "Q 21.921875 6.390625 25.875 6.390625 \r\n", "Q 29.828125 6.390625 33.296875 8.421875 \r\n", "Q 36.765625 10.453125 38.203125 13.9375 \r\n", "Q 39.65625 17.4375 39.65625 24.078125 \r\n", "L 39.65625 51.859375 \r\n", "L 48.4375 51.859375 \r\n", "L 48.4375 0 \r\n", "z\r\n", "\" id=\"ArialMT-117\"/>\r\n", " <path d=\"M 6.59375 0 \r\n", "L 6.59375 51.859375 \r\n", "L 14.5 51.859375 \r\n", "L 14.5 44.484375 \r\n", "Q 20.21875 53.03125 31 53.03125 \r\n", "Q 35.6875 53.03125 39.625 51.34375 \r\n", "Q 43.5625 49.65625 45.515625 46.921875 \r\n", "Q 47.46875 44.1875 48.25 40.4375 \r\n", "Q 48.734375 37.984375 48.734375 31.890625 \r\n", "L 48.734375 0 \r\n", "L 39.9375 0 \r\n", "L 39.9375 31.546875 \r\n", "Q 39.9375 36.921875 38.90625 39.578125 \r\n", "Q 37.890625 42.234375 35.28125 43.8125 \r\n", "Q 32.671875 45.40625 29.15625 45.40625 \r\n", "Q 23.53125 45.40625 19.453125 41.84375 \r\n", "Q 15.375 38.28125 15.375 28.328125 \r\n", "L 15.375 0 \r\n", "z\r\n", "\" id=\"ArialMT-110\"/>\r\n", " <path d=\"M 25.78125 7.859375 \r\n", "L 27.046875 0.09375 \r\n", "Q 23.34375 -0.6875 20.40625 -0.6875 \r\n", "Q 15.625 -0.6875 12.984375 0.828125 \r\n", "Q 10.359375 2.34375 9.28125 4.8125 \r\n", "Q 8.203125 7.28125 8.203125 15.1875 \r\n", "L 8.203125 45.015625 \r\n", "L 1.765625 45.015625 \r\n", "L 1.765625 51.859375 \r\n", "L 8.203125 51.859375 \r\n", "L 8.203125 64.703125 \r\n", "L 16.9375 69.96875 \r\n", "L 16.9375 51.859375 \r\n", "L 25.78125 51.859375 \r\n", "L 25.78125 45.015625 \r\n", "L 16.9375 45.015625 \r\n", "L 16.9375 14.703125 \r\n", "Q 16.9375 10.9375 17.40625 9.859375 \r\n", "Q 17.875 8.796875 18.921875 8.15625 \r\n", "Q 19.96875 7.515625 21.921875 7.515625 \r\n", "Q 23.390625 7.515625 25.78125 7.859375 \r\n", "z\r\n", "\" id=\"ArialMT-116\"/>\r\n", " <path id=\"ArialMT-32\"/>\r\n", " <path d=\"M 8.6875 0 \r\n", "L 8.6875 45.015625 \r\n", "L 0.921875 45.015625 \r\n", "L 0.921875 51.859375 \r\n", "L 8.6875 51.859375 \r\n", "L 8.6875 57.375 \r\n", "Q 8.6875 62.59375 9.625 65.140625 \r\n", "Q 10.890625 68.5625 14.078125 70.671875 \r\n", "Q 17.28125 72.796875 23.046875 72.796875 \r\n", "Q 26.765625 72.796875 31.25 71.921875 \r\n", "L 29.9375 64.265625 \r\n", "Q 27.203125 64.75 24.75 64.75 \r\n", "Q 20.75 64.75 19.09375 63.03125 \r\n", "Q 17.4375 61.328125 17.4375 56.640625 \r\n", "L 17.4375 51.859375 \r\n", "L 27.546875 51.859375 \r\n", "L 27.546875 45.015625 \r\n", "L 17.4375 45.015625 \r\n", "L 17.4375 0 \r\n", "z\r\n", "\" id=\"ArialMT-102\"/>\r\n", " <path d=\"M 6.5 0 \r\n", "L 6.5 51.859375 \r\n", "L 14.40625 51.859375 \r\n", "L 14.40625 44 \r\n", "Q 17.4375 49.515625 20 51.265625 \r\n", "Q 22.5625 53.03125 25.640625 53.03125 \r\n", "Q 30.078125 53.03125 34.671875 50.203125 \r\n", "L 31.640625 42.046875 \r\n", "Q 28.421875 43.953125 25.203125 43.953125 \r\n", "Q 22.3125 43.953125 20.015625 42.21875 \r\n", "Q 17.71875 40.484375 16.75 37.40625 \r\n", "Q 15.28125 32.71875 15.28125 27.15625 \r\n", "L 15.28125 0 \r\n", "z\r\n", "\" id=\"ArialMT-114\"/>\r\n", " <path d=\"M 16.15625 0 \r\n", "L 0.296875 51.859375 \r\n", "L 9.375 51.859375 \r\n", "L 17.625 21.921875 \r\n", "L 20.703125 10.796875 \r\n", "Q 20.90625 11.625 23.390625 21.484375 \r\n", "L 31.640625 51.859375 \r\n", "L 40.671875 51.859375 \r\n", "L 48.4375 21.78125 \r\n", "L 51.03125 11.859375 \r\n", "L 54 21.875 \r\n", "L 62.890625 51.859375 \r\n", "L 71.4375 51.859375 \r\n", "L 55.21875 0 \r\n", "L 46.09375 0 \r\n", "L 37.84375 31.0625 \r\n", "L 35.84375 39.890625 \r\n", "L 25.34375 0 \r\n", "z\r\n", "\" id=\"ArialMT-119\"/>\r\n", " <path d=\"M 6.640625 0 \r\n", "L 6.640625 71.578125 \r\n", "L 15.4375 71.578125 \r\n", "L 15.4375 30.765625 \r\n", "L 36.234375 51.859375 \r\n", "L 47.609375 51.859375 \r\n", "L 27.78125 32.625 \r\n", "L 49.609375 0 \r\n", "L 38.765625 0 \r\n", "L 21.625 26.515625 \r\n", "L 15.4375 20.5625 \r\n", "L 15.4375 0 \r\n", "z\r\n", "\" id=\"ArialMT-107\"/>\r\n", " <path d=\"M 3.078125 15.484375 \r\n", "L 11.765625 16.84375 \r\n", "Q 12.5 11.625 15.84375 8.84375 \r\n", "Q 19.1875 6.0625 25.203125 6.0625 \r\n", "Q 31.25 6.0625 34.171875 8.515625 \r\n", "Q 37.109375 10.984375 37.109375 14.3125 \r\n", "Q 37.109375 17.28125 34.515625 19 \r\n", "Q 32.71875 20.171875 25.53125 21.96875 \r\n", "Q 15.875 24.421875 12.140625 26.203125 \r\n", "Q 8.40625 27.984375 6.46875 31.125 \r\n", "Q 4.546875 34.28125 4.546875 38.09375 \r\n", "Q 4.546875 41.546875 6.125 44.5 \r\n", "Q 7.71875 47.46875 10.453125 49.421875 \r\n", "Q 12.5 50.921875 16.03125 51.96875 \r\n", "Q 19.578125 53.03125 23.640625 53.03125 \r\n", "Q 29.734375 53.03125 34.34375 51.265625 \r\n", "Q 38.96875 49.515625 41.15625 46.5 \r\n", "Q 43.359375 43.5 44.1875 38.484375 \r\n", "L 35.59375 37.3125 \r\n", "Q 35.015625 41.3125 32.203125 43.546875 \r\n", "Q 29.390625 45.796875 24.265625 45.796875 \r\n", "Q 18.21875 45.796875 15.625 43.796875 \r\n", "Q 13.03125 41.796875 13.03125 39.109375 \r\n", "Q 13.03125 37.40625 14.109375 36.03125 \r\n", "Q 15.1875 34.625 17.484375 33.6875 \r\n", "Q 18.796875 33.203125 25.25 31.453125 \r\n", "Q 34.578125 28.953125 38.25 27.359375 \r\n", "Q 41.9375 25.78125 44.03125 22.75 \r\n", "Q 46.140625 19.734375 46.140625 15.234375 \r\n", "Q 46.140625 10.84375 43.578125 6.953125 \r\n", "Q 41.015625 3.078125 36.171875 0.953125 \r\n", "Q 31.34375 -1.171875 25.25 -1.171875 \r\n", "Q 15.140625 -1.171875 9.84375 3.03125 \r\n", "Q 4.546875 7.234375 3.078125 15.484375 \r\n", "z\r\n", "\" id=\"ArialMT-115\"/>\r\n", " <path d=\"M 14.703125 0 \r\n", "L 6.546875 0 \r\n", "L 6.546875 71.578125 \r\n", "L 15.328125 71.578125 \r\n", "L 15.328125 46.046875 \r\n", "Q 20.90625 53.03125 29.546875 53.03125 \r\n", "Q 34.328125 53.03125 38.59375 51.09375 \r\n", "Q 42.875 49.171875 45.625 45.671875 \r\n", "Q 48.390625 42.1875 49.953125 37.25 \r\n", "Q 51.515625 32.328125 51.515625 26.703125 \r\n", "Q 51.515625 13.375 44.921875 6.09375 \r\n", "Q 38.328125 -1.171875 29.109375 -1.171875 \r\n", "Q 19.921875 -1.171875 14.703125 6.5 \r\n", "z\r\n", "M 14.59375 26.3125 \r\n", "Q 14.59375 17 17.140625 12.84375 \r\n", "Q 21.296875 6.0625 28.375 6.0625 \r\n", "Q 34.125 6.0625 38.328125 11.0625 \r\n", "Q 42.53125 16.0625 42.53125 25.984375 \r\n", "Q 42.53125 36.140625 38.5 40.96875 \r\n", "Q 34.46875 45.796875 28.765625 45.796875 \r\n", "Q 23 45.796875 18.796875 40.796875 \r\n", "Q 14.59375 35.796875 14.59375 26.3125 \r\n", "z\r\n", "\" id=\"ArialMT-98\"/>\r\n", " <path d=\"M 6.203125 -19.96875 \r\n", "L 5.21875 -11.71875 \r\n", "Q 8.109375 -12.5 10.25 -12.5 \r\n", "Q 13.1875 -12.5 14.9375 -11.515625 \r\n", "Q 16.703125 -10.546875 17.828125 -8.796875 \r\n", "Q 18.65625 -7.46875 20.515625 -2.25 \r\n", "Q 20.75 -1.515625 21.296875 -0.09375 \r\n", "L 1.609375 51.859375 \r\n", "L 11.078125 51.859375 \r\n", "L 21.875 21.828125 \r\n", "Q 23.96875 16.109375 25.640625 9.8125 \r\n", "Q 27.15625 15.875 29.25 21.625 \r\n", "L 40.328125 51.859375 \r\n", "L 49.125 51.859375 \r\n", "L 29.390625 -0.875 \r\n", "Q 26.21875 -9.421875 24.46875 -12.640625 \r\n", "Q 22.125 -17 19.09375 -19.015625 \r\n", "Q 16.0625 -21.046875 11.859375 -21.046875 \r\n", "Q 9.328125 -21.046875 6.203125 -19.96875 \r\n", "z\r\n", "\" id=\"ArialMT-121\"/>\r\n", " <path d=\"M 9.03125 41.84375 \r\n", "L 9.03125 51.859375 \r\n", "L 19.046875 51.859375 \r\n", "L 19.046875 41.84375 \r\n", "z\r\n", "M 9.03125 0 \r\n", "L 9.03125 10.015625 \r\n", "L 19.046875 10.015625 \r\n", "L 19.046875 0 \r\n", "z\r\n", "\" id=\"ArialMT-58\"/>\r\n", " <path d=\"M 40.4375 19 \r\n", "L 49.078125 17.875 \r\n", "Q 47.65625 8.9375 41.8125 3.875 \r\n", "Q 35.984375 -1.171875 27.484375 -1.171875 \r\n", "Q 16.84375 -1.171875 10.375 5.78125 \r\n", "Q 3.90625 12.75 3.90625 25.734375 \r\n", "Q 3.90625 34.125 6.6875 40.421875 \r\n", "Q 9.46875 46.734375 15.15625 49.875 \r\n", "Q 20.84375 53.03125 27.546875 53.03125 \r\n", "Q 35.984375 53.03125 41.359375 48.75 \r\n", "Q 46.734375 44.484375 48.25 36.625 \r\n", "L 39.703125 35.296875 \r\n", "Q 38.484375 40.53125 35.375 43.15625 \r\n", "Q 32.28125 45.796875 27.875 45.796875 \r\n", "Q 21.234375 45.796875 17.078125 41.03125 \r\n", "Q 12.9375 36.28125 12.9375 25.984375 \r\n", "Q 12.9375 15.53125 16.9375 10.796875 \r\n", "Q 20.953125 6.0625 27.390625 6.0625 \r\n", "Q 32.5625 6.0625 36.03125 9.234375 \r\n", "Q 39.5 12.40625 40.4375 19 \r\n", "z\r\n", "\" id=\"ArialMT-99\"/>\r\n", " </defs>\r\n", " <use xlink:href=\"#ArialMT-65\"/>\r\n", " <use x=\"66.699219\" xlink:href=\"#ArialMT-109\"/>\r\n", " <use x=\"150\" xlink:href=\"#ArialMT-111\"/>\r\n", " <use x=\"205.615234\" xlink:href=\"#ArialMT-117\"/>\r\n", " <use x=\"261.230469\" xlink:href=\"#ArialMT-110\"/>\r\n", " <use x=\"316.845703\" xlink:href=\"#ArialMT-116\"/>\r\n", " <use x=\"344.628906\" xlink:href=\"#ArialMT-32\"/>\r\n", " <use x=\"372.412109\" xlink:href=\"#ArialMT-111\"/>\r\n", " <use x=\"428.027344\" xlink:href=\"#ArialMT-102\"/>\r\n", " <use x=\"455.810547\" xlink:href=\"#ArialMT-32\"/>\r\n", " <use x=\"478.09375\" xlink:href=\"#ArialMT-65\"/>\r\n", " <use x=\"544.792969\" xlink:href=\"#ArialMT-114\"/>\r\n", " <use x=\"578.09375\" xlink:href=\"#ArialMT-116\"/>\r\n", " <use x=\"605.876953\" xlink:href=\"#ArialMT-119\"/>\r\n", " <use x=\"678.09375\" xlink:href=\"#ArialMT-111\"/>\r\n", " <use x=\"733.708984\" xlink:href=\"#ArialMT-114\"/>\r\n", " <use x=\"767.009766\" xlink:href=\"#ArialMT-107\"/>\r\n", " <use x=\"817.009766\" xlink:href=\"#ArialMT-115\"/>\r\n", " <use x=\"867.009766\" xlink:href=\"#ArialMT-32\"/>\r\n", " <use x=\"894.792969\" xlink:href=\"#ArialMT-98\"/>\r\n", " <use x=\"950.408203\" xlink:href=\"#ArialMT-121\"/>\r\n", " <use x=\"1000.408203\" xlink:href=\"#ArialMT-32\"/>\r\n", " <use x=\"1022.691406\" xlink:href=\"#ArialMT-65\"/>\r\n", " <use x=\"1089.390625\" xlink:href=\"#ArialMT-103\"/>\r\n", " <use x=\"1145.005859\" xlink:href=\"#ArialMT-101\"/>\r\n", " <use x=\"1200.621094\" xlink:href=\"#ArialMT-58\"/>\r\n", " <use x=\"1228.404297\" xlink:href=\"#ArialMT-32\"/>\r\n", " <use x=\"1256.1875\" xlink:href=\"#ArialMT-99\"/>\r\n", " <use x=\"1306.1875\" xlink:href=\"#ArialMT-101\"/>\r\n", " <use x=\"1361.802734\" xlink:href=\"#ArialMT-110\"/>\r\n", " <use x=\"1417.417969\" xlink:href=\"#ArialMT-116\"/>\r\n", " <use x=\"1445.201172\" xlink:href=\"#ArialMT-117\"/>\r\n", " <use x=\"1500.816406\" xlink:href=\"#ArialMT-114\"/>\r\n", " <use x=\"1534.117188\" xlink:href=\"#ArialMT-121\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"legend_1\">\r\n", " <g id=\"patch_4\">\r\n", " <path d=\"M 302.786375 64.572125 \r\n", "L 340.733625 64.572125 \r\n", "Q 342.493625 64.572125 342.493625 62.812125 \r\n", "L 342.493625 26.3485 \r\n", "Q 342.493625 24.5885 340.733625 24.5885 \r\n", "L 302.786375 24.5885 \r\n", "Q 301.026375 24.5885 301.026375 26.3485 \r\n", "L 301.026375 62.812125 \r\n", "Q 301.026375 64.572125 302.786375 64.572125 \r\n", "z\r\n", "\" style=\"fill:#ffffff;opacity:0.8;stroke:#cccccc;stroke-linejoin:miter;stroke-width:0.8;\"/>\r\n", " </g>\r\n", " <g id=\"line2d_15\">\r\n", " <path d=\"M 304.546375 31.327375 \r\n", "L 322.146375 31.327375 \r\n", "\" style=\"fill:none;stroke:#e0675a;stroke-linecap:round;stroke-width:1.2;\"/>\r\n", " </g>\r\n", " <g id=\"line2d_16\"/>\r\n", " <g id=\"text_14\">\r\n", " <!-- 19 -->\r\n", " <g style=\"fill:#262626;\" transform=\"translate(329.186375 34.407375)scale(0.088 -0.088)\">\r\n", " <use xlink:href=\"#ArialMT-49\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-57\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"line2d_17\">\r\n", " <path d=\"M 304.546375 43.77525 \r\n", "L 322.146375 43.77525 \r\n", "\" style=\"fill:none;stroke:#5ca0af;stroke-linecap:round;stroke-width:1.2;\"/>\r\n", " </g>\r\n", " <g id=\"line2d_18\"/>\r\n", " <g id=\"text_15\">\r\n", " <!-- 20 -->\r\n", " <g style=\"fill:#262626;\" transform=\"translate(329.186375 46.85525)scale(0.088 -0.088)\">\r\n", " <use xlink:href=\"#ArialMT-50\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-48\"/>\r\n", " </g>\r\n", " </g>\r\n", " <g id=\"line2d_19\">\r\n", " <path d=\"M 304.546375 56.223125 \r\n", "L 322.146375 56.223125 \r\n", "\" style=\"fill:none;stroke:#edde7e;stroke-linecap:round;stroke-width:1.2;\"/>\r\n", " </g>\r\n", " <g id=\"line2d_20\"/>\r\n", " <g id=\"text_16\">\r\n", " <!-- 21 -->\r\n", " <g style=\"fill:#262626;\" transform=\"translate(329.186375 59.303125)scale(0.088 -0.088)\">\r\n", " <use xlink:href=\"#ArialMT-50\"/>\r\n", " <use x=\"55.615234\" xlink:href=\"#ArialMT-49\"/>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " </g>\r\n", " <defs>\r\n", " <clipPath id=\"p6f761afcbf\">\r\n", " <rect height=\"217.44\" width=\"334.8\" x=\"12.093625\" y=\"20.1885\"/>\r\n", " </clipPath>\r\n", " </defs>\r\n", "</svg>\r\n" ], "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Set the figure\n", "sns.set(context='paper', style='ticks', palette=snark_palette,\n", " rc={'xtick.major.size': 4, 'ytick.left':False,\n", " 'axes.spines.left': False, 'axes.spines.bottom': True,\n", " 'axes.spines.right': False, 'axes.spines.top': False\n", " }\n", " )\n", "\n", "# Create the plot\n", "moma_century = moma.loc[moma['century'].isin([19, 20, 21]), ['century', 'age']] # data\n", "g_ac = sns.FacetGrid(moma_century, hue='century')\n", "g_ac = g_ac.map(sns.distplot, 'age', hist=False, rug=False)\n", "\n", "g_ac.ax.axvline(x=33, ymin=0, ymax=0.98, marker='x', linestyle=':', color=snark_palette[-1]) # 33 boundary\n", "\n", "# Set some aesthetic params for the plot\n", "g_ac.fig.set_size_inches(6, 4)\n", "g_ac.ax.annotate('33', [28, 0.041], c=snark_palette[-1]) # set label for the 33 boundary\n", "g_ac.ax.legend() # set legend\n", "g_ac.ax.set_title('Amount of Artworks by Age: century', loc='right', c=snark_palette[-1]) # set title of the plot\n", "g_ac.ax.set_xlabel('Age', c=snark_palette[-1]) # set label of x axis\n", "g_ac.ax.get_yaxis().set_visible(False) # hide y labels\n", "g_ac.despine(left=True) # hide y axis\n", "g_ac.ax.set_xticks([i for i in range(0, 110, 10)]) # set x ticks labels\n", "g_ac.ax.set_xlim([10, 110]) # set x axis range\n", "g_ac.ax.tick_params(axis='x', colors=snark_palette[-1]) # color x ticks\n", "g_ac.ax.spines['bottom'].set_color(snark_palette[-1]) # color x axis\n", "\n", "# Save and plot\n", "g_ac.fig.subplots_adjust(bottom=0.125, top=0.88, left=0.125, right=0.9) # adjust for post picture\n", "g_ac.savefig('plot.pic\\plot.age.century.png', dpi=150, bbox_inches=None)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In total, *we found out, that 33 is really especial age!*\n", "\n", "\n", "# Blog Post" ] }, { "cell_type": "code", "execution_count": 77, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1172" ] }, "execution_count": 77, "metadata": {}, "output_type": "execute_result" } ], "source": [ "blog_post = r\"\"\"\n", "## WHEN IS MY BRAIN UP?🎓\n", "\n", "The human brain reaches its peak efficiency by the age of 30*. \n", "That say the scientists, let's ask the data! \n", "\n", "📌We wondered if most of the artworks in the Moma database were actually created by artists in their 30s. \n", "\n", "Since the artworks have been included in the collection of the museum, they represent a valuable result of the human brain activity. \n", "We calculated the age when the artist created his work and ploted at what age the most of the valuable artworks was created. \n", "It's curious that most of the works were created at the age of 33! \n", "33 is a meaningful age. \n", "For example, in Christianity, Jesus was crucified and then resurrected at the age of 33. \n", "\n", "We can assume that there is a certain time lag between the origin of the idea and its implementation. \n", "\n", "(Interested in more details? Follow the link in bio for the entire research project!) \n", "\n", "\\* (e.g, Chapter 6 of the book \"Behave: The Biology of Humans at Our Best and Worst\" by Robert M. Sapolsky) \n", ". \n", ". \n", ". \n", "\\#funtime \\#probably \\#datascience \\#datapower \\#data_sugar_brain \\#human_brain \\#art \\#data_know_everything_and_nothing \\#linkinbio \\#datajournalism \\#python\n", "\"\"\"\n", "\n", "# Check post text length for Instagram\n", "len(blog_post)" ] }, { "cell_type": "code", "execution_count": 78, "metadata": {}, "outputs": [ { "data": { "text/markdown": [ "\n", "## WHEN IS MY BRAIN UP?🎓\n", "\n", "The human brain reaches its peak efficiency by the age of 30*. \n", "That say the scientists, let's ask the data! \n", "\n", "📌We wondered if most of the artworks in the Moma database were actually created by artists in their 30s. \n", "\n", "Since the artworks have been included in the collection of the museum, they represent a valuable result of the human brain activity. \n", "We calculated the age when the artist created his work and ploted at what age the most of the valuable artworks was created. \n", "It's curious that most of the works were created at the age of 33! \n", "33 is a meaningful age. \n", "For example, in Christianity, Jesus was crucified and then resurrected at the age of 33. \n", "\n", "We can assume that there is a certain time lag between the origin of the idea and its implementation. \n", "\n", "(Interested in more details? Follow the link in bio for the entire research project!) \n", "\n", "\\* (e.g, Chapter 6 of the book \"Behave: The Biology of Humans at Our Best and Worst\" by Robert M. Sapolsky) \n", ". \n", ". \n", ". \n", "\\#funtime \\#probably \\#datascience \\#datapower \\#data_sugar_brain \\#human_brain \\#art \\#data_know_everything_and_nothing \\#linkinbio \\#datajournalism \\#python\n" ], "text/plain": [ "<IPython.core.display.Markdown object>" ] }, "execution_count": 78, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.display import Markdown as md\n", "md(blog_post)" ] } ], "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.8.1" } }, "nbformat": 4, "nbformat_minor": 4 }