saturn·

data trove us disasters mashup

saturn notebook · generated 2026-06-22 Report Notebook

Overview

Source: /home/coolhand/html/datavis/data_trove/data/wild/disasters/disasters_mashup.json

Saturn profiled 54,575 rows across 16 columns. The stats below are deterministic and machine-readable; the prose is a language-model interpretation of those stats (opt-in, added after the fact, never sees raw rows).

[2]:
!pip install saturn-dissect
import subprocess
subprocess.run([
    "saturn", "analyze", "/home/coolhand/html/datavis/data_trove/data/wild/disasters/disasters_mashup.json",
    "--findings", "data-trove-us-disasters-mashup.json",
    "--llm", "anthropic:default",
])

Summary confidence: medium

This dataset is a multi-hazard disaster event mashup of 54,575 records spanning aviation accidents, storms, earthquakes, and shipwrecks, each geolocated with latitude and longitude. Aviation accidents dominate heavily at nearly 59% of all records, with Cessna models being the most frequently involved aircraft — worth examining whether this reflects true prevalence or a reporting/sourcing bias. A second area of interest is the severity data: fatalities, injuries, and damage all carry a ~73% null rate, meaning consequence analysis is limited to roughly a quarter of the dataset and skewed toward zero-casualty events. The storm subcategory breakdown (Tornadoes, Flash Floods, Thunderstorm Wind) also deserves a closer look for geographic and seasonal clustering given the strong US state representation.

citing: category.top_values · subcategory.top_values · fatalities.null_rate · injuries.null_rate · damage.null_rate · aircraft_type.top_words · state.top_values · fatalities.top_values · category.stats.top_rate

Out[4]:

saturn.schema() · 16 columns

column kind n null% unique alerts
category categorical 54,575 0.0% 4
latitude numeric 54,575 0.0% 32,209 high_skew outliers
longitude numeric 54,575 0.0% 34,804 high_skew outliers
name text 54,575 0.0% 20,587 multilingual duplicates
date text 54,575 5.7% 9,264 one_word allcaps short_text duplicates
subcategory categorical 54,575 0.0% 20
magnitude categorical 54,575 80.1% 291 null_rate
fatalities categorical 54,575 72.9% 49 null_rate
injuries categorical 54,575 72.9% 178 null_rate
damage text 54,575 72.9% 1,014 one_word allcaps null_rate short_text duplicates
state categorical 54,575 72.9% 65 null_rate
aircraft_type text 54,575 40.6% 9,478 allcaps null_rate duplicates
event_id text 54,575 40.6% 26,427 one_word allcaps null_rate short_text
vessel_type categorical 54,575 93.3% 23 long_tail null_rate
cargo categorical 54,575 93.3% 17 long_tail null_rate imbalance
depth_km unknown 54,575 0.0% skipped
Fig 1.
category · Look for how heavily aviation accidents (59%) outweigh storms, earthquakes, and shipwrecks combined.
Show data table
Top values for category (4 unique shown, of 4 total).
valuecountshare
aviation_accident3241059.4%
storm1477027.1%
earthquake37426.9%
shipwreck36536.7%
Fig 2.
subcategory · Check whether aviation and Tornado dominate all other subcategories, signalling potential source imbalance.
Show data table
Top values for subcategory (20 unique shown, of 20 total).
valuecountshare
aviation3241059.4%
Tornado633411.6%
seismic37426.9%
maritime36536.7%
Flash Flood23584.3%
Thunderstorm Wind22574.1%
Flood17773.3%
Hail12462.3%
Lightning5741.1%
Heavy Rain990.2%
Marine Strong Wind430.1%
Debris Flow430.1%
Marine Thunderstorm Wind250.0%
Marine High Wind50.0%
Dust Devil30.0%
Waterspout20.0%
Tropical Storm10.0%
High Wind10.0%
Heat10.0%
Marine Lightning10.0%
Fig 3.
state · Texas leads by a wide margin — look for whether the top states reflect tornado-prone and storm-prone regions of the US.
Show data table
Top values for state (20 unique shown, of 65 total).
valuecountshare
TEXAS14502.7%
MISSOURI6481.2%
ARKANSAS6021.1%
MISSISSIPPI5701.0%
GEORGIA5621.0%
ILLINOIS5601.0%
IOWA5271.0%
LOUISIANA5070.9%
TENNESSEE4990.9%
FLORIDA4980.9%
OKLAHOMA4900.9%
NEBRASKA4860.9%
ALABAMA4690.9%
WISCONSIN4630.8%
OHIO4410.8%
MICHIGAN4260.8%
NORTH CAROLINA4220.8%
KANSAS4180.8%
INDIANA4080.7%
KENTUCKY3830.7%
Fig 4.
fatalities · The vast majority of recorded events show zero fatalities; look for how sharply the tail drops off beyond 1–2 deaths.
Show data table
Top values for fatalities (20 unique shown, of 49 total).
valuecountshare
01020918.7%
132085.9%
26491.2%
32220.4%
41120.2%
5740.1%
6660.1%
7380.1%
9250.0%
10240.0%
8210.0%
11200.0%
13110.0%
16100.0%
1290.0%
1480.0%
1760.0%
2060.0%
2540.0%
2330.0%
Fig 5.
date · Event counts cluster around 2002–2012 — look for whether coverage drops off in more recent or earlier years.
Show data table
Character-length distribution for date (mean: 9.979529946929492).
charscount
2 – 21
2 – 20
2 – 30
3 – 30
3 – 30
3 – 30
3 – 30
3 – 40
4 – 40
4 – 40
4 – 4151
4 – 40
4 – 50
5 – 50
5 – 50
5 – 513
5 – 50
5 – 60
6 – 60
6 – 60
6 – 61
6 – 60
6 – 70
7 – 70
7 – 70
7 – 719
7 – 70
7 – 80
8 – 80
8 – 80
8 – 85
8 – 80
8 – 90
9 – 90
9 – 90
9 – 93
9 – 90
9 – 100
10 – 100
10 – 1051248
Fig 6.
Per-column null rate across the corpus. Columns are ordered by input position.
Show data table
Per-column null rate across the corpus.
columnkindnull %
categorycategorical0.0%
latitudenumeric0.0%
longitudenumeric0.0%
nametext0.0%
datetext5.7%
subcategorycategorical0.0%
magnitudecategorical80.1%
fatalitiescategorical72.9%
injuriescategorical72.9%
damagetext72.9%
statecategorical72.9%
aircraft_typetext40.6%
event_idtext40.6%
vessel_typecategorical93.3%
cargocategorical93.3%
depth_kmunknown0.0%
Fig 7.
Language mix across all text columns (per-string detection, sampled).
Show data table
Per-language counts (total 4,964 detected strings).
langcountshare
en472695.2%
fr601.2%
de581.2%
es460.9%
ja320.6%
it130.3%
ru70.1%
zh60.1%
eu30.1%
pt30.1%
id30.1%
pl20.0%
sr10.0%
sv10.0%
ht10.0%
uk10.0%
lv10.0%
Fig 8.
Pearson correlation across numeric columns (sampled, bounded).
Show data table
Pearson correlation across 2 numeric columns (values clipped to 2 decimals).
latitudelongitude
latitude+1.00-0.45
longitude-0.45+1.00

category categorical label

This column is a disaster/incident type label with exactly 4 categories: aviation_accident, storm, earthquake, and shipwreck. The distribution is notably skewed — aviation_accident dominates at 59.4% of all 54,575 rows (32,410 records), while earthquake and shipwreck are each underrepresented at roughly 6.7% apiece. The entropy ratio of 0.74 confirms meaningful but unbalanced spread across classes, which could bias classifiers trained on this target without resampling.

Treatment: Use as classification target; apply class-weighting or oversampling for minority classes (earthquake, shipwreck) before modelling.

anthropic:default · confidence high
Out[14]:

saturn.columns["category"].stats

statvalue
n54,575
nulls0 (0.0%)
unique4
top_value aviation_accident
top_rate 0.5939
cardinality 4
entropy 1.483
entropy_ratio 0.7415
Fig 9.
Top values for category.
Show data table
Top values for category (4 unique shown, of 4 total).
valuecountshare
aviation_accident3241059.4%
storm1477027.1%
earthquake37426.9%
shipwreck36536.7%

latitude numeric feature

This column contains geographic latitude values ranging from -77.42 to 82.17, consistent with global coordinate data. The median of 38.38 and IQR of 9.12 suggest the bulk of records cluster around mid-latitude Northern Hemisphere locations (roughly US/Europe), but the negative minimum (-77.42) indicates some Southern Hemisphere entries. Highly surprising is the negative skew of -2.51 combined with extreme kurtosis of 15.97 and 4,302 outliers (7.88% of rows), pointing to a heavy tail of anomalous low-latitude or Southern Hemisphere observations that likely warrant geographic subsetting or anomaly review.

Treatment: Retain as-is for geo-spatial modelling; investigate the 4,302 outliers for data quality issues before binning or clustering by region.

anthropic:default · confidence high
Out[17]:

saturn.columns["latitude"].stats

statvalue
n54,575
nulls0 (0.0%)
unique32,209
min -77.42
max 82.17
mean 38.16
median 38.38
std 11.96
q1 33.65
q3 42.77
iqr 9.12
skew -2.51
kurtosis 15.97
n_outliers 4,302
outlier_rate 0.07883
zero_rate 0
alert: high_skewskew=-2.51
alert: outliers7.9% rows beyond 1.5 IQR
Fig 10.
Distribution of latitude. Vertical dash marks the median.
Show data table
Histogram bins for latitude (median: 38.376667).
bincount
-77.42 – -73.441
-73.44 – -69.450
-69.45 – -65.460
-65.46 – -61.471
-61.47 – -57.481
-57.48 – -53.495
-53.49 – -49.530
-49.5 – -45.5122
-45.51 – -41.5237
-41.52 – -37.5379
-37.53 – -33.54176
-33.54 – -29.55103
-29.55 – -25.5635
-25.56 – -21.57108
-21.57 – -17.5856
-17.58 – -13.5920
-13.59 – -9.59723
-9.597 – -5.60741
-5.607 – -1.61766
-1.617 – 2.37364
2.373 – 6.36328
6.363 – 10.35171
10.35 – 14.3470
14.34 – 18.33112
18.33 – 22.32346
22.32 – 26.31895
26.31 – 30.34049
30.3 – 34.299547
34.29 – 38.2810928
38.28 – 42.2712642
42.27 – 46.267278
46.26 – 50.252535
50.25 – 54.241308
54.24 – 58.231095
58.23 – 62.221761
62.22 – 66.21697
66.21 – 70.2220
70.2 – 74.1922
74.19 – 78.182
78.18 – 82.171

longitude numeric feature

This column contains geographic longitude values, spanning from -179.28° to +178.83°, consistent with worldwide coordinates. The mean (-92.97°) and median (-92.81°) are tightly clustered in the central United States, suggesting the bulk of records are North American, yet 4,320 outliers (7.9% of rows) and an extreme kurtosis of 15.13 indicate a heavy-tailed distribution with a substantial minority of globally dispersed points. The positive skew of 2.84 confirms an asymmetric pull toward higher (less-negative or positive) longitude values, i.e., non-US locations.

Treatment: Retain as-is for geospatial modelling; consider pairing with latitude and clustering by region to handle the bimodal/heavy-tailed distribution before feeding into non-spatial models.

anthropic:default · confidence high
Out[20]:

saturn.columns["longitude"].stats

statvalue
n54,575
nulls0 (0.0%)
unique34,804
min -179.3
max 178.8
mean -92.97
median -92.81
std 39.5
q1 -112
q3 -82.18
iqr 29.86
skew 2.843
kurtosis 15.13
n_outliers 4,320
outlier_rate 0.07916
zero_rate 0
alert: high_skewskew=+2.84
alert: outliers7.9% rows beyond 1.5 IQR
Fig 11.
Distribution of longitude. Vertical dash marks the median.
Show data table
Histogram bins for longitude (median: -92.8126).
bincount
-179.3 – -170.349
-170.3 – -161.41005
-161.4 – -152.41182
-152.4 – -143.51679
-143.5 – -134.5289
-134.5 – -125.6833
-125.6 – -116.66128
-116.6 – -107.74912
-107.7 – -98.713964
-98.71 – -89.7610929
-89.76 – -80.812439
-80.8 – -71.857045
-71.85 – -62.91013
-62.9 – -53.94178
-53.94 – -44.99139
-44.99 – -36.04143
-36.04 – -27.0940
-27.09 – -18.1315
-18.13 – -9.18139
-9.181 – -0.2277348
-0.2277 – 8.725275
8.725 – 17.68834
17.68 – 26.63267
26.63 – 35.58121
35.58 – 44.5436
44.54 – 53.4980
53.49 – 62.4453
62.44 – 71.392
71.39 – 80.3520
80.35 – 89.32
89.3 – 98.254
98.25 – 107.219
107.2 – 116.226
116.2 – 125.137
125.1 – 134.118
134.1 – 14341
143 – 15259
152 – 160.922
160.9 – 169.9140
169.9 – 178.8150

name text label

This column contains descriptive incident or event names, predominantly aviation accidents and natural disaster events (floods, tornadoes). The duplicate rate is strikingly high at 62.3% — with 33,988 duplicates across only 20,587 unique values out of 54,575 rows — largely driven by generic labels like 'Unnamed Wreck' (2,184 occurrences) and repeated aircraft model patterns (e.g., 'Aviation Accident - CESSNA 172' variants). While 86.6% of detected-language tokens are English, 14 other languages appear (French: 60, German: 58, Spanish: 46, Japanese: 32), indicating a multilingual dataset that may require language-aware processing.

Treatment: Normalize case variants (e.g., 'CESSNA 172' vs 'Cessna 172') before grouping or embedding; treat as a categorical label with high cardinality rather than free text.

anthropic:default · confidence high
Out[23]:

saturn.columns["name"].stats

statvalue
n54,575
nulls0 (0.0%)
unique20,587
len_min 2
len_max 153
len_mean 32.38
len_median 31
len_p95 48
word_mean 4.782
word_median 5
n_empty 0
n_duplicates 33,988
duplicate_rate 0.6228
vocab_size 8,062
readability_flesch_mean 8.744
emoji_rate 0
url_rate 0
one_word_rate 0.007971
allcaps_rate 0.001264
boilerplate_rate 0
alert: multilingual18 languages detected in sample
alert: duplicates62.3% duplicate strings
Fig 12.
Character-length distribution for name.
Show data table
Character-length distribution for name (mean: 32.38147503435639).
charscount
2 – 6129
6 – 10357
10 – 132564
13 – 17297
17 – 21296
21 – 252319
25 – 286611
28 – 3220097
32 – 367724
36 – 405480
40 – 443498
44 – 472132
47 – 511396
51 – 55827
55 – 59490
59 – 62191
62 – 6682
66 – 7019
70 – 7419
74 – 7814
78 – 815
81 – 858
85 – 892
89 – 935
93 – 961
96 – 1008
100 – 1040
104 – 1080
108 – 1110
111 – 1150
115 – 1191
119 – 1230
123 – 1270
127 – 1300
130 – 1342
134 – 1380
138 – 1420
142 – 1450
145 – 1490
149 – 1531

date text timestamp

This column contains date strings in ISO-8601 format (YYYY-MM-DD), stored as text rather than a native date type. Nearly all top values fall on January 1st of their respective years (2002–2012), suggesting dates are truncated or snapped to year-start, which is analytically significant and likely not raw event timestamps. The duplicate rate is extremely high at 81.99%, consistent with annual granularity across 54,575 rows, and 9,264 unique values hint that some finer dates do exist beyond the dominant Jan-1 entries. Null rate is low at 5.74%.

Treatment: Parse to date type, investigate year-start snapping before using as a time feature, and consider extracting year as an ordinal variable.

anthropic:default · confidence high
Out[26]:

saturn.columns["date"].stats

statvalue
n54,575
nulls3,134 (5.7%)
unique9,264
len_min 2
len_max 10
len_mean 9.98
len_median 10
len_p95 10
word_mean 1.002
word_median 1
n_empty 0
n_duplicates 42,177
duplicate_rate 0.8199
vocab_size 4,710
readability_flesch_mean 121.2
emoji_rate 0
url_rate 0
one_word_rate 0.9985
allcaps_rate 0.9983
boilerplate_rate 0
alert: one_word99.9% rows are a single word
alert: allcaps99.8% rows are all-caps
alert: short_text95th-percentile length under 20 chars
alert: duplicates82.0% duplicate strings
Fig 13.
Character-length distribution for date.
Show data table
Character-length distribution for date (mean: 9.979529946929492).
charscount
2 – 21
2 – 20
2 – 30
3 – 30
3 – 30
3 – 30
3 – 30
3 – 40
4 – 40
4 – 40
4 – 4151
4 – 40
4 – 50
5 – 50
5 – 50
5 – 513
5 – 50
5 – 60
6 – 60
6 – 60
6 – 61
6 – 60
6 – 70
7 – 70
7 – 70
7 – 719
7 – 70
7 – 80
8 – 80
8 – 80
8 – 85
8 – 80
8 – 90
9 – 90
9 – 90
9 – 93
9 – 90
9 – 100
10 – 100
10 – 1051248

subcategory categorical label

This column is a categorical event subcategory, most likely classifying incident or hazard reports across domains such as aviation, geophysical (seismic), meteorological (Tornado, Flash Flood, Thunderstorm Wind), and maritime events. 'aviation' dominates heavily at 59.4% of all 54,575 rows, creating pronounced class imbalance. A subtle data quality issue is present: some values use title case ('Tornado', 'Flash Flood', 'Thunderstorm Wind', 'Hail') while others are fully lowercase ('aviation', 'seismic', 'maritime'), suggesting records were ingested from at least two inconsistently formatted sources. Entropy ratio of 0.49 confirms the distribution is far from uniform.

Treatment: Normalize casing before use, then one-hot encode or target-encode accounting for the heavy 'aviation' majority (59.4%).

anthropic:default · confidence high
Out[29]:

saturn.columns["subcategory"].stats

statvalue
n54,575
nulls0 (0.0%)
unique20
top_value aviation
top_rate 0.5939
cardinality 20
entropy 2.115
entropy_ratio 0.4894
Fig 14.
Top values for subcategory.
Show data table
Top values for subcategory (20 unique shown, of 20 total).
valuecountshare
aviation3241059.4%
Tornado633411.6%
seismic37426.9%
maritime36536.7%
Flash Flood23584.3%
Thunderstorm Wind22574.1%
Flood17773.3%
Hail12462.3%
Lightning5741.1%
Heavy Rain990.2%
Marine Strong Wind430.1%
Debris Flow430.1%
Marine Thunderstorm Wind250.0%
Marine High Wind50.0%
Dust Devil30.0%
Waterspout20.0%
Tropical Storm10.0%
High Wind10.0%
Heat10.0%
Marine Lightning10.0%

magnitude categorical feature

This column represents earthquake or seismic event magnitude, stored as a categorical/string type despite being a numeric measurement with 291 distinct decimal values (e.g., 4.5, 4.6, 4.7). Two signals demand attention: the null rate is extremely high at 80.09%, meaning only ~10,866 of 54,575 rows carry a value. The dominant value '0' accounts for 35.56% of non-null records (3,863 occurrences), which is likely a sentinel or placeholder rather than a true zero magnitude, since genuine zero-magnitude events would be vanishingly rare and the next most frequent values cluster around 4.5–5.1.

Treatment: Cast to float after replacing '0' sentinel values with NaN; investigate whether 80.09% nulls are structurally missing or data quality issues before imputing or dropping rows.

anthropic:default · confidence high
Out[32]:

saturn.columns["magnitude"].stats

statvalue
n54,575
nulls43,711 (80.1%)
unique291
top_value 0
top_rate 0.3556
cardinality 291
entropy 4.732
entropy_ratio 0.5781
alert: null_rate80.1% null
Fig 15.
Top values for magnitude.
Show data table
Top values for magnitude (20 unique shown, of 291 total).
valuecountshare
038637.1%
4.56861.3%
4.65581.0%
4.74150.8%
1.753830.7%
4.83170.6%
4.92610.5%
52380.4%
2.752200.4%
5.12020.4%
5.21670.3%
70.001620.3%
50.001510.3%
2.001500.3%
5.31260.2%
2.501230.2%
61.001220.2%
65.001040.2%
52.00950.2%
5.4950.2%

fatalities categorical feature

This column represents a fatality count per incident, stored as a categorical/string type despite being numeric in nature. The null rate is severe at 72.94%, meaning nearly three-quarters of records have no value recorded — this is the primary alert. Among non-null values, the distribution is heavily right-skewed: '0' dominates at 69.1% of non-null rows, with counts dropping sharply through 49 distinct values, indicating rare but high-fatality events exist in the tail.

Treatment: Cast to integer, treat nulls as unknown (not zero), then apply log1p-transform or use as-is for count-based modelling given heavy zero-inflation.

anthropic:default · confidence high
Out[35]:

saturn.columns["fatalities"].stats

statvalue
n54,575
nulls39,805 (72.9%)
unique49
top_value 0
top_rate 0.6912
cardinality 49
entropy 1.423
entropy_ratio 0.2535
alert: null_rate72.9% null
Fig 16.
Top values for fatalities.
Show data table
Top values for fatalities (20 unique shown, of 49 total).
valuecountshare
01020918.7%
132085.9%
26491.2%
32220.4%
41120.2%
5740.1%
6660.1%
7380.1%
9250.0%
10240.0%
8210.0%
11200.0%
13110.0%
16100.0%
1290.0%
1480.0%
1760.0%
2060.0%
2540.0%
2330.0%

injuries categorical feature

This column represents an injury count per incident, stored as a categorical type despite containing integer values (0, 1, 2, …). The dominant concern is an extreme null rate of 72.94%, meaning nearly three-quarters of rows carry no injury data at all. Among non-null rows, the value '0' accounts for 68.14% of responses, indicating most recorded incidents involved no injuries, with a long tail reaching at least 178 distinct values — suggesting occasional high-casualty outliers.

Treatment: Cast to integer, impute or flag nulls explicitly, then consider log-transform or treat as a count target given heavy zero-inflation.

anthropic:default · confidence high
Out[38]:

saturn.columns["injuries"].stats

statvalue
n54,575
nulls39,805 (72.9%)
unique178
top_value 0
top_rate 0.6814
cardinality 178
entropy 2.468
entropy_ratio 0.3301
alert: null_rate72.9% null
Fig 17.
Top values for injuries.
Show data table
Top values for injuries (20 unique shown, of 178 total).
valuecountshare
01006418.4%
18931.6%
25521.0%
33430.6%
42360.4%
52340.4%
102190.4%
61960.4%
121580.3%
71340.2%
81210.2%
201140.2%
151110.2%
11900.2%
9850.2%
13700.1%
14690.1%
30680.1%
25560.1%
16480.1%

damage text feature

This column contains abbreviated monetary damage estimates (e.g., '2.5M', '250K', '0.00K') stored as free-form text, most likely representing financial loss or property damage figures from incident or insurance records. The null rate is extremely high at 72.94%, meaning nearly three-quarters of rows carry no damage value. The all-caps rate of 87.2% and one-word rate of 100% confirm a consistent but non-numeric encoding; the 1,014 unique values across 54,575 rows with a duplicate rate of 93.1% indicate a relatively coarse discrete scale. Analysts should note that string suffixes (K vs M) encode magnitude and must be parsed before any quantitative use.

Treatment: Parse magnitude suffixes (K=thousands, M=millions) and convert to a numeric column; impute or flag the 72.94% nulls before modelling.

anthropic:default · confidence high
Out[41]:

saturn.columns["damage"].stats

statvalue
n54,575
nulls39,805 (72.9%)
unique1,014
len_min 0
len_max 8
len_mean 4.381
len_median 5
len_p95 7
word_mean 1
word_median 1
n_empty 368
n_duplicates 13,756
duplicate_rate 0.9313
vocab_size 1,013
readability_flesch_mean 117
emoji_rate 0
url_rate 0
one_word_rate 1
allcaps_rate 0.8724
boilerplate_rate 0
alert: one_word100.0% rows are a single word
alert: allcaps87.2% rows are all-caps
alert: null_rate72.9% null
alert: short_text95th-percentile length under 20 chars
alert: duplicates93.1% duplicate strings
Fig 18.
Character-length distribution for damage.
Show data table
Character-length distribution for damage (mean: 4.380568720379147).
charscount
0 – 0368
0 – 00
0 – 10
1 – 10
1 – 10
1 – 1264
1 – 10
1 – 20
2 – 20
2 – 20
2 – 21252
2 – 20
2 – 30
3 – 30
3 – 30
3 – 31172
3 – 30
3 – 40
4 – 40
4 – 40
4 – 43414
4 – 40
4 – 50
5 – 50
5 – 50
5 – 56075
5 – 50
5 – 60
6 – 60
6 – 60
6 – 61450
6 – 60
6 – 70
7 – 70
7 – 70
7 – 7514
7 – 70
7 – 80
8 – 80
8 – 8261

state categorical feature

This column contains US state names (full uppercase spellings), acting as a geographic feature for records in the dataset. The critical issue is a 72.94% null rate, meaning nearly three-quarters of all 54,575 rows carry no state value — this is a severe missingness alert. Among non-null values, cardinality is 65 (slightly above 50 US states, suggesting territories or data anomalies), and distribution is moderately spread (entropy ratio 0.86) with Texas as the dominant value at 9.82% of non-null records.

Treatment: Investigate missingness mechanism before use; consider imputation or missingness indicator flag, and audit the 65 unique values to identify non-standard entries beyond the 50 states.

anthropic:default · confidence high
Out[44]:

saturn.columns["state"].stats

statvalue
n54,575
nulls39,805 (72.9%)
unique65
top_value TEXAS
top_rate 0.09817
cardinality 65
entropy 5.182
entropy_ratio 0.8605
alert: null_rate72.9% null
Fig 19.
Top values for state.
Show data table
Top values for state (20 unique shown, of 65 total).
valuecountshare
TEXAS14502.7%
MISSOURI6481.2%
ARKANSAS6021.1%
MISSISSIPPI5701.0%
GEORGIA5621.0%
ILLINOIS5601.0%
IOWA5271.0%
LOUISIANA5070.9%
TENNESSEE4990.9%
FLORIDA4980.9%
OKLAHOMA4900.9%
NEBRASKA4860.9%
ALABAMA4690.9%
WISCONSIN4630.8%
OHIO4410.8%
MICHIGAN4260.8%
NORTH CAROLINA4220.8%
KANSAS4180.8%
INDIANA4080.7%
KENTUCKY3830.7%

aircraft_type text label

This column contains aircraft make-and-model designations (e.g., 'Cessna 172', 'Piper PA-28-140') from what appears to be an aviation incident or registration dataset. Two major surprises: first, 40.6% of rows are null, indicating substantial missing coverage; second, case inconsistency is severe — 'CESSNA 172' (360 occurrences) and 'Cessna 172' (189 occurrences) are counted as distinct values despite being the same aircraft, with ~49.5% of values in all-caps, inflating n_unique (9,478) and the duplicate rate (70.8%) artificially. The top words confirm a GA-heavy dataset dominated by Cessna, Piper, and Beech.

Treatment: Normalize case (lowercase or title-case), then deduplicate/consolidate variant spellings before using as a categorical feature or grouping key.

anthropic:default · confidence high
Out[47]:

saturn.columns["aircraft_type"].stats

statvalue
n54,575
nulls22,165 (40.6%)
unique9,478
len_min 7
len_max 50
len_mean 15.85
len_median 13
len_p95 31
word_mean 2
word_median 2
n_empty 0
n_duplicates 22,932
duplicate_rate 0.7076
vocab_size 7,261
readability_flesch_mean 45.12
emoji_rate 0
url_rate 0
one_word_rate 0
allcaps_rate 0.4955
boilerplate_rate 0
alert: allcaps49.5% rows are all-caps
alert: null_rate40.6% null
alert: duplicates70.8% duplicate strings
Fig 20.
Character-length distribution for aircraft_type.
Show data table
Character-length distribution for aircraft_type (mean: 15.850848503548288).
charscount
7 – 8592
8 – 91240
9 – 103852
10 – 117354
11 – 122473
12 – 131129
13 – 151380
15 – 163032
16 – 171131
17 – 18853
18 – 191024
19 – 20779
20 – 21670
21 – 221117
22 – 23947
23 – 24528
24 – 25507
25 – 26403
26 – 27455
27 – 28447
28 – 30312
30 – 31352
31 – 32258
32 – 33282
33 – 34261
34 – 35276
35 – 36283
36 – 37145
37 – 3856
38 – 3946
39 – 4035
40 – 4148
41 – 4251
42 – 4438
44 – 4519
45 – 465
46 – 477
47 – 486
48 – 492
49 – 5015

event_id text foreign_key

This column is an aviation or safety incident event identifier — the 14-character format (e.g., '20010519X00967') encodes a date prefix followed by an alphanumeric case code, consistent with NTSB accident/incident IDs. Two signals are surprising: a null rate of 40.61% means nearly half of rows lack an event ID entirely, and the duplicate rate of 18.46% (5,983 duplicates across 26,427 unique values) indicates multiple rows share the same event ID, implying a one-to-many relationship where each event spawns several records. All values are exactly 14 characters and fully uppercase, confirming a tightly controlled format with no malformed entries.

Treatment: Left-join on this ID to an events dimension table; investigate and handle the 40.61% null rate before joining.

anthropic:default · confidence high
Out[50]:

saturn.columns["event_id"].stats

statvalue
n54,575
nulls22,165 (40.6%)
unique26,427
len_min 14
len_max 14
len_mean 14
len_median 14
len_p95 14
word_mean 1
word_median 1
n_empty 0
n_duplicates 5,983
duplicate_rate 0.1846
vocab_size 17,535
readability_flesch_mean 121.2
emoji_rate 0
url_rate 0
one_word_rate 1
allcaps_rate 1
boilerplate_rate 0
alert: one_word100.0% rows are a single word
alert: allcaps100.0% rows are all-caps
alert: null_rate40.6% null
alert: short_text95th-percentile length under 20 chars
Fig 21.
Character-length distribution for event_id.
Show data table
Character-length distribution for event_id (mean: 14.0).
charscount
14 – 140
14 – 140
14 – 140
14 – 140
14 – 140
14 – 140
14 – 140
14 – 140
14 – 140
14 – 140
14 – 140
14 – 140
14 – 140
14 – 140
14 – 140
14 – 140
14 – 140
14 – 140
14 – 140
14 – 140
14 – 1432410
14 – 140
14 – 140
14 – 140
14 – 140
14 – 140
14 – 140
14 – 140
14 – 140
14 – 140
14 – 140
14 – 140
14 – 140
14 – 140
14 – 140
14 – 140
14 – 140
14 – 140
14 – 140
14 – 140

vessel_type categorical feature

This column categorizes the type of vessel involved in an incident or record, with 23 distinct values including 'ship', 'submarine', 'aircraft', and oddly 'car'. Two major data quality issues stand out: the null rate is extreme at 93.31%, meaning only ~3,700 of 54,575 rows carry any value, and the top recorded value is an empty string (3,311 occurrences), which inflates the apparent top_rate to 90.6% — suggesting the true fill rate is even lower than the null_rate implies. The long-tail alert is consistent with rare values like 'schooner' (2), 'sailboat' (2), and 'steamer' (1), while 'car' appearing as a vessel type signals potential data entry errors or schema misuse.

Treatment: Treat empty strings as nulls, impute or exclude before modelling given 93.31% missingness, and audit 'car' and 'aircraft' entries for schema validity.

anthropic:default · confidence high
Out[53]:

saturn.columns["vessel_type"].stats

statvalue
n54,575
nulls50,922 (93.3%)
unique23
top_value
top_rate 0.9064
cardinality 23
entropy 0.5764
entropy_ratio 0.1274
alert: long_tail14 singleton categories
alert: null_rate93.3% null
Fig 22.
Top values for vessel_type.
Show data table
Top values for vessel_type (20 unique shown, of 23 total).
valuecountshare
33116.1%
ship2750.5%
submarine180.0%
aircraft160.0%
plane100.0%
boat30.0%
schooner20.0%
car20.0%
sailboat20.0%
steamer10.0%
airplane10.0%
freightcar10.0%
train10.0%
paddle steamer10.0%
vehicle10.0%
motorbike10.0%
helicopter10.0%
Steam hoist10.0%
tractor10.0%
Airplane10.0%

cargo categorical feature

This column records the type of cargo carried by vessels or vehicles, with 17 distinct categories including 'human', 'timber', 'coal', 'fertilizer', and 'fish'. It is overwhelmingly sparse: 93.31% of rows are null, and among the non-null rows the top value is an empty string (3,632 occurrences), meaning genuinely populated values number only in the single digits each. The entropy ratio of 0.018 confirms near-total concentration, and the presence of a German-language entry ('Fischkutter (Stahl)') signals a language mix in the rare populated records.

Treatment: Exclude from modelling unless the non-null subset is the analytic focus; treat empty strings as nulls, consolidate language variants, and flag the 93.31% missingness as likely structural (field not applicable to most records).

anthropic:default · confidence high
Out[56]:

saturn.columns["cargo"].stats

statvalue
n54,575
nulls50,922 (93.3%)
unique17
top_value
top_rate 0.9943
cardinality 17
entropy 0.07302
entropy_ratio 0.01786
alert: long_tail13 singleton categories
alert: null_rate93.3% null
alert: imbalancetop value is 99.4% of rows
Fig 23.
Top values for cargo.
Show data table
Top values for cargo (17 unique shown, of 17 total).
valuecountshare
36326.7%
human40.0%
timber20.0%
coal20.0%
fertilizer10.0%
ore pellets10.0%
Fischkutter (Stahl)10.0%
seafood10.0%
fish10.0%
passengers10.0%
mexican army supposed drugs, but the crew and cargo was not found10.0%
iron ore10.0%
pulp10.0%
18 mines, 6 torpedos10.0%
sugar10.0%
containers;vehicles10.0%
container;oil10.0%

depth_km unknown feature

This column represents earthquake or geological event depth in kilometres, a continuous numeric feature. The profiler skipped analysis entirely, so no distribution statistics, uniqueness counts, or range information are available. With 54,575 rows and a null rate of 0.0, the data is fully populated, but nothing can be said about skew, outliers, or value range from this evidence alone. An analyst should inspect the column directly before modelling.

Treatment: Manually profile for range and skew; apply log-transform if depth distribution is right-skewed before regression.

anthropic:default · confidence low
Out[59]:

saturn.columns["depth_km"].stats

statvalue
n54,575
nulls0 (0.0%)
unique
alert: skippedno profiler for kind=unknown

How to cite

click to copy

BibTeX
@misc{saturn-data-trove-us-disasters-mashup-2026,
  author       = {Steuber, Luke},
  title        = {Saturn reading: data trove us disasters mashup},
  year         ={2026},
  howpublished = {\url{https://dr.eamer.dev/saturn/view/data-trove-us-disasters-mashup}},
  note         = {Profiled with saturn-dissect v0.2.0, prompt saturn-insight-v2, model anthropic:default},
}
APA
Steuber, L. (2026). Saturn reading: data trove us disasters mashup. Source: /home/coolhand/html/datavis/data_trove/data/wild/disasters/disasters_mashup.json. Profiled with saturn-dissect v0.2.0 (saturn-insight-v2, anthropic:default). Retrieved from https://dr.eamer.dev/saturn/view/data-trove-us-disasters-mashup