{ "cells": [ { "cell_type": "raw", "metadata": {}, "source": [ "---\n", "title: \"Photometry\"\n", "teaching: 3000\n", "exercises: 0\n", "questions:\n", "\n", "- \"How do we use Matplotlib to select a polygon and Pandas to merge data from multiple tables?\"\n", "\n", "objectives:\n", "\n", "- \"Use Matplotlib to specify a polygon and determine which points fall inside it.\"\n", "\n", "- \"Use Pandas to merge data from multiple `DataFrames`, much like a database `JOIN` operation.\"\n", "\n", "keypoints:\n", "\n", "- \"If you want to perform something like a database `JOIN` operation with data that is in a Pandas `DataFrame`, you can use the `join` or `merge` function. In many cases, `merge` is easier to use because the arguments are more like SQL.\"\n", "\n", "- \"Use Matplotlib options to control the size and aspect ratio of figures to make them easier to interpret.\"\n", "\n", "- \"Matplotlib also provides operations for working with points, polygons, and other geometric entities, so it's not just for making figures.\"\n", "\n", "- \"Be sure to record every element of the data analysis pipeline that would be needed to replicate the results.\"\n", "\n", "---\n", "\n", "{% include links.md %}\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Photometry\n", "\n", "This is the sixth in a series of notebooks related to astronomy data.\n", "\n", "As a continuing example, we will replicate part of the analysis in a recent paper, \"[Off the beaten path: Gaia reveals GD-1 stars outside of the main stream](https://arxiv.org/abs/1805.00425)\" by Adrian M. Price-Whelan and Ana Bonaca.\n", "\n", "In the previous lesson we downloaded photometry data from Pan-STARRS, which is available from the same server we've been using to get Gaia data. \n", "\n", "The next step in the analysis is to select candidate stars based on the photometry data. \n", "The following figure from the paper is a color-magnitude diagram showing the stars we previously selected based on proper motion:\n", "\n", "\n", "\n", "In red is a theoretical isochrone, showing where we expect the stars in GD-1 to fall based on the metallicity and age of their original globular cluster. \n", "\n", "By selecting stars in the shaded area, we can further distinguish the main sequence of GD-1 from mostly younger background stars." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Outline\n", "\n", "Here are the steps in this notebook:\n", "\n", "1. We'll reload the data from the previous notebook and make a color-magnitude diagram.\n", "\n", "2. We'll use an isochrone computed by MIST to specify a polygonal region in the color-magnitude diagram and select the stars inside it.\n", "\n", "3. Then we'll merge the photometry data with the list of candidate stars, storing the result in a Pandas `DataFrame`.\n", "\n", "After completing this lesson, you should be able to\n", "\n", "* Use Matplotlib to specify a `Polygon` and determine which points fall inside it.\n", "\n", "* Use Pandas to merge data from multiple `DataFrames`, much like a database `JOIN` operation." ] }, { "cell_type": "markdown", "metadata": { "tags": [ "remove-cell" ] }, "source": [ "## Installing libraries\n", "\n", "If you are running this notebook on Colab, you can run the following cell to install Astroquery and the other libraries we'll use.\n", "\n", "If you are running this notebook on your own computer, you might have to install these libraries yourself. See the instructions in the preface." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "tags": [ "remove-cell" ] }, "outputs": [], "source": [ "# If we're running on Colab, install libraries\n", "\n", "import sys\n", "IN_COLAB = 'google.colab' in sys.modules\n", "\n", "if IN_COLAB:\n", " !pip install astroquery astro-gala wget" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Reload the data\n", "\n", "The following cell downloads the photometry data we created in the previous notebook." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import os\n", "from wget import download\n", "\n", "filename = 'gd1_photo.fits'\n", "filepath = 'https://github.com/AllenDowney/AstronomicalData/raw/main/data/'\n", "\n", "if not os.path.exists(filename):\n", " print(download(filepath+filename))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can read the data back into an Astropy `Table`." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "from astropy.table import Table\n", "\n", "photo_table = Table.read(filename)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Plotting photometry data\n", "\n", "Now that we have photometry data from Pan-STARRS, we can replicate the [color-magnitude diagram](https://en.wikipedia.org/wiki/Galaxy_color%E2%80%93magnitude_diagram) from the original paper:\n", "\n", "\n", "\n", "The y-axis shows the apparent magnitude of each source with the [g filter](https://en.wikipedia.org/wiki/Photometric_system).\n", "\n", "The x-axis shows the difference in apparent magnitude between the g and i filters, which indicates color.\n", "\n", "Stars with lower values of (g-i) are brighter in g-band than in i-band, compared to other stars, which means they are bluer.\n", "\n", "Stars in the lower-left quadrant of this diagram are less bright and less metallic than the others, which means they are [likely to be older](http://spiff.rit.edu/classes/ladder/lectures/ordinary_stars/ordinary.html).\n", "\n", "Since we expect the stars in GD-1 to be older than the background stars, the stars in the lower-left are more likely to be in GD-1." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following function takes a table containing photometry data and draws a color-magnitude diagram.\n", "The input can be an Astropy `Table` or Pandas `DataFrame`, as long as it has columns named `g_mean_psf_mag` and `i_mean_psf_mag`.\n", "\n" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "\n", "def plot_cmd(table):\n", " \"\"\"Plot a color magnitude diagram.\n", " \n", " table: Table or DataFrame with photometry data\n", " \"\"\"\n", " y = table['g_mean_psf_mag']\n", " x = table['g_mean_psf_mag'] - table['i_mean_psf_mag']\n", "\n", " plt.plot(x, y, 'ko', markersize=0.3, alpha=0.3)\n", "\n", " plt.xlim([0, 1.5])\n", " plt.ylim([14, 22])\n", " plt.gca().invert_yaxis()\n", "\n", " plt.ylabel('$g_0$')\n", " plt.xlabel('$(g-i)_0$')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`plot_cmd` uses a new function, `invert_yaxis`, to invert the `y` axis, which is conventional when plotting magnitudes, since lower magnitude indicates higher brightness.\n", "\n", "`invert_yaxis` is a little different from the other functions we've used. You can't call it like this:\n", "\n", "```\n", "plt.invert_yaxis() # doesn't work\n", "```\n", "\n", "You have to call it like this:\n", "\n", "```\n", "plt.gca().invert_yaxis() # works\n", "```\n", "\n", "`gca` stands for \"get current axis\". It returns an object that represents the axes of the current figure, and that object provides `invert_yaxis`.\n", "\n", "**In case anyone asks:** The most likely reason for this inconsistency in the interface is that `invert_yaxis` is a lesser-used function, so it's not made available at the top level of the interface." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's what the results look like." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_cmd(photo_table)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Our figure does not look exactly like the one in the paper because we are working with a smaller region of the sky, so we don't have as many stars. But we can see an overdense region in the lower left that contains stars with the photometry we expect for GD-1.\n", "\n", "In the next section we'll use an isochrone to specify a polygon that contains this overdense regioin." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Isochrone\n", "\n", "Based on our best estimates for the ages of the stars in GD-1 and their metallicity, we can compute a [stellar isochrone](https://en.wikipedia.org/wiki/Stellar_isochrone) that predicts the relationship between their magnitude and color.\n", "\n", "In fact, we can use [MESA Isochrones & Stellar Tracks](http://waps.cfa.harvard.edu/MIST/) (MIST) to compute it for us.\n", "\n", "Using the [MIST Version 1.2 web interface](http://waps.cfa.harvard.edu/MIST/interp_isos.html), we computed an isochrone with the following parameters:\n", " \n", "* Rotation initial v/v_crit = 0.4\n", "\n", "* Single age, linear scale = 12e9\n", "\n", "* Composition [Fe/H] = -1.35\n", "\n", "* Synthetic Photometry, PanStarrs\n", "\n", "* Extinction av = 0\n", "\n", "The following cell downloads the results:" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "import os\n", "from wget import download\n", "\n", "filename = 'MIST_iso_5fd2532653c27.iso.cmd'\n", "filepath = 'https://github.com/AllenDowney/AstronomicalData/raw/main/data/'\n", "\n", "if not os.path.exists(filename):\n", " print(download(filepath+filename))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To read this file we'll download a Python module [from this repository](https://github.com/jieunchoi/MIST_codes)." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "import os\n", "from wget import download\n", "\n", "filename = 'read_mist_models.py'\n", "filepath = 'https://github.com/jieunchoi/MIST_codes/raw/master/scripts/'\n", "\n", "if not os.path.exists(filename):\n", " print(download(filepath+filename))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can read the file:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Reading in: MIST_iso_5fd2532653c27.iso.cmd\n" ] } ], "source": [ "import read_mist_models\n", "\n", "filename = 'MIST_iso_5fd2532653c27.iso.cmd'\n", "iso = read_mist_models.ISOCMD(filename)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The result is an `ISOCMD` object." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "read_mist_models.ISOCMD" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(iso)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It contains a list of arrays, one for each isochrone." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "list" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(iso.isocmds)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We only got one isochrone." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(iso.isocmds)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So we can select it like this:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "iso_array = iso.isocmds[0]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It's a NumPy array:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "numpy.ndarray" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(iso_array)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "But it's an unusual NumPy array, because it contains names for the columns." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "dtype([('EEP', '= 0) & (iso_array['phase'] < 3)\n", "phase_mask.sum()" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "354" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "main_sequence = iso_array[phase_mask]\n", "len(main_sequence)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The other two columns we'll use are `PS_g` and `PS_i`, which contain simulated photometry data for stars with the given age and metallicity, based on a model of the Pan-STARRS sensors.\n", "\n", "We'll use these columns to superimpose the isochrone on the color-magnitude diagram, but first we have to use a [distance modulus](https://en.wikipedia.org/wiki/Distance_modulus) to scale the isochrone based on the estimated distance of GD-1.\n", "\n", "We can use the `Distance` object from Astropy to compute the distance modulus." ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "14.4604730134524" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import astropy.coordinates as coord\n", "import astropy.units as u\n", "\n", "distance = 7.8 * u.kpc\n", "distmod = coord.Distance(distance).distmod.value\n", "distmod" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can compute the scaled magnitude and color of the isochrone." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "g = main_sequence['PS_g'] + distmod\n", "gi = main_sequence['PS_g'] - main_sequence['PS_i']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To make this data easier to work with, we'll put it in a Pandas `Series` with that contains `gi` as the index and `g` as the values." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2.195021 28.294743\n", "2.166076 28.189718\n", "2.129312 28.051761\n", "2.093721 27.916194\n", "2.058585 27.780024\n", "dtype: float64" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "\n", "iso_series = pd.Series(g, index=gi)\n", "iso_series.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can plot it on the color-magnitude diagram like this." ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_cmd(photo_table)\n", "iso_series.plot();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The theoretical isochrone passes through the overdense region where we expect to find stars in GD-1.\n", "\n", "Let's save this result so we can reload it later without repeating the steps in this section." ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [], "source": [ "filename = 'gd1_isochrone.hdf5'\n", "\n", "iso_series.to_hdf(filename, 'iso_series')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Making a polygon\n", "\n", "The following cell downloads the isochrone series we made in the previous section, if necessary." ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [], "source": [ "import os\n", "from wget import download\n", "\n", "filename = 'gd1_isochrone.hdf5'\n", "filepath = 'https://github.com/AllenDowney/AstronomicalData/raw/main/data/'\n", "\n", "if not os.path.exists(filename):\n", " print(download(filepath+filename))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can read the isochrone back in." ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2.195021 28.294743\n", "2.166076 28.189718\n", "2.129312 28.051761\n", "2.093721 27.916194\n", "2.058585 27.780024\n", "dtype: float64" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "iso_series = pd.read_hdf(filename, 'iso_series')\n", "iso_series.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To select the stars in the overdense region of the color-magnitude diagram, we want to stretch the isochrone into a polygon.\n", "\n", "We'll use the following formulas to compute the left and right sides of the polygons." ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "g = iso_series.to_numpy()\n", "gi = iso_series.index" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [], "source": [ "left_gi = gi - 0.4 * (g/28)**5\n", "right_gi = gi + 0.7 * (g/28)**5" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To explain the terms:\n", "\n", "* We divide magnitudes by 28 to normalize them onto the range from 0 to 1.\n", "\n", "* Raising the normalized magnitudes to the 5th power [DOES WHAT?]\n", "\n", "* Then we add and subtract the result from `gi` to shift the isochrone left and right. The factors 0.4 and 0.7 were chosen by eye to enclose the overdense region." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To make the shifted isochrones easier to work with, we'll put them in a Pandas `Series` with that contains both `g` and the scaled values of `gi`." ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.773520 28.294743\n", "1.752340 28.189718\n", "1.725601 28.051761\n", "1.699671 27.916194\n", "1.674053 27.780024\n", "dtype: float64" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "\n", "left_series = pd.Series(g, index=left_gi)\n", "left_series.head()" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2.932648 28.294743\n", "2.890114 28.189718\n", "2.835806 28.051761\n", "2.783308 27.916194\n", "2.731517 27.780024\n", "dtype: float64" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "right_series = pd.Series(g, index=right_gi)\n", "right_series.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can plot them on the color-magnitude diagram like this." ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_cmd(photo_table)\n", "left_series.plot()\n", "right_series.plot();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It looks like the scaled isochrones bound the overdense area well, but they also include stars with magnitudes higher than we expect for stars in GD-1, so we'll use another mask to limit the range of `g`." ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "117" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "g_mask = (g > 18.0) & (g < 21.5)\n", "g_mask.sum()" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(117, 117)" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "left = left_series[g_mask]\n", "right = right_series[g_mask]\n", "\n", "len(left), len(right)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's what they look like:" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_cmd(photo_table)\n", "left.plot()\n", "right.plot();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we want to assemble the two halves into a polygon. We can use `append` to make a new `Series` that contains both halves.\n", "\n", "And we'll use the slice `[::-1]` to reverse the elements of `right` so the result forms a loop. [See here for an explanation of this idiom](https://stackoverflow.com/questions/5876998/reversing-a-list-using-slice-notation)." ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.587571 21.411746\n", "0.567801 21.322466\n", "0.548134 21.233380\n", "0.528693 21.144427\n", "0.509300 21.054549\n", "dtype: float64" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "loop = left.append(right[::-1])\n", "loop.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following lines add metadata by assigning names to the values and the index in `loop`." ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "gi\n", "0.587571 21.411746\n", "0.567801 21.322466\n", "0.548134 21.233380\n", "0.528693 21.144427\n", "0.509300 21.054549\n", "Name: g, dtype: float64" ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "loop.name = 'g'\n", "loop.index.name = 'gi'\n", "loop.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And here's what it looks like" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "loop.plot()\n", "plot_cmd(photo_table)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next we'll use this polygon to identify stars in the overdense region." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Which points are in the polygon?\n", "\n", "Matplotlib provides a `Path` object that we can use to check which points fall in the polygon we just constructed.\n", "\n", "To make a `Path`, we need a list of coordinates in the form of an array with two columns.\n", "\n", "Currently `loop` is a `Series` with the values of `gi` in the index:" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "gi\n", "0.587571 21.411746\n", "0.567801 21.322466\n", "0.548134 21.233380\n", "0.528693 21.144427\n", "0.509300 21.054549\n", "Name: g, dtype: float64" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "loop.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can move them out of the index into a column using `reset_index`:" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
gig
00.58757121.411746
10.56780121.322466
20.54813421.233380
30.52869321.144427
40.50930021.054549
\n", "
" ], "text/plain": [ " gi g\n", "0 0.587571 21.411746\n", "1 0.567801 21.322466\n", "2 0.548134 21.233380\n", "3 0.528693 21.144427\n", "4 0.509300 21.054549" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "loop_df = loop.reset_index()\n", "loop_df.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The result is a `DataFrame` with one column for `gi` and one column for `g`, so we can pass it to `Path` like this:" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Path(array([[ 0.58757135, 21.41174601],\n", " [ 0.56780097, 21.32246601],\n", " [ 0.54813409, 21.23338001],\n", " [ 0.5286928 , 21.14442701],\n", " [ 0.50929987, 21.05454901],\n", " [ 0.48991266, 20.96383501],\n", " [ 0.47084777, 20.87386601],\n", " [ 0.45222635, 20.78511001],\n", " [ 0.43438902, 20.69865301],\n", " [ 0.42745198, 20.66469601],\n", " [ 0.42067029, 20.63135301],\n", " [ 0.41402867, 20.59850601],\n", " [ 0.40738016, 20.56529901],\n", " [ 0.40088387, 20.53264001],\n", " [ 0.39449608, 20.50023501],\n", " [ 0.38843797, 20.46871801],\n", " [ 0.38251577, 20.43765101],\n", " [ 0.3766547 , 20.40653701],\n", " [ 0.37088531, 20.37564701],\n", " [ 0.36522325, 20.34505401],\n", " [ 0.35962415, 20.31443001],\n", " [ 0.35413292, 20.28413501],\n", " [ 0.34871894, 20.25390101],\n", " [ 0.34339273, 20.22385701],\n", " [ 0.33815825, 20.19395801],\n", " [ 0.33305724, 20.16427301],\n", " [ 0.32820637, 20.13508501],\n", " [ 0.32348139, 20.10604901],\n", " [ 0.31883343, 20.07716101],\n", " [ 0.31425423, 20.04833101],\n", " [ 0.30974976, 20.01961701],\n", " [ 0.30531997, 19.99097001],\n", " [ 0.30097354, 19.96246401],\n", " [ 0.29669999, 19.93401801],\n", " [ 0.29250157, 19.90573101],\n", " [ 0.28837983, 19.87746501],\n", " [ 0.28441584, 19.84955001],\n", " [ 0.28065057, 19.82188301],\n", " [ 0.27700644, 19.79450101],\n", " [ 0.27342328, 19.76713801],\n", " [ 0.26989305, 19.73985301],\n", " [ 0.26641258, 19.71265801],\n", " [ 0.26298257, 19.68540001],\n", " [ 0.25960216, 19.65824401],\n", " [ 0.2562733 , 19.63113701],\n", " [ 0.25299978, 19.60409301],\n", " [ 0.24977307, 19.57714401],\n", " [ 0.24660506, 19.55024001],\n", " [ 0.24348829, 19.52341001],\n", " [ 0.24042159, 19.49666601],\n", " [ 0.23741737, 19.46998501],\n", " [ 0.23447423, 19.44339301],\n", " [ 0.23158726, 19.41688701],\n", " [ 0.22876474, 19.39045101],\n", " [ 0.22600432, 19.36410901],\n", " [ 0.22330395, 19.33786601],\n", " [ 0.220663 , 19.31170101],\n", " [ 0.21808571, 19.28560101],\n", " [ 0.21557456, 19.25960101],\n", " [ 0.21312279, 19.23368701],\n", " [ 0.21073349, 19.20785601],\n", " [ 0.20840975, 19.18210401],\n", " [ 0.20614799, 19.15640601],\n", " [ 0.20395119, 19.13076401],\n", " [ 0.20182156, 19.10523201],\n", " [ 0.19975572, 19.07977101],\n", " [ 0.19775195, 19.05436401],\n", " [ 0.19581903, 19.02902801],\n", " [ 0.19395701, 19.00376101],\n", " [ 0.19216276, 18.97857301],\n", " [ 0.19044513, 18.95347601],\n", " [ 0.1888007 , 18.92850001],\n", " [ 0.18723796, 18.90368201],\n", " [ 0.18576648, 18.87905401],\n", " [ 0.18438763, 18.85466301],\n", " [ 0.18310871, 18.83056001],\n", " [ 0.18193706, 18.80672701],\n", " [ 0.18087817, 18.78327401],\n", " [ 0.17993184, 18.76015001],\n", " [ 0.17910244, 18.73740501],\n", " [ 0.17838817, 18.71496101],\n", " [ 0.17779005, 18.69282101],\n", " [ 0.177312 , 18.67099501],\n", " [ 0.17694971, 18.64944001],\n", " [ 0.1767112 , 18.62815801],\n", " [ 0.17659065, 18.60714001],\n", " [ 0.17658939, 18.58636601],\n", " [ 0.17671618, 18.56585701],\n", " [ 0.17696696, 18.54562201],\n", " [ 0.17733781, 18.52565801],\n", " [ 0.1778346 , 18.50597901],\n", " [ 0.17846661, 18.48656801],\n", " [ 0.17922891, 18.46742401],\n", " [ 0.18012796, 18.44859001],\n", " [ 0.18116197, 18.43005501],\n", " [ 0.18233604, 18.41181501],\n", " [ 0.18363223, 18.39379401],\n", " [ 0.18506009, 18.37602901],\n", " [ 0.18660932, 18.35862101],\n", " [ 0.18829849, 18.34153201],\n", " [ 0.19012805, 18.32480701],\n", " [ 0.19210919, 18.30851301],\n", " [ 0.19422686, 18.29250401],\n", " [ 0.1964951 , 18.27685701],\n", " [ 0.19890209, 18.26156301],\n", " [ 0.20145338, 18.24666001],\n", " [ 0.20417715, 18.23260501],\n", " [ 0.20705285, 18.21898101],\n", " [ 0.21005661, 18.20562501],\n", " [ 0.21319339, 18.19254201],\n", " [ 0.22126873, 18.16185301],\n", " [ 0.2300065 , 18.13259301],\n", " [ 0.23950909, 18.10508001],\n", " [ 0.24974677, 18.07932501],\n", " [ 0.26066153, 18.05527801],\n", " [ 0.27224553, 18.03295501],\n", " [ 0.28447607, 18.01227601],\n", " [ 0.40566013, 18.01227601],\n", " [ 0.39412682, 18.03295501],\n", " [ 0.38329907, 18.05527801],\n", " [ 0.37320316, 18.07932501],\n", " [ 0.36384734, 18.10508001],\n", " [ 0.35529237, 18.13259301],\n", " [ 0.34756872, 18.16185301],\n", " [ 0.34056407, 18.19254201],\n", " [ 0.33788593, 18.20562501],\n", " [ 0.33535176, 18.21898101],\n", " [ 0.33295648, 18.23260501],\n", " [ 0.33072983, 18.24666001],\n", " [ 0.32870734, 18.26156301],\n", " [ 0.32684482, 18.27685701],\n", " [ 0.3251355 , 18.29250401],\n", " [ 0.32359167, 18.30851301],\n", " [ 0.32219665, 18.32480701],\n", " [ 0.32097089, 18.34153201],\n", " [ 0.31990093, 18.35862101],\n", " [ 0.31898485, 18.37602901],\n", " [ 0.3182056 , 18.39379401],\n", " [ 0.31756993, 18.41181501],\n", " [ 0.31706705, 18.43005501],\n", " [ 0.31671781, 18.44859001],\n", " [ 0.3165174 , 18.46742401],\n", " [ 0.31646817, 18.48656801],\n", " [ 0.3165622 , 18.50597901],\n", " [ 0.31680458, 18.52565801],\n", " [ 0.31718682, 18.54562201],\n", " [ 0.31770268, 18.56585701],\n", " [ 0.31835632, 18.58636601],\n", " [ 0.31915162, 18.60714001],\n", " [ 0.32007915, 18.62815801],\n", " [ 0.3211385 , 18.64944001],\n", " [ 0.32233599, 18.67099501],\n", " [ 0.32366367, 18.69282101],\n", " [ 0.32512771, 18.71496101],\n", " [ 0.32672398, 18.73740501],\n", " [ 0.32845154, 18.76015001],\n", " [ 0.33031546, 18.78327401],\n", " [ 0.33230964, 18.80672701],\n", " [ 0.33443651, 18.83056001],\n", " [ 0.3366864 , 18.85466301],\n", " [ 0.3390529 , 18.87905401],\n", " [ 0.34152681, 18.90368201],\n", " [ 0.34410502, 18.92850001],\n", " [ 0.34677677, 18.95347601],\n", " [ 0.34953217, 18.97857301],\n", " [ 0.35237348, 19.00376101],\n", " [ 0.35529144, 19.02902801],\n", " [ 0.35828883, 19.05436401],\n", " [ 0.36136575, 19.07977101],\n", " [ 0.36451277, 19.10523201],\n", " [ 0.36773241, 19.13076401],\n", " [ 0.37102978, 19.15640601],\n", " [ 0.37440044, 19.18210401],\n", " [ 0.37784139, 19.20785601],\n", " [ 0.38135736, 19.23368701],\n", " [ 0.38494552, 19.25960101],\n", " [ 0.388603 , 19.28560101],\n", " [ 0.39233725, 19.31170101],\n", " [ 0.39614435, 19.33786601],\n", " [ 0.40002069, 19.36410901],\n", " [ 0.40396796, 19.39045101],\n", " [ 0.40798805, 19.41688701],\n", " [ 0.41208235, 19.44339301],\n", " [ 0.41624335, 19.46998501],\n", " [ 0.42047622, 19.49666601],\n", " [ 0.42478124, 19.52341001],\n", " [ 0.42914714, 19.55024001],\n", " [ 0.43357463, 19.57714401],\n", " [ 0.43806989, 19.60409301],\n", " [ 0.44262347, 19.63113701],\n", " [ 0.44724247, 19.65824401],\n", " [ 0.4519225 , 19.68540001],\n", " [ 0.45666424, 19.71265801],\n", " [ 0.46146067, 19.73985301],\n", " [ 0.46631851, 19.76713801],\n", " [ 0.47124047, 19.79450101],\n", " [ 0.47623175, 19.82188301],\n", " [ 0.48136578, 19.84955001],\n", " [ 0.48671855, 19.87746501],\n", " [ 0.49225451, 19.90573101],\n", " [ 0.49787627, 19.93401801],\n", " [ 0.50358931, 19.96246401],\n", " [ 0.50938655, 19.99097001],\n", " [ 0.51528266, 20.01961701],\n", " [ 0.52126534, 20.04833101],\n", " [ 0.52733726, 20.07716101],\n", " [ 0.53348957, 20.10604901],\n", " [ 0.53973535, 20.13508501],\n", " [ 0.54612384, 20.16427301],\n", " [ 0.55279781, 20.19395801],\n", " [ 0.55962597, 20.22385701],\n", " [ 0.56656311, 20.25390101],\n", " [ 0.57360789, 20.28413501],\n", " [ 0.58074299, 20.31443001],\n", " [ 0.5880138 , 20.34505401],\n", " [ 0.59535596, 20.37564701],\n", " [ 0.60283203, 20.40653701],\n", " [ 0.61042265, 20.43765101],\n", " [ 0.61808231, 20.46871801],\n", " [ 0.62591386, 20.50023501],\n", " [ 0.63413647, 20.53264001],\n", " [ 0.64249372, 20.56529901],\n", " [ 0.65104657, 20.59850601],\n", " [ 0.659584 , 20.63135301],\n", " [ 0.66830253, 20.66469601],\n", " [ 0.67722496, 20.69865301],\n", " [ 0.70017638, 20.78511001],\n", " [ 0.72413715, 20.87386601],\n", " [ 0.74870785, 20.96383501],\n", " [ 0.77374297, 21.05454901],\n", " [ 0.7988286 , 21.14442701],\n", " [ 0.8240001 , 21.23338001],\n", " [ 0.84950281, 21.32246601],\n", " [ 0.8752204 , 21.41174601]]), None)" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from matplotlib.path import Path\n", "\n", "path = Path(loop_df)\n", "path" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The result is a `Path` object that represents the polygon.\n", "\n", "`Path` provides `contains_points`, which figures out which points are inside the polygon.\n", "\n", "To test it, we'll create a list with two points, one inside the polygon and one outside." ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [], "source": [ "points = [(0.4, 20), \n", " (0.4, 16)]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can make sure `contains_points` does what we expect." ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ True, False])" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "inside = path.contains_points(points)\n", "inside" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The result is an array of Boolean values.\n", "\n", "We are almost ready to select stars whose photometry data falls in this polygon. But first we need to do some data cleaning." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Reloading the data\n", "\n", "Now we need to combine the photometry data with the list of candidate stars we identified in a previous notebook. The following cell downloads it:\n", "\n" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [], "source": [ "import os\n", "from wget import download\n", "\n", "filename = 'gd1_candidates.hdf5'\n", "filepath = 'https://github.com/AllenDowney/AstronomicalData/raw/main/data/'\n", "\n", "if not os.path.exists(filename):\n", " print(download(filepath+filename))" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "\n", "candidate_df = pd.read_hdf(filename, 'candidate_df')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`candidate_df` is the Pandas DataFrame that contains the results from Lesson 4, which selects stars likely to be in GD-1 based on proper motion. It also includes position and proper motion transformed to the ICRS frame." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Merging photometry data\n", "\n", "Before we select stars based on photometry data, we have to solve two problems:\n", "\n", "1. We only have Pan-STARRS data for some stars in `candidate_df`.\n", "\n", "2. Even for the stars where we have Pan-STARRS data in `photo_table`, some photometry data is missing.\n", "\n", "We will solve these problems in two step:\n", "\n", "1. We'll merge the data from `candidate_df` and `photo_table` into a single Pandas `DataFrame`.\n", "\n", "2. We'll use Pandas functions to deal with missing data.\n", "\n", "`candidate_df` is already a `DataFrame`, but `results` is an Astropy `Table`. Let's convert it to Pandas:" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "source_id\n", "g_mean_psf_mag\n", "i_mean_psf_mag\n" ] } ], "source": [ "photo_df = photo_table.to_pandas()\n", "\n", "for colname in photo_df.columns:\n", " print(colname)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we want to combine `candidate_df` and `photo_df` into a single table, using `source_id` to match up the rows.\n", "\n", "You might recognize this task; it's the same as the JOIN operation in ADQL/SQL.\n", "\n", "Pandas provides a function called `merge` that does what we want. Here's how we use it." ] }, { "cell_type": "code", "execution_count": 44, "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
source_idradecpmrapmdecparallaxradial_velocityphi1phi2pm_phi1pm_phi2g_mean_psf_magi_mean_psf_mag
0635559124339440000137.58671719.196544-3.770522-12.4904820.791393NaN-59.630489-1.216485-7.361363-0.592633NaNNaN
1635860218726658176138.51870719.092339-5.941679-11.3464090.307456NaN-59.247330-2.016078-7.5271261.74877917.897817.517401
2635674126383965568138.84287419.031798-3.897001-12.7027800.779463NaN-59.133391-2.306901-7.560608-0.74180019.287317.678101
3635535454774983040137.83775218.864007-4.335041-14.4923090.314514NaN-59.785300-1.594569-9.357536-1.21849216.923816.478100
4635497276810313600138.04451619.009471-7.172931-12.2914990.425404NaN-59.557744-1.682147-9.0008312.33440719.924218.334000
\n", "
" ], "text/plain": [ " source_id ra dec pmra pmdec parallax \\\n", "0 635559124339440000 137.586717 19.196544 -3.770522 -12.490482 0.791393 \n", "1 635860218726658176 138.518707 19.092339 -5.941679 -11.346409 0.307456 \n", "2 635674126383965568 138.842874 19.031798 -3.897001 -12.702780 0.779463 \n", "3 635535454774983040 137.837752 18.864007 -4.335041 -14.492309 0.314514 \n", "4 635497276810313600 138.044516 19.009471 -7.172931 -12.291499 0.425404 \n", "\n", " radial_velocity phi1 phi2 pm_phi1 pm_phi2 g_mean_psf_mag \\\n", "0 NaN -59.630489 -1.216485 -7.361363 -0.592633 NaN \n", "1 NaN -59.247330 -2.016078 -7.527126 1.748779 17.8978 \n", "2 NaN -59.133391 -2.306901 -7.560608 -0.741800 19.2873 \n", "3 NaN -59.785300 -1.594569 -9.357536 -1.218492 16.9238 \n", "4 NaN -59.557744 -1.682147 -9.000831 2.334407 19.9242 \n", "\n", " i_mean_psf_mag \n", "0 NaN \n", "1 17.517401 \n", "2 17.678101 \n", "3 16.478100 \n", "4 18.334000 " ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "merged = pd.merge(candidate_df, \n", " photo_df, \n", " on='source_id', \n", " how='left')\n", "merged.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The first argument is the \"left\" table, the second argument is the \"right\" table, and the keyword argument `on='source_id'` specifies a column to use to match up the rows.\n", "\n", "The argument `how='left'` means that the result should have all rows from the left table, even if some of them don't match up with a row in the right table.\n", "\n", "If you are interested in the other options for `how`, you can [read the documentation of `merge`](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.merge.html).\n", "\n", "You can also do different types of join in ADQL/SQL; [you can read about that here](https://www.w3schools.com/sql/sql_join.asp).\n", "\n", "The result is a `DataFrame` that contains the same number of rows as `candidate_df`. " ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(7346, 3724, 7346)" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "len(candidate_df), len(photo_df), len(merged)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And all columns from both tables." ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "source_id\n", "ra\n", "dec\n", "pmra\n", "pmdec\n", "parallax\n", "radial_velocity\n", "phi1\n", "phi2\n", "pm_phi1\n", "pm_phi2\n", "g_mean_psf_mag\n", "i_mean_psf_mag\n" ] } ], "source": [ "for colname in merged.columns:\n", " print(colname)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Detail** You might notice that Pandas also provides a function called `join`; it does almost the same thing, but the interface is slightly different. We think `merge` is a little easier to use, so that's what we chose. It's also more consistent with JOIN in SQL, so if you learn how to use `pd.merge`, you are also learning how to use SQL JOIN.\n", "\n", "Also, someone might ask why we have to use Pandas to do this join; why didn't we do it in ADQL. The answer is that we could have done that, but since we already have the data we need, we should probably do the computation locally rather than make another round trip to the Gaia server." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Missing data\n", "\n", "Let's add columns to the merged table for magnitude and color." ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [], "source": [ "merged['mag'] = merged['g_mean_psf_mag']\n", "merged['color'] = merged['g_mean_psf_mag'] - merged['i_mean_psf_mag']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "These columns contain the special value `NaN` where we are missing data.\n", "\n", "We can use `notnull` to see which rows contain value data, that is, not null values." ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0 False\n", "1 True\n", "2 True\n", "3 True\n", "4 True\n", " ... \n", "7341 True\n", "7342 False\n", "7343 False\n", "7344 True\n", "7345 False\n", "Name: color, Length: 7346, dtype: bool" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "merged['color'].notnull()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And `sum` to count the number of valid values." ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "3724" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "merged['color'].notnull().sum()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For scientific purposes, it's not obvious what we should do with candidate stars if we don't have photometry data. Should we give them the benefit of the doubt or leave them out?\n", "\n", "In part the answer depends on the goal: are we trying to identify more stars that might be in GD-1, or a smaller set of stars that have higher probability?\n", "\n", "In the next section, we'll leave them out, but you can experiment with the alternative." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Selecting based on photometry\n", "\n", "Now let's see how many of these points are inside the polygon we chose.\n", "\n", "We can use a list of column names to select `color` and `mag`." ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
colormag
0NaNNaN
10.380417.8978
21.609219.2873
30.445716.9238
41.590219.9242
\n", "
" ], "text/plain": [ " color mag\n", "0 NaN NaN\n", "1 0.3804 17.8978\n", "2 1.6092 19.2873\n", "3 0.4457 16.9238\n", "4 1.5902 19.9242" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "points = merged[['color', 'mag']]\n", "points.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The result is a `DataFrame` that can be treated as a sequence of coordinates, so we can pass it to `contains_points`:" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([False, False, False, ..., False, False, False])" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "inside = path.contains_points(points)\n", "inside" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The result is a Boolean array. We can use `sum` to see how many stars fall in the polygon." ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "464" ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" } ], "source": [ "inside.sum()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we can use `inside` as a mask to select stars that fall inside the polygon." ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [], "source": [ "selected2 = merged[inside]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's make a color-magnitude plot one more time, highlighting the selected stars with green `x` marks." ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plot_cmd(photo_table)\n", "plt.plot(gi, g)\n", "loop.plot()\n", "\n", "plt.plot(selected2['color'], selected2['mag'], 'g.');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It looks like the selected stars are, in fact, inside the polygon, which means they have photometry data consistent with GD-1.\n", "\n", "Finally, we can plot the coordinates of the selected stars:" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(10,2.5))\n", "\n", "x = selected2['phi1']\n", "y = selected2['phi2']\n", "\n", "plt.plot(x, y, 'ko', markersize=0.7, alpha=0.9)\n", "\n", "plt.xlabel('ra (degree GD1)')\n", "plt.ylabel('dec (degree GD1)')\n", "\n", "plt.axis('equal');" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This example includes two new Matplotlib commands:\n", "\n", "* `figure` creates the figure. In previous examples, we didn't have to use this function; the figure was created automatically. But when we call it explicitly, we can provide arguments like `figsize`, which sets the size of the figure.\n", "\n", "* `axis` with the parameter `equal` sets up the axes so a unit is the same size along the `x` and `y` axes.\n", "\n", "In an example like this, where `x` and `y` represent coordinates in space, equal axes ensures that the distance between points is represented accurately. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Write the data\n", "\n", "Let's write the merged DataFrame to a file." ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [], "source": [ "filename = 'gd1_merged.hdf5'\n", "\n", "merged.to_hdf(filename, 'merged')\n", "selected2.to_hdf(filename, 'selected2')" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-rw-rw-r-- 1 downey downey 1.1M Dec 14 14:24 gd1_merged.hdf5\r\n" ] } ], "source": [ "!ls -lh gd1_merged.hdf5" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If you are using Windows, `ls` might not work; in that case, try:\n", "\n", "```\n", "!dir gd1_merged.hdf5\n", "```" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Save the polygon\n", "\n", "[Reproducibile research](https://en.wikipedia.org/wiki/Reproducibility#Reproducible_research) is \"the idea that ... the full computational environment used to produce the results in the paper such as the code, data, etc. can be used to reproduce the results and create new work based on the research.\"\n", "\n", "This Jupyter notebook is an example of reproducible research because it contains all of the code needed to reproduce the results, including the database queries that download the data and and analysis.\n", "\n", "In this lesson we used an isochrone to derive a polygon, which we used to select stars based on photometry. \n", "So it is important to record the polygon as part of the data analysis pipeline.\n", "\n", "Here's how we can save it in an HDF file." ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [], "source": [ "filename = 'gd1_polygon.hdf5'\n", "loop.to_hdf(filename, 'loop')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can read it back like this." ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [], "source": [ "loop2 = pd.read_hdf(filename, 'loop')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "And verify that the data we read back is the same." ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import numpy as np\n", "\n", "np.all(loop == loop2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Summary\n", "\n", "In this notebook, we worked with two datasets: the list of candidate stars from Gaia and the photometry data from Pan-STARRS.\n", "\n", "We drew a color-magnitude diagram and used it to identify stars we think are likely to be in GD-1.\n", "\n", "Then we used a Pandas `merge` operation to combine the data into a single `DataFrame`." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Best practices\n", "\n", "* If you want to perform something like a database `JOIN` operation with data that is in a Pandas `DataFrame`, you can use the `join` or `merge` function. In many cases, `merge` is easier to use because the arguments are more like SQL.\n", "\n", "* Use Matplotlib options to control the size and aspect ratio of figures to make them easier to interpret. In this example, we scaled the axes so the size of a degree is equal along both axes.\n", "\n", "* Matplotlib also provides operations for working with points, polygons, and other geometric entities, so it's not just for making figures.\n", "\n", "* Be sure to record every element of the data analysis pipeline that would be needed to replicate the results." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "celltoolbar": "Tags", "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.5" } }, "nbformat": 4, "nbformat_minor": 2 }