mirror of
https://github.com/AllenDowney/AstronomicalData.git
synced 2026-01-05 00:56:58 -08:00
1381 lines
187 KiB
Plaintext
1381 lines
187 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Introduction\n",
|
||
"\n",
|
||
"This is the sixth in a series of lessons 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. The following figure from the paper is a color-magnitude diagram for the stars selected based on proper motion:\n",
|
||
"\n",
|
||
"<img width=\"300\" src=\"https://github.com/datacarpentry/astronomy-python/raw/gh-pages/fig/gd1-3.png\">\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 younger background stars."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Lesson 6\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. Then we'll specify a polygon in the diagram that contains stars with the photometry we expect.\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": {},
|
||
"source": [
|
||
"## Installing libraries\n",
|
||
"\n",
|
||
"If you are running this notebook on Colab, you can run the following cell to install Astroquery and a 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. \n",
|
||
"\n",
|
||
"If you are using this notebook as part of a Carpentries workshop, you should have received setup instructions.\n",
|
||
"\n",
|
||
"TODO: Add a link to the instructions."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 1,
|
||
"metadata": {},
|
||
"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 pyia\n",
|
||
" !mkdir data"
|
||
]
|
||
},
|
||
{
|
||
"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": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"--2020-10-05 09:33:14-- https://github.com/AllenDowney/AstronomicalData/raw/main/data/gd1_photo.fits\n",
|
||
"Resolving github.com (github.com)... 140.82.113.4\n",
|
||
"Connecting to github.com (github.com)|140.82.113.4|:443... connected.\n",
|
||
"HTTP request sent, awaiting response... 302 Found\n",
|
||
"Location: https://raw.githubusercontent.com/AllenDowney/AstronomicalData/main/data/gd1_photo.fits [following]\n",
|
||
"--2020-10-05 09:33:14-- https://raw.githubusercontent.com/AllenDowney/AstronomicalData/main/data/gd1_photo.fits\n",
|
||
"Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.116.133\n",
|
||
"Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.116.133|:443... connected.\n",
|
||
"HTTP request sent, awaiting response... 200 OK\n",
|
||
"Length: 178560 (174K) [application/octet-stream]\n",
|
||
"Saving to: ‘gd1_photo.fits’\n",
|
||
"\n",
|
||
"gd1_photo.fits 100%[===================>] 174.38K --.-KB/s in 0.04s \n",
|
||
"\n",
|
||
"2020-10-05 09:33:15 (3.98 MB/s) - ‘gd1_photo.fits’ saved [178560/178560]\n",
|
||
"\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"import os\n",
|
||
"\n",
|
||
"filename = 'gd1_photo.fits'\n",
|
||
"\n",
|
||
"if not os.path.exists(filename):\n",
|
||
" !wget https://github.com/AllenDowney/AstronomicalData/raw/main/data/gd1_photo.fits"
|
||
]
|
||
},
|
||
{
|
||
"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",
|
||
"<img width=\"300\" src=\"https://github.com/datacarpentry/astronomy-python/raw/gh-pages/fig/gd1-3.png\">\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": "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": [
|
||
"<Figure size 432x288 with 1 Axes>"
|
||
]
|
||
},
|
||
"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",
|
||
"The authors of the original paper derive a detailed polygon that defines a boundary between stars that are likely to be in GD-1 or not.\n",
|
||
"\n",
|
||
"As a simplification, we'll choose a boundary by eye that seems to contain the overdense region."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Drawing a polygon\n",
|
||
"\n",
|
||
"Matplotlib provides a function called `ginput` that lets us click on the figure and make a list of coordinates.\n",
|
||
"\n",
|
||
"It's a little tricky to use `ginput` in a Jupyter notebook. \n",
|
||
"Before calling `plt.ginput` we have to tell Matplotlib to use `TkAgg` to draw the figure in a new window.\n",
|
||
"\n",
|
||
"When you run the following cell, a figure should appear in a new window. Click on it 10 times to draw a polygon around the overdense area. A red cross should appear where you click."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 6,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"import matplotlib as mpl\n",
|
||
"\n",
|
||
"if IN_COLAB:\n",
|
||
" coords = [(0.2, 17.5), \n",
|
||
" (0.2, 19.5), \n",
|
||
" (0.65, 22),\n",
|
||
" (0.75, 21),\n",
|
||
" (0.4, 19),\n",
|
||
" (0.4, 17.5)] \n",
|
||
"else:\n",
|
||
" mpl.use('TkAgg')\n",
|
||
" plot_cmd(photo_table)\n",
|
||
" coords = plt.ginput(10)\n",
|
||
" mpl.use('agg')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"The argument to `ginput` is the number of times the user has to click on the figure.\n",
|
||
"\n",
|
||
"The result from `ginput` is a list of coordinate pairs."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 7,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"[(0.2643369175627239, 18.210448859455482),\n",
|
||
" (0.3853046594982078, 19.093451066961002),\n",
|
||
" (0.528673835125448, 19.82928623988227),\n",
|
||
" (0.6317204301075269, 20.344370860927153),\n",
|
||
" (0.7258064516129031, 20.896247240618102),\n",
|
||
" (0.6675627240143369, 21.374540103016926),\n",
|
||
" (0.4928315412186379, 21.337748344370862),\n",
|
||
" (0.3539426523297491, 20.41795437821928),\n",
|
||
" (0.2419354838709677, 19.571743929359826),\n",
|
||
" (0.18369175627240142, 18.357615894039736)]"
|
||
]
|
||
},
|
||
"execution_count": 7,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"coords"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"If `ginput` doesn't work for you, you could use the following coordinates.\n",
|
||
"\n",
|
||
"```\n",
|
||
"coords = [(0.2, 17.5), \n",
|
||
" (0.2, 19.5), \n",
|
||
" (0.65, 22),\n",
|
||
" (0.75, 21),\n",
|
||
" (0.4, 19),\n",
|
||
" (0.4, 17.5)]\n",
|
||
"```"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"The next step is to convert the coordinates to a format we can use to plot them, which is a sequence of `x` coordinates and a sequence of `y` coordinates. The NumPy function `transpose` does what we want. "
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 8,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"(array([0.26433692, 0.38530466, 0.52867384, 0.63172043, 0.72580645,\n",
|
||
" 0.66756272, 0.49283154, 0.35394265, 0.24193548, 0.18369176]),\n",
|
||
" array([18.21044886, 19.09345107, 19.82928624, 20.34437086, 20.89624724,\n",
|
||
" 21.3745401 , 21.33774834, 20.41795438, 19.57174393, 18.35761589]))"
|
||
]
|
||
},
|
||
"execution_count": 8,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"import numpy as np\n",
|
||
"\n",
|
||
"xs, ys = np.transpose(coords)\n",
|
||
"xs, ys"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"To display the polygon, we'll draw the figure again and use `plt.plot` to draw the polygon."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 9,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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\n",
|
||
"text/plain": [
|
||
"<Figure size 432x288 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"needs_background": "light"
|
||
},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"plot_cmd(photo_table)\n",
|
||
"plt.plot(xs, ys);"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"If it looks like your polygon does a good job surrounding the overdense area, go on to the next section. Otherwise you can try again.\n",
|
||
"\n",
|
||
"If you want a polygon with more points (or fewer), you can change the argument to `ginput`.\n",
|
||
"\n",
|
||
"The polygon does not have to be \"closed\". When we use this polygon in the next section, the last and first points will be connected by a straight line.\n"
|
||
]
|
||
},
|
||
{
|
||
"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 selected.\n",
|
||
"\n",
|
||
"Here's how we make a `Path` using a list of coordinates."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 10,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"Path(array([[ 0.26433692, 18.21044886],\n",
|
||
" [ 0.38530466, 19.09345107],\n",
|
||
" [ 0.52867384, 19.82928624],\n",
|
||
" [ 0.63172043, 20.34437086],\n",
|
||
" [ 0.72580645, 20.89624724],\n",
|
||
" [ 0.66756272, 21.3745401 ],\n",
|
||
" [ 0.49283154, 21.33774834],\n",
|
||
" [ 0.35394265, 20.41795438],\n",
|
||
" [ 0.24193548, 19.57174393],\n",
|
||
" [ 0.18369176, 18.35761589]]), None)"
|
||
]
|
||
},
|
||
"execution_count": 10,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"from matplotlib.path import Path\n",
|
||
"\n",
|
||
"path = Path(coords)\n",
|
||
"path"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"`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": 11,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"points = [(0.4, 20), \n",
|
||
" (0.4, 30)]"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"Now we can make sure `contains_points` does what we expect."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 12,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"array([ True, False])"
|
||
]
|
||
},
|
||
"execution_count": 12,
|
||
"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": 13,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"import os\n",
|
||
"\n",
|
||
"filename = 'gd1_candidates.hdf5'\n",
|
||
"\n",
|
||
"if not os.path.exists(filename):\n",
|
||
" !wget https://github.com/AllenDowney/AstronomicalData/raw/main/data/gd1_candidates.hdf5"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 14,
|
||
"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 Notebook XX, 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": 15,
|
||
"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": 16,
|
||
"metadata": {
|
||
"scrolled": true
|
||
},
|
||
"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>source_id</th>\n",
|
||
" <th>ra</th>\n",
|
||
" <th>dec</th>\n",
|
||
" <th>pmra</th>\n",
|
||
" <th>pmdec</th>\n",
|
||
" <th>parallax</th>\n",
|
||
" <th>parallax_error</th>\n",
|
||
" <th>radial_velocity</th>\n",
|
||
" <th>phi1</th>\n",
|
||
" <th>phi2</th>\n",
|
||
" <th>pm_phi1</th>\n",
|
||
" <th>pm_phi2</th>\n",
|
||
" <th>g_mean_psf_mag</th>\n",
|
||
" <th>i_mean_psf_mag</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>635559124339440000</td>\n",
|
||
" <td>137.586717</td>\n",
|
||
" <td>19.196544</td>\n",
|
||
" <td>-3.770522</td>\n",
|
||
" <td>-12.490482</td>\n",
|
||
" <td>0.791393</td>\n",
|
||
" <td>0.271754</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>-59.630489</td>\n",
|
||
" <td>-1.216485</td>\n",
|
||
" <td>-7.361363</td>\n",
|
||
" <td>-0.592633</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>635860218726658176</td>\n",
|
||
" <td>138.518707</td>\n",
|
||
" <td>19.092339</td>\n",
|
||
" <td>-5.941679</td>\n",
|
||
" <td>-11.346409</td>\n",
|
||
" <td>0.307456</td>\n",
|
||
" <td>0.199466</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>-59.247330</td>\n",
|
||
" <td>-2.016078</td>\n",
|
||
" <td>-7.527126</td>\n",
|
||
" <td>1.748779</td>\n",
|
||
" <td>17.8978</td>\n",
|
||
" <td>17.517401</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>635674126383965568</td>\n",
|
||
" <td>138.842874</td>\n",
|
||
" <td>19.031798</td>\n",
|
||
" <td>-3.897001</td>\n",
|
||
" <td>-12.702780</td>\n",
|
||
" <td>0.779463</td>\n",
|
||
" <td>0.223692</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>-59.133391</td>\n",
|
||
" <td>-2.306901</td>\n",
|
||
" <td>-7.560608</td>\n",
|
||
" <td>-0.741800</td>\n",
|
||
" <td>19.2873</td>\n",
|
||
" <td>17.678101</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>635535454774983040</td>\n",
|
||
" <td>137.837752</td>\n",
|
||
" <td>18.864007</td>\n",
|
||
" <td>-4.335041</td>\n",
|
||
" <td>-14.492309</td>\n",
|
||
" <td>0.314514</td>\n",
|
||
" <td>0.102775</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>-59.785300</td>\n",
|
||
" <td>-1.594569</td>\n",
|
||
" <td>-9.357536</td>\n",
|
||
" <td>-1.218492</td>\n",
|
||
" <td>16.9238</td>\n",
|
||
" <td>16.478100</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>635875994141946752</td>\n",
|
||
" <td>138.236059</td>\n",
|
||
" <td>19.205240</td>\n",
|
||
" <td>-2.593401</td>\n",
|
||
" <td>-14.479242</td>\n",
|
||
" <td>0.855662</td>\n",
|
||
" <td>0.070623</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>-59.295378</td>\n",
|
||
" <td>-1.730187</td>\n",
|
||
" <td>-8.381356</td>\n",
|
||
" <td>-2.723334</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"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 635875994141946752 138.236059 19.205240 -2.593401 -14.479242 0.855662 \n",
|
||
"\n",
|
||
" parallax_error radial_velocity phi1 phi2 pm_phi1 pm_phi2 \\\n",
|
||
"0 0.271754 NaN -59.630489 -1.216485 -7.361363 -0.592633 \n",
|
||
"1 0.199466 NaN -59.247330 -2.016078 -7.527126 1.748779 \n",
|
||
"2 0.223692 NaN -59.133391 -2.306901 -7.560608 -0.741800 \n",
|
||
"3 0.102775 NaN -59.785300 -1.594569 -9.357536 -1.218492 \n",
|
||
"4 0.070623 NaN -59.295378 -1.730187 -8.381356 -2.723334 \n",
|
||
"\n",
|
||
" g_mean_psf_mag i_mean_psf_mag \n",
|
||
"0 NaN NaN \n",
|
||
"1 17.8978 17.517401 \n",
|
||
"2 19.2873 17.678101 \n",
|
||
"3 16.9238 16.478100 \n",
|
||
"4 NaN NaN "
|
||
]
|
||
},
|
||
"execution_count": 16,
|
||
"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": 17,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"(13976, 7189, 13976)"
|
||
]
|
||
},
|
||
"execution_count": 17,
|
||
"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": 18,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"source_id\n",
|
||
"ra\n",
|
||
"dec\n",
|
||
"pmra\n",
|
||
"pmdec\n",
|
||
"parallax\n",
|
||
"parallax_error\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": 19,
|
||
"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": 20,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"0 False\n",
|
||
"1 True\n",
|
||
"2 True\n",
|
||
"3 True\n",
|
||
"4 False\n",
|
||
" ... \n",
|
||
"13971 True\n",
|
||
"13972 True\n",
|
||
"13973 False\n",
|
||
"13974 True\n",
|
||
"13975 True\n",
|
||
"Name: color, Length: 13976, dtype: bool"
|
||
]
|
||
},
|
||
"execution_count": 20,
|
||
"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": 21,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"7189"
|
||
]
|
||
},
|
||
"execution_count": 21,
|
||
"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": 22,
|
||
"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>color</th>\n",
|
||
" <th>mag</th>\n",
|
||
" </tr>\n",
|
||
" </thead>\n",
|
||
" <tbody>\n",
|
||
" <tr>\n",
|
||
" <th>0</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>0.3804</td>\n",
|
||
" <td>17.8978</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>1.6092</td>\n",
|
||
" <td>19.2873</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>0.4457</td>\n",
|
||
" <td>16.9238</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>NaN</td>\n",
|
||
" <td>NaN</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"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 NaN NaN"
|
||
]
|
||
},
|
||
"execution_count": 22,
|
||
"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": 23,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"array([False, False, False, ..., False, False, False])"
|
||
]
|
||
},
|
||
"execution_count": 23,
|
||
"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": 24,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"659"
|
||
]
|
||
},
|
||
"execution_count": 24,
|
||
"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": 25,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"selected = 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": 26,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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\n",
|
||
"text/plain": [
|
||
"<Figure size 432x288 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"needs_background": "light"
|
||
},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"plot_cmd(photo_table)\n",
|
||
"plt.plot(xs, ys)\n",
|
||
"\n",
|
||
"plt.plot(selected['color'], selected['mag'], 'gx');"
|
||
]
|
||
},
|
||
{
|
||
"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": 27,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "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\n",
|
||
"text/plain": [
|
||
"<Figure size 720x180 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {
|
||
"needs_background": "light"
|
||
},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"plt.figure(figsize=(10,2.5))\n",
|
||
"\n",
|
||
"x = selected['phi1']\n",
|
||
"y = selected['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": 28,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"filename = 'gd1_merged.hdf5'\n",
|
||
"\n",
|
||
"merged.to_hdf(filename, 'merged')\n",
|
||
"selected.to_hdf(filename, 'selected')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 29,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"-rw-rw-r-- 1 downey downey 2.0M Oct 5 09:33 gd1_merged.hdf5\r\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"!ls -lh gd1_merged.hdf5"
|
||
]
|
||
},
|
||
{
|
||
"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",
|
||
"However, when we used `ginput` to define a polygon by hand, we introduced a non-reproducible element to the analysis. If someone running this notebook chooses a different polygon, they will get different results. So it is important to record the polygon we chose as part of the data analysis pipeline.\n",
|
||
"\n",
|
||
"Since `coords` is a NumPy array, we can't use `to_hdf` to save it in a file. But we can convert it to a Pandas `DataFrame` and save that.\n",
|
||
"\n",
|
||
"As an alternative, we could use [PyTables](http://www.pytables.org/index.html), which is the library Pandas uses to read and write files. It is a powerful library, but not easy to use directly. So let's take advantage of Pandas."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 50,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"coords_df = pd.DataFrame(coords)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 51,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"filename = 'gd1_polygon.hdf5'\n",
|
||
"coords_df.to_hdf(filename, 'coords_df')"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"We can read it back like this."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 52,
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"coords2_df = pd.read_hdf(filename, 'coords_df')\n",
|
||
"coords2 = coords2_df.to_numpy()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"metadata": {},
|
||
"source": [
|
||
"And verify that the data we read back is the same."
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 53,
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"text/plain": [
|
||
"True"
|
||
]
|
||
},
|
||
"execution_count": 53,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"np.all(coords2 == coords)"
|
||
]
|
||
},
|
||
{
|
||
"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": {
|
||
"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
|
||
}
|