Data Analysis — nasa_exoplanets.csv
Analysis of the NASA exoplanets dataset (27,522 rows, 11 columns): dataset summary, first-10-rows preview table, and README with Munzner-style column type classifications.
NASA Exoplanets Dataset
Dataset Overview
- Dataset file:
nasa_exoplanets.csv - Total row count: 27,522 (as indicated by the project dataset preview; duplicate reference rows are included).
- Total column count: 11
- Runtime path:
/data/nasa_exoplanets.csv
The visualization fetches the CSV at runtime and derives its row count, column headers, and 10-row preview from the file. It calculates the file size from the fetched file contents in bytes.
Column Descriptions
| Column | Description | Data type | Missing values, unusual values, or parsing assumptions |
|---|---|---|---|
pl_name |
Name or designation of the exoplanet. | Nominal | Planet names can occur in multiple rows because records from different references are retained. |
hostname |
Name or designation of the planet's host star. | Nominal | Repeated host names are expected for systems with multiple planets and reference records. |
discoverymethod |
Method by which the planet was discovered. | Nominal | Values may contain surrounding whitespace; trim whitespace before comparing categories. |
disc_year |
Year the planet was discovered. | Temporal | Often blank and may be whitespace-padded. Parse nonblank values as years; do not treat blanks as zero. |
pl_rade |
Planet radius, measured in Earth radii. | Quantitative | Parse as a number; blank or malformed values should be treated as missing. |
pl_bmasse |
Planet mass, measured in Earth masses. | Quantitative | Many values are blank; parse nonblank values as numbers and retain missingness. |
pl_orbper |
Planetary orbital period, in days. | Quantitative | Parse as a number; blank or malformed values should be treated as missing. |
st_teff |
Host star effective temperature, in kelvins. | Quantitative | Values may have surrounding whitespace; trim before numeric parsing. |
ra |
Right ascension coordinate, in degrees. | Geographic (latitude/longitude) | One component of the ra/dec coordinate pair. Parse as a number; the pair uses astronomical coordinates rather t |
dec |
Declination coordinate, in degrees. | Geographic (latitude/longitude) | One component of the ra/dec coordinate pair. Parse as a number; the pair uses astronomical coordinates rather than |
planet_type |
Broad planet size/type category, such as Jupiter-like, Neptune-like, or Earth-like. | Nominal | Values may be padded with whitespace; trim whitespace before category comparisons. |
Data Notes
- CSV fields are loaded as strings initially. Numeric and year fields should be parsed deliberately, preserving blanks as missing values.
- Duplicate rows for the same planet may represent measurements or entries from different references; they are retained in the supplied dataset.
- Whitespace-padded categorical and numeric strings should be trimmed during analysis.
Visualization Ideas
Discovery Timeline by Method
- Main question: How has the mix of exoplanet discovery methods changed over time?
- Relevant fields:
disc_year,discoverymethod,pl_name - Suggested encoding: A stacked area chart, with year on the x-axis, record counts on the y-axis, and discovery method represented by color.
- Interaction or annotation: Hover to inspect counts; annotate major changes in method prevalence.
- Implementation note: Trim and parse
disc_year, exclude blank years, and aggregate loaded CSV records by year and method.
Planet Radius Distribution
- Main question: Which planet sizes are most common, and how does the distribution vary by type?
- Relevant fields:
pl_rade,planet_type,pl_name - Suggested encoding: Overlaid or faceted histograms of
pl_rade, colored byplanet_type; use a logarithmic radius axis if the range is highly skewed. - Interaction or annotation: Add a type filter and tooltips showing bin ranges and counts.
- Implementation note: Parse valid radii as numbers, retain missingness separately, and build bins from the loaded data.
Mass–Radius Relationship
- Main question: How are measured planet mass and radius related, and do planet types occupy distinct regions?
- Relevant fields:
pl_bmasse,pl_rade,planet_type,pl_name - Suggested encoding: Scatterplot with mass on the x-axis, radius on the y-axis, and color for
planet_type; consider logarithmic scales. - Interaction or annotation: Hover for planet name and values; brushing can select a region for closer inspection.
- Implementation note: Include only records with both measurements and use actual parsed CSV values rather than fixed domains or example points.
Orbital Period Versus Planet Radius
- Main question: Do larger planets tend to have different orbital periods?
- Relevant fields:
pl_orbper,pl_rade,planet_type,pl_name - Suggested encoding: Scatterplot with log-scaled orbital period and radius axes; encode
planet_typeby color. - Interaction or annotation: Add zoom and a tooltip with period, radius, type, and planet name.
- Implementation note: Parse positive periods and radii, leaving blanks and invalid values out of plotted marks.
Exoplanet Discovery Sky Map
- Main question: Where on the sky are the recorded exoplanet hosts located?
- Relevant fields:
ra,dec,discoverymethod,pl_name,hostname - Suggested encoding: Celestial-coordinate scatterplot, with right ascension and declination as position and discovery method as color.
- Interaction or annotation: Hover to identify the host and planet; provide a method filter and an astronomical-coordinate grid.
- Implementation note: Parse both coordinates, handle right-ascension wraparound appropriately, and label axes with their units.
Discovery Methods by Planet Type
- Main question: Which discovery methods are associated with which planet types?
- Relevant fields:
discoverymethod,planet_type,pl_name - Suggested encoding: Heatmap with discovery method as rows, planet type as columns, and cell color representing record count or within-method percentage.
- Interaction or annotation: Hover to show raw counts and percentages; allow switching between count and normalized views.
- Implementation note: Trim category strings and aggregate the loaded records; explicitly indicate how duplicate records affect counts.
Host Systems with the Most Planet Records
- Main question: Which host stars have the greatest number of associated planet records?
- Relevant fields:
hostname,pl_name - Suggested encoding: Ranked horizontal bar chart of record counts per host, optionally distinguishing unique planet names from total rows.
- Interaction or annotation: Add a top-N selector and a tooltip that reports both counts.
- Implementation note: Group from the runtime-loaded dataset and make clear whether duplicate rows are included in each measure.
Planet-Type Composition by Discovery Year
- Main question: How has the distribution of planet types among discoveries changed over time?
- Relevant fields:
disc_year,planet_type,pl_name - Suggested encoding: A 100% stacked bar chart, with discovery year on the x-axis and planet-type share represented by segments.
- Interaction or annotation: Hover to compare each year's counts and shares; filter to a selected year range.
- Implementation note: Exclude blank years, trim type labels, and calculate proportions from the available records for each year.
Stellar Temperature and Planet Radius
- Main question: Do planets around hotter or cooler stars differ in radius?
- Relevant fields:
st_teff,pl_rade,planet_type,hostname - Suggested encoding: Scatterplot with host-star effective temperature on the x-axis, planet radius on the y-axis, and color for planet type.
- Interaction or annotation: Add a brush to select temperature bands and report selected-record summaries.
- Implementation note: Parse temperature and radius, omit incomplete pairs, and avoid implying a causal relationship.
Parallel Coordinates for Planet Properties
- Main question: Which combinations of measured properties distinguish groups of planets?
- Relevant fields:
pl_rade,pl_bmasse,pl_orbper,st_teff,disc_year,planet_type,discoverymethod - Suggested encoding: Parallel coordinates across selected numeric axes, with line color representing planet type or discovery method.
- Interaction or annotation: Support axis brushing, dimension reordering, and toggling numeric dimensions.
- Implementation note: Parse numeric fields, preserve missing values as gaps rather than zeros, and document any normalization used.
Planet Radius Circle Packing
- Main question: How are recorded planets distributed across broad radius ranges and planet types?
- Relevant fields:
pl_rade,planet_type,pl_name,hostname - Suggested encoding: Circle packing grouped by
planet_typeand radius bins, with circle area proportional to record count. - Interaction or annotation: Tooltips show the group, radius range, and count; clicking a group zooms into its contents.
- Implementation note: Derive radius bins from parsed values and label the view as a summary of records, not a map of physical planet sizes.
Mass Versus Habitable-Zone Proxy
- Main question: How do planet masses compare with a simple temperature-based proxy for potentially temperate host stars?
- Relevant fields:
pl_bmasse,st_teff,pl_rade,planet_type,pl_name - Suggested encoding: Scatterplot of stellar temperature versus planet mass, with point size encoding radius and color separating a clearly labeled user-selected temperature band from other records.
- Interaction or annotation: Make the temperature threshold adjustable and show a warning that stellar temperature alone does not determine habitability.
- Implementation note: Require valid parsed mass, temperature, and radius for the corresponding encodings; do not present the proxy as a confirmed habitable-zone classification.
Missing-Data Completeness Matrix
- Main question: Which fields are most frequently missing, and do missingness patterns occur together?
- Relevant fields: All 11 columns
- Suggested encoding: Heatmap with fields on one axis and missing/present status or pairwise missingness rate on the other.
- Interaction or annotation: Hover for record counts and percentages; offer a field selector for pairwise comparisons.
- Implementation note: Treat blank or whitespace-only cells as missing after trimming, and compute completeness from the loaded rows.
Orbital Period Distribution by Discovery Method
- Main question: How do observed orbital periods differ across discovery methods?
- Relevant fields:
pl_orbper,discoverymethod,pl_name - Suggested encoding: Violin plots or box plots by discovery method, using a logarithmic period axis where appropriate.
- Interaction or annotation: Show median, quartiles, and sample count on hover; allow filtering to methods with a minimum number of records.
- Implementation note: Include only positive parsed periods and state that method-specific sample sizes may differ.
Discovery-Year Calendar View
- Main question: In which years were the most planet records added, and how uneven is discovery activity over time?
- Relevant fields:
disc_year,pl_name,discoverymethod - Suggested encoding: Calendar-style year grid or tile chart, with tile color representing annual record count and optional small multiples by method.
- Interaction or annotation: Hover to reveal the year and count; annotate years with notably high counts.
- Implementation note: Parse nonblank years and derive all tile values from the dataset rather than assuming a fixed year range.
Small Multiples of Radius by Discovery Method
- Main question: How do planet-radius distributions compare across discovery methods?
- Relevant fields:
pl_rade,discoverymethod,planet_type - Suggested encoding: A grid of compact histograms or density plots, one panel per discovery method, using a shared radius scale.
- Interaction or annotation: Link a shared radius-range brush across panels and show each method's valid measurement count.
- Implementation note: Trim method names, exclude missing radii, and use consistent bin boundaries to make panels comparable.
Repeated Records and Measurement Variation
- Main question: For planets appearing in multiple rows, how much do their reported measurements vary?
- Relevant fields:
pl_name,pl_rade,pl_bmasse,pl_orbper,hostname - Suggested encoding: A distribution of within-planet ranges or paired dot-and-range plots for planets with multiple valid measurements.
- Interaction or annotation: Select a measurement field and hover to inspect the planet's row count and observed range.
- Implementation note: Group by trimmed
pl_name, retain duplicate rows, and distinguish repeated records from independently confirmed planets.
Discovery Method Flow to Planet Type
- Main question: What combinations of discovery method and planet type account for the recorded population?
- Relevant fields:
discoverymethod,planet_type,pl_name - Suggested encoding: Sankey diagram linking discovery-method nodes to planet-type nodes, with link width proportional to record count.
- Interaction or annotation: Hover on links for counts and percentages; allow highlighting a method or type.
- Implementation note: Normalize category whitespace and derive link totals from loaded rows, noting that repeated records contribute to totals.
Stellar Temperature Versus Discovery Year
- Main question: Have discoveries around hotter or cooler stars become more common over time?
- Relevant fields:
st_teff,disc_year,discoverymethod - Suggested encoding: Year-by-temperature density heatmap, with color representing record density and optional faceting by discovery method.
- Interaction or annotation: Add year-range and method filters, plus tooltips for the number of records in each bin.
- Implementation note: Parse nonblank years and temperatures, calculate bins from the observed data, and avoid treating empty fields as numeric values.
Interactive Record Explorer
- Main question: Which individual records match a combination of planet type, discovery method, year, and measured-value ranges?
- Relevant fields:
pl_name,hostname,planet_type,discoverymethod,disc_year,pl_rade,pl_bmasse,pl_orbper,st_teff - Suggested encoding: A coordinated dashboard with filter controls, a compact scatterplot, and a sortable record table.
- Interaction or annotation: Combine categorical filters and numeric range sliders; selecting a point highlights its corresponding table row.
- Implementation note: Load
/data/nasa_exoplanets.csvat runtime, trim strings, parse numeric fields carefully, and keep missing values filterable as a distinct state.