Skip to main content
100%

Data Analysis — nasa_exoplanets.csv

✓ Published20🌍 Public
CCurran Kelleher
Last edited Oct 9, 2026
Created on Oct 7, 2026

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

  1. 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.
  2. 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 by planet_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.
  3. 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.
  4. 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_type by 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. 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_type and 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.
  12. 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.
  13. 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.
  14. 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.
  15. 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.
  16. 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.
  17. 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.
  18. 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.
  19. 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.
  20. 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.csv at runtime, trim strings, parse numeric fields carefully, and keep missing values filterable as a distinct state.