saturn·

quirky megaliths

saturn notebook · generated 2026-05-01 Report Notebook

Overview

Source: /home/coolhand/html/datavis/data_trove/data/quirky/megaliths.json

Saturn profiled 15,464 rows across 14 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/quirky/megaliths.json",
    "--findings", "quirky-megaliths.json",
    "--llm", "anthropic:claude-opus-4-7",
])

Summary confidence: high

This dataset catalogues 15,464 megalithic sites with 14 fields covering geographic coordinates, classification (type, megalith_type, material), heritage status, and external references (wikidata, wikipedia, name). Coverage is uneven: many descriptive fields are mostly empty (description is blank in 14,814 rows, material in 15,223, start_date in 15,430), so analysis should lean on the well-populated columns. The most informative categorical is megalith_type, where menhir (5,231) and dolmen (4,501) dominate but 73 distinct subtypes appear, while the broader type field is overwhelmingly 'megalith' (97.7%). Geographically, lat/lon are highly skewed with heavy clustering in Europe (median lat 47.6, lon -1.6) and a long tail of outliers stretching as far as 144°E and -51°S. Start with megalith_type and the lat/lon distributions to understand what kinds of sites exist and where they cluster.

citing: megalith_type · type · lat · lon · material · description · start_date · osm_type · heritage · name

Out[4]:

saturn.schema() · 14 columns

column kind n null% unique alerts
id numeric 15,464 0.0% 15,464
osm_type categorical 15,464 0.0% 2
name text 15,464 0.0% 9,869 one_word duplicates
lat numeric 15,464 0.0% 15,320 high_skew
lon numeric 15,464 0.0% 15,407 high_skew
type categorical 15,464 0.0% 19 imbalance
megalith_type categorical 15,464 0.0% 73
description categorical 15,464 0.0% 587 long_tail imbalance
wikipedia text 15,464 0.0% 2,058 one_word duplicates
wikidata text 15,464 0.0% 4,289 one_word allcaps short_text duplicates
heritage categorical 15,464 0.0% 12
heritage_operator categorical 15,464 0.0% 31
start_date categorical 15,464 0.0% 26 long_tail imbalance
material categorical 15,464 0.0% 13 long_tail imbalance
Fig 1.
megalith_type · Shows the dominance of menhirs and dolmens among 73 subtypes — the richest categorical signal in the dataset.
Show data table
Top values for megalith_type (20 unique shown, of 73 total).
valuecountshare
menhir523133.8%
dolmen450129.1%
171411.1%
nuraghe10807.0%
stone_circle10116.5%
passage_grave5373.5%
chamber4372.8%
long_barrow1841.2%
alignment1160.8%
cist1070.7%
gallery_grave850.5%
standing_stone680.4%
stone_ship470.3%
tholos320.2%
court_tomb320.2%
round_barrow250.2%
well230.1%
wedge_tomb230.1%
cairn200.1%
stone200.1%
Fig 2.
lat · Reveals the strong European clustering (median ~47.6°N) and a long left tail of southern-hemisphere outliers.
Show data table
Histogram bins for lat (median: 47.59247835).
bincount
-51.81 – -48.881
-48.88 – -45.960
-45.96 – -43.040
-43.04 – -40.110
-40.11 – -37.191
-37.19 – -34.260
-34.26 – -31.343
-31.34 – -28.410
-28.41 – -25.492
-25.49 – -22.560
-22.56 – -19.641
-19.64 – -16.721
-16.72 – -13.794
-13.79 – -10.874
-10.87 – -7.9428
-7.942 – -5.01821
-5.018 – -2.0933
-2.093 – 0.831313
0.8313 – 3.75626
3.756 – 6.681
6.68 – 9.6057
9.605 – 12.535
12.53 – 15.458
15.45 – 18.382
18.38 – 21.35
21.3 – 24.232
24.23 – 27.158
27.15 – 30.083
30.08 – 339
33 – 35.9238
35.92 – 38.85523
38.85 – 41.772211
41.77 – 44.73646
44.7 – 47.623269
47.62 – 50.551808
50.55 – 53.471660
53.47 – 56.41627
56.4 – 59.32506
59.32 – 62.2433
62.24 – 65.175
Fig 3.
lon · Highlights the western-European concentration with extreme outliers spanning -151° to 144°.
Show data table
Histogram bins for lon (median: -1.6201083).
bincount
-151.4 – -1441
-144 – -136.60
-136.6 – -129.20
-129.2 – -121.71
-121.7 – -114.30
-114.3 – -106.91
-106.9 – -99.541
-99.54 – -92.142
-92.14 – -84.742
-84.74 – -77.336
-77.33 – -69.9334
-69.93 – -62.532
-62.53 – -55.131
-55.13 – -47.725
-47.72 – -40.321
-40.32 – -32.920
-32.92 – -25.520
-25.52 – -18.120
-18.12 – -10.714
-10.71 – -3.313136
-3.31 – 4.0927654
4.092 – 11.493031
11.49 – 18.9921
18.9 – 26.358
26.3 – 33.715
33.7 – 41.1441
41.1 – 48.5121
48.51 – 55.913
55.91 – 63.310
63.31 – 70.711
70.71 – 78.127
78.12 – 85.527
85.52 – 92.927
92.92 – 100.31
100.3 – 107.719
107.7 – 115.17
115.1 – 122.523
122.5 – 129.930
129.9 – 137.315
137.3 – 144.76
Fig 4.
osm_type · Simple split showing ~86% of records are OSM nodes versus ways, useful for understanding source geometry.
Show data table
Top values for osm_type (2 unique shown, of 2 total).
valuecountshare
node1331186.1%
way215313.9%
Fig 5.
type · Illustrates the severe imbalance where 'megalith' covers 97.7% of rows, suggesting this top-level field is less useful than megalith_type.
Show data table
Top values for type (19 unique shown, of 19 total).
valuecountshare
megalith1511397.7%
menhir1561.0%
dolmen830.5%
standing_stone590.4%
stone_circle160.1%
nuraghe80.1%
gallery_grave60.0%
passage_grave50.0%
lech40.0%
stone_ship30.0%
tholos20.0%
chamber20.0%
village10.0%
plaque10.0%
cist10.0%
long_barrow10.0%
chambered_cairn10.0%
grave_field10.0%
stone10.0%
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 %
idnumeric0.0%
osm_typecategorical0.0%
nametext0.0%
latnumeric0.0%
lonnumeric0.0%
typecategorical0.0%
megalith_typecategorical0.0%
descriptioncategorical0.0%
wikipediatext0.0%
wikidatatext0.0%
heritagecategorical0.0%
heritage_operatorcategorical0.0%
start_datecategorical0.0%
materialcategorical0.0%
Fig 7.
Pearson correlation across numeric columns (sampled, bounded).
Show data table
Pearson correlation across 3 numeric columns (values clipped to 2 decimals).
idlatlon
id+1.00+0.00-0.05
lat+0.00+1.00-0.11
lon-0.05-0.11+1.00

id numeric identifier

This is an identifier column: all 15464 values are unique with no nulls and no zeros, spanning 24151805 to 13537320281. The numeric stats (mean 4503184709.89, std 3470459882.49, skew 0.89) reflect ID allocation rather than a meaningful distribution. Treat the numeric summary as incidental.

Treatment: Use as a join key; exclude from modelling features.

anthropic:claude-opus-4-7 · confidence high
Out[13]:

saturn.columns["id"].stats

statvalue
n15,464
nulls0 (0.0%)
unique15,464
min 2.415e+07
max 1.354e+10
mean 4.503e+09
median 3.411e+09
std 3.47e+09
q1 2.375e+09
q3 6.845e+09
iqr 4.471e+09
skew 0.8907
kurtosis -0.2006
n_outliers 0
outlier_rate 0
zero_rate 0
Fig 8.
Distribution of id. Vertical dash marks the median.
Show data table
Histogram bins for id (median: 3411205875.5).
bincount
2.415e+07 – 3.62e+08682
3.62e+08 – 6.998e+08889
6.998e+08 – 1.038e+09623
1.038e+09 – 1.375e+09736
1.375e+09 – 1.713e+09297
1.713e+09 – 2.051e+09352
2.051e+09 – 2.389e+09305
2.389e+09 – 2.727e+092679
2.727e+09 – 3.065e+09300
3.065e+09 – 3.402e+09756
3.402e+09 – 3.74e+09951
3.74e+09 – 4.078e+09705
4.078e+09 – 4.416e+09532
4.416e+09 – 4.754e+09318
4.754e+09 – 5.092e+09386
5.092e+09 – 5.429e+09200
5.429e+09 – 5.767e+09207
5.767e+09 – 6.105e+09261
6.105e+09 – 6.443e+09161
6.443e+09 – 6.781e+09175
6.781e+09 – 7.119e+09250
7.119e+09 – 7.456e+09270
7.456e+09 – 7.794e+0989
7.794e+09 – 8.132e+09115
8.132e+09 – 8.47e+09734
8.47e+09 – 8.808e+09391
8.808e+09 – 9.146e+09155
9.146e+09 – 9.483e+09137
9.483e+09 – 9.821e+09204
9.821e+09 – 1.016e+10137
1.016e+10 – 1.05e+1094
1.05e+10 – 1.083e+10180
1.083e+10 – 1.117e+10175
1.117e+10 – 1.151e+10157
1.151e+10 – 1.185e+10133
1.185e+10 – 1.219e+10114
1.219e+10 – 1.252e+10132
1.252e+10 – 1.286e+1097
1.286e+10 – 1.32e+10255
1.32e+10 – 1.354e+10130

osm_type categorical feature

This column records the OpenStreetMap geometry type for each record, taking only two values: "node" (13311 rows, 86%) and "way" (2153 rows). With cardinality of 2 and no nulls across 15464 rows, it's a clean binary categorical, though the 86/14 split means "way" is the clear minority class.

Treatment: Encode as a binary indicator (e.g., is_node) before modelling.

anthropic:claude-opus-4-7 · confidence high
Out[16]:

saturn.columns["osm_type"].stats

statvalue
n15,464
nulls0 (0.0%)
unique2
top_value node
top_rate 0.8608
cardinality 2
entropy 0.5822
entropy_ratio 0.5822
Fig 9.
Top values for osm_type.
Show data table
Top values for osm_type (2 unique shown, of 2 total).
valuecountshare
node1331186.1%
way215313.9%

name text label

This is a free-text 'name' field for megalithic monuments, mixing English, French, German, Italian and Cyrillic labels (e.g. 'Dolmen', 'Menhir', 'Großsteingrab', 'Нураге', 'Дольмен'). It is short (mean 13.6 chars, median 2 words) and heavily duplicated: 36.2% are repeats and 4720 rows (≈30%) are empty strings, leaving only 9869 unique values out of 15464. The vocabulary is dominated by generic monument types rather than proper names, so 37.8% are single-word entries.

Treatment: Treat as a categorical type label after lowercasing and language-normalising; do not use as a unique identifier.

anthropic:claude-opus-4-7 · confidence high
Out[19]:

saturn.columns["name"].stats

statvalue
n15,464
nulls0 (0.0%)
unique9,869
len_min 0
len_max 84
len_mean 13.65
len_median 15
len_p95 30
word_mean 2.495
word_median 2
n_empty 4,720
n_duplicates 5,595
duplicate_rate 0.3618
vocab_size 9,447
readability_flesch_mean 46.9
emoji_rate 0
url_rate 0
one_word_rate 0.3782
allcaps_rate 0.003169
boilerplate_rate 0
alert: one_word37.8% rows are a single word
alert: duplicates36.2% duplicate strings
Fig 10.
Character-length distribution for name.
Show data table
Character-length distribution for name (mean: 13.64685721676151).
charscount
0 – 24725
2 – 427
4 – 6252
6 – 8552
8 – 10420
10 – 13493
13 – 15810
15 – 171037
17 – 191247
19 – 211295
21 – 231726
23 – 25831
25 – 27680
27 – 29447
29 – 32283
32 – 34185
34 – 36134
36 – 3886
38 – 4083
40 – 4237
42 – 4443
44 – 4615
46 – 4813
48 – 5013
50 – 524
52 – 559
55 – 574
57 – 591
59 – 615
61 – 632
63 – 652
65 – 671
67 – 690
69 – 711
71 – 740
74 – 760
76 – 780
78 – 800
80 – 820
82 – 841

lat numeric feature

This is a latitude coordinate column with 15320 unique values across 15464 rows and no nulls. Values span -51.81 to 65.17 with a median of 47.59 and Q1-Q3 of 42.95-50.52, indicating most observations cluster in the northern mid-latitudes (likely Europe/North America). The strong negative skew (-3.09) and high kurtosis (26.33) reflect a small tail of southern-hemisphere points pulling against an otherwise tight northern cluster, with 134 outliers flagged.

Treatment: Pair with longitude as a geospatial feature; consider binning by region or projecting before modelling rather than using raw latitude.

anthropic:claude-opus-4-7 · confidence high
Out[22]:

saturn.columns["lat"].stats

statvalue
n15,464
nulls0 (0.0%)
unique15,320
min -51.81
max 65.17
mean 46.41
median 47.59
std 6.81
q1 42.95
q3 50.52
iqr 7.569
skew -3.087
kurtosis 26.33
n_outliers 134
outlier_rate 0.008665
zero_rate 0
alert: high_skewskew=-3.09
Fig 11.
Distribution of lat. Vertical dash marks the median.
Show data table
Histogram bins for lat (median: 47.59247835).
bincount
-51.81 – -48.881
-48.88 – -45.960
-45.96 – -43.040
-43.04 – -40.110
-40.11 – -37.191
-37.19 – -34.260
-34.26 – -31.343
-31.34 – -28.410
-28.41 – -25.492
-25.49 – -22.560
-22.56 – -19.641
-19.64 – -16.721
-16.72 – -13.794
-13.79 – -10.874
-10.87 – -7.9428
-7.942 – -5.01821
-5.018 – -2.0933
-2.093 – 0.831313
0.8313 – 3.75626
3.756 – 6.681
6.68 – 9.6057
9.605 – 12.535
12.53 – 15.458
15.45 – 18.382
18.38 – 21.35
21.3 – 24.232
24.23 – 27.158
27.15 – 30.083
30.08 – 339
33 – 35.9238
35.92 – 38.85523
38.85 – 41.772211
41.77 – 44.73646
44.7 – 47.623269
47.62 – 50.551808
50.55 – 53.471660
53.47 – 56.41627
56.4 – 59.32506
59.32 – 62.2433
62.24 – 65.175

lon numeric feature

This column is longitude coordinates, with values spanning -151.36 to 144.74 across 15,464 rows and 15,407 unique values. The distribution is tightly concentrated around a median of -1.62 with an IQR of just 11.53, but a skew of 3.65 and kurtosis of 34.34 indicate heavy tails — 676 outliers (4.37%) reach far into the Pacific. No nulls or zeros, so coverage is clean.

Treatment: Pair with latitude as a geospatial feature; consider projecting or binning rather than using raw values in a linear model.

anthropic:claude-opus-4-7 · confidence high
Out[25]:

saturn.columns["lon"].stats

statvalue
n15,464
nulls0 (0.0%)
unique15,407
min -151.4
max 144.7
mean 2.618
median -1.62
std 14.64
q1 -3.083
q3 8.447
iqr 11.53
skew 3.654
kurtosis 34.34
n_outliers 676
outlier_rate 0.04371
zero_rate 0
alert: high_skewskew=+3.65
Fig 12.
Distribution of lon. Vertical dash marks the median.
Show data table
Histogram bins for lon (median: -1.6201083).
bincount
-151.4 – -1441
-144 – -136.60
-136.6 – -129.20
-129.2 – -121.71
-121.7 – -114.30
-114.3 – -106.91
-106.9 – -99.541
-99.54 – -92.142
-92.14 – -84.742
-84.74 – -77.336
-77.33 – -69.9334
-69.93 – -62.532
-62.53 – -55.131
-55.13 – -47.725
-47.72 – -40.321
-40.32 – -32.920
-32.92 – -25.520
-25.52 – -18.120
-18.12 – -10.714
-10.71 – -3.313136
-3.31 – 4.0927654
4.092 – 11.493031
11.49 – 18.9921
18.9 – 26.358
26.3 – 33.715
33.7 – 41.1441
41.1 – 48.5121
48.51 – 55.913
55.91 – 63.310
63.31 – 70.711
70.71 – 78.127
78.12 – 85.527
85.52 – 92.927
92.92 – 100.31
100.3 – 107.719
107.7 – 115.17
115.1 – 122.523
122.5 – 129.930
129.9 – 137.315
137.3 – 144.76

type categorical label

Categorical type label for what appears to be megalithic monuments, with 19 distinct classes across 15,464 rows and no nulls. The distribution is severely imbalanced: 'megalith' alone covers 97.7% of records (15,113 rows), leaving rarer types like 'menhir' (156), 'dolmen' (83), and 'standing_stone' (59) as long-tail minorities. Entropy ratio of 0.049 confirms the column carries little discriminative signal in its raw form.

Treatment: Collapse rare categories into 'other' or stratify/resample before using as a class label.

anthropic:claude-opus-4-7 · confidence high
Out[28]:

saturn.columns["type"].stats

statvalue
n15,464
nulls0 (0.0%)
unique19
top_value megalith
top_rate 0.9773
cardinality 19
entropy 0.2096
entropy_ratio 0.04933
alert: imbalancetop value is 97.7% of rows
Fig 13.
Top values for type.
Show data table
Top values for type (19 unique shown, of 19 total).
valuecountshare
megalith1511397.7%
menhir1561.0%
dolmen830.5%
standing_stone590.4%
stone_circle160.1%
nuraghe80.1%
gallery_grave60.0%
passage_grave50.0%
lech40.0%
stone_ship30.0%
tholos20.0%
chamber20.0%
village10.0%
plaque10.0%
cist10.0%
long_barrow10.0%
chambered_cairn10.0%
grave_field10.0%
stone10.0%

megalith_type categorical feature

Categorical classification of megalithic structures across 73 distinct types, dominated by 'menhir' (33.8%) and 'dolmen', with a long tail including nuraghe, stone_circle, and passage_grave. Notable concern: 1,714 rows (~11%) carry an empty-string value despite a reported null_rate of 0.0, suggesting blanks are being treated as a valid category rather than missing. Entropy ratio of 0.44 indicates concentration in a few dominant types.

Treatment: Recode empty strings to null, then one-hot encode the top categories and bucket the long tail as 'other'.

anthropic:claude-opus-4-7 · confidence high
Out[31]:

saturn.columns["megalith_type"].stats

statvalue
n15,464
nulls0 (0.0%)
unique73
top_value menhir
top_rate 0.3383
cardinality 73
entropy 2.749
entropy_ratio 0.4441
Fig 14.
Top values for megalith_type.
Show data table
Top values for megalith_type (20 unique shown, of 73 total).
valuecountshare
menhir523133.8%
dolmen450129.1%
171411.1%
nuraghe10807.0%
stone_circle10116.5%
passage_grave5373.5%
chamber4372.8%
long_barrow1841.2%
alignment1160.8%
cist1070.7%
gallery_grave850.5%
standing_stone680.4%
stone_ship470.3%
tholos320.2%
court_tomb320.2%
round_barrow250.2%
well230.1%
wedge_tomb230.1%
cairn200.1%
stone200.1%

description categorical free_text

Free-text description field for what appears to be megalithic/archaeological sites, with labels in multiple languages (Danish 'Jættestue', 'Langdysse'; Portuguese 'Anta da Herdade da Ordem'; German 'Großsteingrab'; English 'Stone circle', 'Long Barrow'). The column is effectively empty: 14,814 of 15,464 rows (top_rate 0.958) hold the empty string, leaving only ~650 populated rows spread across 586 distinct descriptions. Entropy ratio of 0.069 confirms the near-degenerate distribution, and the language mix means even the populated values won't cluster cleanly without normalization.

Treatment: Drop or treat as a sparse free-text flag; not usable as a categorical feature given 96% empty and multilingual long tail.

anthropic:claude-opus-4-7 · confidence high
Out[34]:

saturn.columns["description"].stats

statvalue
n15,464
nulls0 (0.0%)
unique587
top_value
top_rate 0.958
cardinality 587
entropy 0.6328
entropy_ratio 0.0688
alert: long_tail558 singleton categories
alert: imbalancetop value is 95.8% of rows
Fig 15.
Top values for description.
Show data table
Top values for description (20 unique shown, of 587 total).
valuecountshare
1481495.8%
Jættestue110.1%
Anta da Herdade da Ordem80.1%
Stone circle50.0%
Großsteingrab50.0%
Rest eines Großsteingrabes50.0%
Long Barrow40.0%
Dolmen40.0%
Langdysse40.0%
Four standing and one recumbent standing stone.40.0%
pair of two standing stones40.0%
Hünengrab30.0%
Henge / Círculo lítico30.0%
Menhir20.0%
Гармония20.0%
Runddysse20.0%
Allée couverte20.0%
Stendysse20.0%
Tumulus, dalle de couverture20.0%
Table, chevet, orthostates droit et gauche20.0%

wikipedia text metadata

This column holds Wikipedia article references in `lang:Title` form (e.g. `de:Großsteingräber im Haldensleber Forst`, `fr:dolmen…`), pointing to megalithic-monument pages across multiple language editions. It is overwhelmingly empty: 13,060 of 15,464 rows are blank and the duplicate rate is 0.87, leaving only 2,058 distinct values across 15,464 rows. Where present, entries are short single tokens (one_word_rate 0.85, word_mean 1.35) and skew heavily German, with `de`-prefixed titles dominating the top values and words.

Treatment: Treat as an optional cross-reference link; parse the `lang:title` prefix if needed but drop from modelling given 84% emptiness.

anthropic:claude-opus-4-7 · confidence high
Out[37]:

saturn.columns["wikipedia"].stats

statvalue
n15,464
nulls0 (0.0%)
unique2,058
len_min 0
len_max 75
len_mean 4.1
len_median 0
len_p95 29
word_mean 1.351
word_median 1
n_empty 13,060
n_duplicates 13,406
duplicate_rate 0.8669
vocab_size 2,769
readability_flesch_mean 5.48
emoji_rate 0
url_rate 0
one_word_rate 0.8524
allcaps_rate 0
boilerplate_rate 0
alert: one_word85.2% rows are a single word
alert: duplicates86.7% duplicate strings
Fig 16.
Character-length distribution for wikipedia.
Show data table
Character-length distribution for wikipedia (mean: 4.100038799793068).
charscount
0 – 213060
2 – 40
4 – 60
6 – 81
8 – 93
9 – 1121
11 – 1347
13 – 1528
15 – 17159
17 – 19115
19 – 21191
21 – 22236
22 – 24271
24 – 26254
26 – 28203
28 – 30130
30 – 32198
32 – 34133
34 – 36110
36 – 3875
38 – 3949
39 – 4197
41 – 4330
43 – 456
45 – 4712
47 – 497
49 – 514
51 – 522
52 – 548
54 – 563
56 – 583
58 – 600
60 – 620
62 – 643
64 – 660
66 – 681
68 – 691
69 – 710
71 – 731
73 – 752

wikidata text foreign_key

This column holds Wikidata Q-identifiers (e.g. Q106546933, Q1917052), one token per row with a max length of 10 characters. Coverage is poor: 10819 of 15464 rows are empty strings and only 4289 unique IDs appear, giving a 0.72 duplicate rate. The most frequent non-empty ID recurs only 17 times, so duplication is spread thinly rather than concentrated on a few entities.

Treatment: Treat as an optional Wikidata key; left-join on non-empty values to enrich, and don't use as a feature directly.

anthropic:claude-opus-4-7 · confidence high
Out[40]:

saturn.columns["wikidata"].stats

statvalue
n15,464
nulls0 (0.0%)
unique4,289
len_min 0
len_max 10
len_mean 2.667
len_median 0
len_p95 10
word_mean 1
word_median 1
n_empty 10,819
n_duplicates 11,175
duplicate_rate 0.7226
vocab_size 4,288
readability_flesch_mean 38.79
emoji_rate 0
url_rate 0
one_word_rate 1
allcaps_rate 0.3004
boilerplate_rate 0
alert: one_word100.0% rows are a single word
alert: allcaps30.0% rows are all-caps
alert: short_text95th-percentile length under 20 chars
alert: duplicates72.3% duplicate strings
Fig 17.
Character-length distribution for wikidata.
Show data table
Character-length distribution for wikidata (mean: 2.6668391101914124).
charscount
0 – 010819
0 – 00
0 – 10
1 – 10
1 – 10
1 – 20
2 – 20
2 – 20
2 – 20
2 – 20
2 – 30
3 – 30
3 – 30
3 – 40
4 – 40
4 – 40
4 – 40
4 – 40
4 – 50
5 – 50
5 – 50
5 – 60
6 – 60
6 – 60
6 – 65
6 – 60
6 – 70
7 – 70
7 – 794
7 – 80
8 – 80
8 – 80
8 – 81167
8 – 80
8 – 90
9 – 90
9 – 92574
9 – 100
10 – 100
10 – 10805

heritage categorical feature

Categorical heritage flag with 12 distinct values across 15464 rows and no nulls, but 87.96% of records carry an empty string, leaving only ~1862 rows with any signal. The non-empty values are a messy mix: numeric codes ('1','2','3','4','7'), yes/no, and free-text labels like 'Em Vias de Classificação' and 'Scheduled Monument', suggesting concatenated sources or inconsistent encoding schemes. Entropy ratio of 0.20 confirms the distribution is heavily concentrated in the blank class.

Treatment: Normalise empty strings to null and harmonise the mixed numeric/yes-no/text codes before any encoding.

anthropic:claude-opus-4-7 · confidence high
Out[43]:

saturn.columns["heritage"].stats

statvalue
n15,464
nulls0 (0.0%)
unique12
top_value
top_rate 0.8796
cardinality 12
entropy 0.7343
entropy_ratio 0.2048
Fig 18.
Top values for heritage.
Show data table
Top values for heritage (12 unique shown, of 12 total).
valuecountshare
1360288.0%
212648.2%
32051.3%
11200.8%
yes1090.7%
no690.4%
Em Vias de Classificação600.4%
4240.2%
780.1%
Scheduled Monument10.0%
610.0%
M002110.0%

heritage_operator categorical metadata

Categorical field naming the operator/agency responsible for a heritage record, with 31 distinct values across 15,464 rows and no nulls. It is overwhelmingly empty: the blank string accounts for 89.5% of rows (13,848), leaving only ~10% with an actual operator code such as 'mhs' (960), 'IE:smr' (229), or 'dgpc' (185). Entropy ratio of 0.14 confirms almost all signal lives in that empty bucket, and the value casing is inconsistent (lowercase codes alongside 'Historic Environment Scotland').

Treatment: Treat blanks as 'unknown' and normalise casing; only useful as a sparse categorical flag, not a primary feature.

anthropic:claude-opus-4-7 · confidence high
Out[46]:

saturn.columns["heritage_operator"].stats

statvalue
n15,464
nulls0 (0.0%)
unique31
top_value
top_rate 0.8955
cardinality 31
entropy 0.7028
entropy_ratio 0.1419
Fig 19.
Top values for heritage_operator.
Show data table
Top values for heritage_operator (20 unique shown, of 31 total).
valuecountshare
1384889.5%
mhs9606.2%
IE:smr2291.5%
dgpc1851.2%
pc1030.7%
rce230.1%
Historic Environment Scotland180.1%
cadw140.1%
whc140.1%
lda120.1%
nld90.1%
IE:smr;IE:nm80.1%
he60.0%
Cadw50.0%
mecd40.0%
DGPC30.0%
IE:smr:IE:nm30.0%
alsh20.0%
hs20.0%
raa20.0%

start_date categorical metadata

A nominally date-like field that is effectively empty: 15,430 of 15,464 rows (top_rate 0.9978) carry the blank string, leaving only 34 populated cells across 25 other distinct values. Those rare entries are wildly inconsistent in format — ISO dates ('2004-07-01'), bare years ('1999'), BCE ranges ('between 3500 and 2800 BCE'), and codes ('C-30') — so even the non-null content is not parseable as a uniform timestamp. Entropy ratio of 0.0069 confirms there is essentially no information here.

Treatment: Drop; near-constant blank with unparseable mixed-format residue.

anthropic:claude-opus-4-7 · confidence high
Out[49]:

saturn.columns["start_date"].stats

statvalue
n15,464
nulls0 (0.0%)
unique26
top_value
top_rate 0.9978
cardinality 26
entropy 0.03224
entropy_ratio 0.006859
alert: long_tail21 singleton categories
alert: imbalancetop value is 99.8% of rows
Fig 20.
Top values for start_date.
Show data table
Top values for start_date (20 unique shown, of 26 total).
valuecountshare
1543099.8%
199950.0%
C-3040.0%
~2000 BC20.0%
between 3500 and 2800 BCE20.0%
2900 BC..2600 BC10.0%
-3000 BC10.0%
-200010.0%
2004-07-0110.0%
before -325010.0%
3720 BC10.0%
2800-2200 BC10.0%
~5000 BCE10.0%
~C30 BC10.0%
2000 BC10.0%
Mittelneolithikum (2350 - 2150 v. u. Z.)10.0%
1500 BC10.0%
2800 BC..2200 BC10.0%
2012-04-3010.0%
3100 BC10.0%

material categorical metadata

This is a categorical 'material' attribute, almost certainly the OSM-style material tag for some physical feature, with 13 distinct values across 15,464 rows. It is overwhelmingly empty: 15,223 of 15,464 rows (top_rate 0.984) carry the blank string, leaving only ~241 actual material labels dominated by 'stone' (196) and 'granite' (29). Entropy ratio 0.036 confirms almost no information content, and the long tail includes a German 'Quarzit' and a compound 'stone;concrete' value, hinting at inconsistent tagging conventions.

Treatment: Drop or treat empty as null and collapse rare variants; too sparse to use as a feature without aggressive grouping.

anthropic:claude-opus-4-7 · confidence high
Out[52]:

saturn.columns["material"].stats

statvalue
n15,464
nulls0 (0.0%)
unique13
top_value
top_rate 0.9844
cardinality 13
entropy 0.1326
entropy_ratio 0.03582
alert: long_tail7 singleton categories
alert: imbalancetop value is 98.4% of rows
Fig 21.
Top values for material.
Show data table
Top values for material (13 unique shown, of 13 total).
valuecountshare
1522398.4%
stone1961.3%
granite290.2%
sandstone50.0%
limestone20.0%
dry_stone20.0%
Quarzit10.0%
reinforced_concrete10.0%
stone;concrete10.0%
basalt10.0%
quartz_blanc10.0%
granit10.0%
andesite10.0%

How to cite

click to copy

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