saturn·

data trove glottolog languoids

source /home/coolhand/html/datavis/data_trove/data/linguistic/glottolog_languoid.csv 23,740 rows 16 columns profiled 2026-06-22 raw JSON static .html .ipynb Report Notebook

Reading

dataset summary · high confidence anthropic:default

This dataset is a comprehensive catalogue of the world's languoids from Glottolog, covering 23,740 entries that span dialects (10,920), languages (8,481), and language families (4,339). The most striking pattern is in endangerment status: while the majority (18,965) are marked 'safe', nearly 4,800 entries are endangered, extinct, or vulnerable — worth examining closely against family and geographic distribution. A second area of interest is the highly skewed child-count columns: most languoids have zero children (74% for dialects, 82% for languages), but a handful of nodes have hundreds or even thousands of descendants, suggesting a very uneven tree structure. Geographic coverage is also notably incomplete, with latitude and longitude missing for 66% of rows, limiting spatial analysis to a subset of the data.

citing: row_count · level.top_values · status.top_values · child_dialect_count.zero_rate · child_dialect_count.max · child_language_count.zero_rate · child_language_count.max · latitude.null_rate · family_id.top_values · country_ids.top_values

Schema

16 columns
Per-column summary. Click column name to jump to its detail.
Alerts
id text 0.0% 23,740
near_unique one_word short_text
family_id categorical 1.8% 287
parent_id text 1.8% 7,338
one_word short_text duplicates
name text 0.0% 23,740
near_unique one_word
bookkeeping categorical 0.0% 2
imbalance
level categorical 0.0% 3
status categorical 0.0% 6
latitude numeric 66.5% 7,798
null_rate
longitude numeric 66.5% 7,757
null_rate
iso639P3code text 66.4% 7,968
near_unique one_word null_rate short_text
description unknown 0.0%
skipped
markup_description unknown 0.0%
skipped
child_family_count numeric 0.0% 88
high_skew outliers
child_language_count numeric 0.0% 126
high_skew outliers
child_dialect_count numeric 0.0% 164
high_skew outliers
country_ids categorical 64.2% 680
null_rate

id

text identifier near_unique one_word short_text
This column is a structured language or dialect identifier, following the Glottolog-style 8-character code pattern (4 letters + 4 digits, e.g. 'tibe1272', 'east2553'). All 23,740 values are exactly 8 characters long (len_min/max/mean/median all equal 8) with zero nulls and zero duplicates, making it a perfect primary key. The top_words sample aligns precisely with Glottolog languoid codes, suggesting this is a linguistic database. No anomalies — the column is unusually clean. Treatment: Retain as primary key; left-join on this id to enrich with Glottolog metadata. high · anthropic:default
n
23,740
nulls
0 (0.0%)
unique
23,740
len_min
8
len_max
8
len_mean
8
len_median
8
len_p95
8
word_mean
1
word_median
1
n_empty
0
n_duplicates
0
duplicate_rate
0
vocab_size
20,000
readability_flesch_mean
86.11
emoji_rate
0
url_rate
0
one_word_rate
1
allcaps_rate
0
boilerplate_rate
0

family_id

categorical foreign_key
This column represents language family identifiers, using Glottolog-style codes (e.g., 'atla1278' = Atlantic-Congo, 'aust1307' = Austronesian, 'indo1319' = Indo-European). With only 287 unique values across 23,740 rows it acts as a low-to-medium cardinality grouping key for linguistic families. The top value 'atla1278' is notably dominant at 20.0% of rows (4,663 records), and the top two families together account for roughly 36% of the dataset, signalling a heavily skewed distribution toward large African and Pacific language families. Treatment: Left-join on this id to a language-family reference table; use as a categorical grouping variable or fixed effect in models, noting the severe class imbalance toward 'atla1278' and 'aust1307'. high · anthropic:default
n
23,740
nulls
429 (1.8%)
unique
287
top_value
atla1278
top_rate
0.2
cardinality
287
entropy
4.886
entropy_ratio
0.5984

parent_id

text foreign_key one_word short_text duplicates
This column contains Glottolog language family or clade identifiers — fixed 8-character alphanumeric codes (e.g. 'book1242', 'pidg1258') linking each row to a parent node in a linguistic taxonomy. Every value is exactly 8 characters long (len_min=8, len_max=8) and all are single tokens (one_word_rate=1.0), consistent with Glottolog's standardised glottocode format. The duplicate rate is notably high at 68.5%, with 'book1242' appearing 399 times, indicating many child languages share the same parent grouping — expected for a hierarchical classification. Null rate is low at 1.81%, suggesting most records have a resolvable parent. Treatment: Left-join on this id against a Glottolog taxonomy table to enrich with family-level linguistic metadata. high · anthropic:default
n
23,740
nulls
429 (1.8%)
unique
7,338
len_min
8
len_max
8
len_mean
8
len_median
8
len_p95
8
word_mean
1
word_median
1
n_empty
0
n_duplicates
15,973
duplicate_rate
0.6852
vocab_size
7,189
readability_flesch_mean
91.19
emoji_rate
0
url_rate
0
one_word_rate
1
allcaps_rate
0
boilerplate_rate
0

name

text label near_unique one_word
This column contains names of linguistic or geographic entities — likely language varieties, dialects, or regional groupings, as evidenced by top words such as 'nuclear', 'central', 'western', 'eastern', 'northern', 'southern', 'language', and 'sign'. All 23,740 rows are unique with zero nulls and zero duplicates, making this a perfect natural-language identifier. Surprisingly, 69.5% of values are single words despite a mean length of ~9.95 characters, suggesting a mix of short atomic names and multi-word descriptors (up to 58 characters), with a vocabulary of 17,915 distinct tokens across the corpus. Treatment: Use as a human-readable label or index key; tokenize and embed if semantic similarity between names is needed downstream. high · anthropic:default
n
23,740
nulls
0 (0.0%)
unique
23,740
len_min
1
len_max
58
len_mean
9.95
len_median
8
len_p95
22
word_mean
1.398
word_median
1
n_empty
0
n_duplicates
0
duplicate_rate
0
vocab_size
17,915
readability_flesch_mean
42.62
emoji_rate
0
url_rate
0
one_word_rate
0.6953
allcaps_rate
0.0001685
boilerplate_rate
0

bookkeeping

categorical label imbalance
This column is a boolean flag (stored as strings 'True'/'False') indicating whether a record has some bookkeeping status applied — likely a soft-delete, correction, or administrative override marker. The distribution is severely imbalanced: 98.3% of rows are 'False' (23,341) versus only 1.7% 'True' (399), which triggered the imbalance alert. The entropy of 0.123 confirms near-zero information variance, meaning this flag is rarely set. Analysts should treat the 'True' minority with care as it may mark records to exclude or handle separately. Treatment: Use as a filter or stratification variable; if modelling, oversample or reweight the 399 'True' cases, or exclude them if they represent invalid/corrected records. high · anthropic:default
n
23,740
nulls
0 (0.0%)
unique
2
top_value
False
top_rate
0.9832
cardinality
2
entropy
0.1231
entropy_ratio
0.1231

level

categorical label
This column classifies linguistic entities into one of three hierarchical levels: 'dialect', 'language', and 'family', suggesting the dataset concerns a linguistic taxonomy or inventory (e.g., Ethnologue-style data). With only 3 unique values across 23,740 rows and zero nulls, it is a clean, fully populated categorical field. Notably, 'dialect' is the modal class at ~46% (10,920), followed by 'language' at ~35.7% (8,481) and 'family' at ~18.3% (4,339) — the class imbalance is moderate but not severe. The entropy ratio of 0.943 is surprisingly high for a 3-class variable, indicating near-uniform distribution across categories. Treatment: One-hot encode or ordinal-encode (dialect < language < family) depending on whether hierarchy is meaningful to the model. high · anthropic:default
n
23,740
nulls
0 (0.0%)
unique
3
top_value
dialect
top_rate
0.46
cardinality
3
entropy
1.494
entropy_ratio
0.9426

status

categorical label
This column represents a conservation or endangerment status classification, most likely for languages or species, with 6 distinct ordinal categories ranging from 'safe' to 'extinct'. The distribution is heavily skewed: 'safe' dominates at nearly 80% of records (18,965 of 23,740), while the threatened categories collectively account for only ~20%. The low entropy ratio (0.445) confirms this imbalance, and analysts building classification models should expect a significant class imbalance problem. Treatment: Encode as ordinal (safe < vulnerable < severely endangered < definitely endangered < critically endangered < extinct) and apply class-imbalance mitigation (e.g., oversampling or class weights) before modelling. high · anthropic:default
n
23,740
nulls
0 (0.0%)
unique
6
top_value
safe
top_rate
0.7989
cardinality
6
entropy
1.15
entropy_ratio
0.4447

latitude

numeric feature null_rate
This column contains geographic latitude values for records in the dataset, spanning from -55.27° (southern South America or similar) to 73.14° (Arctic latitudes), consistent with global coverage. The most striking issue is a 66.54% null rate — two-thirds of rows lack a latitude value, which severely limits spatial analysis. The distribution is mildly right-skewed (skew 0.54) with a mean of ~8.2° and median of ~6.3°, suggesting a concentration of records in tropical/equatorial regions. Only 129 outliers are flagged (1.6%), so the non-null values themselves appear geographically plausible. Treatment: Investigate and impute or filter nulls (66.54% missing) before use; pair with longitude for spatial modelling or clustering. high · anthropic:default
n
23,740
nulls
15,797 (66.5%)
unique
7,798
min
-55.27
max
73.14
mean
8.17
median
6.306
std
18.96
q1
-5.137
q3
19.34
iqr
24.47
skew
0.5403
kurtosis
0.3006
n_outliers
129
outlier_rate
0.01624
zero_rate
0

longitude

numeric feature null_rate
This column represents geographic longitude, covering nearly the full global range from –178.785° to 179.306°. The null rate of 66.54% is a critical alert — two-thirds of records lack a coordinate, which may indicate missing geolocation data for a large subset of entities. The IQR of ~117° and std of ~81° confirm values are broadly distributed across hemispheres, and the mean (51.27°) skewing toward positive (Eastern) longitudes with a median of 47.72° suggests a concentration in Europe/Asia. Only 13 outliers are flagged despite the extreme range, consistent with legitimate global coordinates rather than data entry errors. Treatment: Investigate and impute or filter the 66.54% null records before use; pair with latitude for geospatial modelling or clustering. high · anthropic:default
n
23,740
nulls
15,797 (66.5%)
unique
7,757
min
-178.8
max
179.3
mean
51.27
median
47.72
std
81.14
q1
7.235
q3
124.1
iqr
116.9
skew
-0.4832
kurtosis
-0.7745
n_outliers
13
outlier_rate
0.001637
zero_rate
0

iso639P3code

text foreign_key near_unique one_word null_rate short_text
This column contains ISO 639-3 language codes — standardised three-letter identifiers for individual languages (e.g., 'aiz', 'kbt', 'mij'). Every non-null value is exactly 3 characters long (min=3, max=3, mean=3.0) and appears only once, yielding 7,968 unique codes across 7,968 vocabulary entries with zero duplicates — consistent with a lookup or reference table of distinct languages. The striking concern is a 66.44% null rate, meaning two-thirds of the 23,740 rows carry no code at all, which likely reflects languages or entries not yet mapped to an ISO 639-3 identifier. Treatment: Left-join on this code to enrich with ISO 639-3 language metadata; investigate and impute or flag the 66.44% nulls before joining. high · anthropic:default
n
23,740
nulls
15,772 (66.4%)
unique
7,968
len_min
3
len_max
3
len_mean
3
len_median
3
len_p95
3
word_mean
1
word_median
1
n_empty
0
n_duplicates
0
duplicate_rate
0
vocab_size
7,968
readability_flesch_mean
119.5
emoji_rate
0
url_rate
0
one_word_rate
1
allcaps_rate
0
boilerplate_rate
0

description

unknown free_text skipped
This column contains textual descriptions with zero null values across 23,740 rows. The profile was skipped by saturn, so no uniqueness, length, or token statistics are available — the column's exact nature (short labels vs. long free text) cannot be determined from the evidence. The 'skipped' alert and absent stats dict suggest the profiler either timed out or excluded this column type from deep analysis. Treatment: Tokenize and embed before modelling, or apply NLP preprocessing (stopword removal, TF-IDF/sentence embeddings) depending on downstream task. low · anthropic:default
n
23,740
nulls
0 (0.0%)
unique

markup_description

unknown free_text skipped
This column contains markup or formatted description text (likely HTML, Markdown, or similar) across 23,740 rows with zero nulls. The profiler skipped detailed analysis — indicated by the 'skipped' alert — so no uniqueness, length, or content statistics are available. Without further inspection, the content type and cardinality are unknown, but the name strongly implies free-form or templated descriptive text with embedded formatting syntax. Treatment: Strip markup tags, then tokenize and embed before modelling, or inspect raw values to confirm structure before deciding on parsing strategy. low · anthropic:default
n
23,740
nulls
0 (0.0%)
unique

child_family_count

numeric feature high_skew outliers
This column counts the number of children or family members associated with a record, with 90.8% of values being exactly zero and a median of 0.0 — meaning the vast majority of subjects have no associated family/child count. The distribution is extraordinarily right-skewed (skew = 44.4, kurtosis = 2352.9) with a max of 859.0 and 2,179 outliers (9.2% of rows), suggesting a small subset of records have implausibly large counts that warrant investigation for data-entry errors or aggregation anomalies. Treatment: Investigate extreme values (max 859.0) for data errors; consider capping/winsorizing at a defensible threshold, then apply log1p transform before modelling. high · anthropic:default
n
23,740
nulls
0 (0.0%)
unique
88
min
0
max
859
mean
0.8792
median
0
std
13.2
q1
0
q3
0
iqr
0
skew
44.4
kurtosis
2353
n_outliers
2,179
outlier_rate
0.09179
zero_rate
0.9082

child_language_count

numeric feature high_skew outliers
This column counts the number of child languages associated with a record, likely in a linguistic or taxonomy dataset. The distribution is extremely right-skewed (skew = 41.86, kurtosis = 2115.08): 81.7% of rows have a value of zero, the median is 0.0, and the IQR is 0.0, yet the mean is ~2.0 and the max reaches 1,435. This implies a small number of parent-language nodes dominate with very large child counts, while most entries are leaf nodes with no children. Over 18% of rows (4,339) are flagged as outliers, reinforcing the extreme concentration at zero with a long, sparse upper tail. Treatment: Log-transform (log1p) or apply a zero-inflated model; consider a binary 'has_children' flag as a complementary feature given the 81.7% zero rate. high · anthropic:default
n
23,740
nulls
0 (0.0%)
unique
126
min
0
max
1,435
mean
1.996
median
0
std
23.41
q1
0
q3
0
iqr
0
skew
41.86
kurtosis
2115
n_outliers
4,339
outlier_rate
0.1828
zero_rate
0.8172

child_dialect_count

numeric feature high_skew outliers
This column counts the number of child dialects associated with each record in what appears to be a linguistic or language-taxonomy dataset. The distribution is extreme: 74.4% of rows have zero child dialects, the median is 0, and the IQR is just 0–1, yet the mean is 3.39 and the maximum reaches 2369—producing a skew of 42.2 and a kurtosis of 2159.3. Nearly 18% of rows (4,272) are flagged as outliers, indicating a small number of language/dialect nodes act as hubs with enormous fan-out while the vast majority are leaf nodes. Treatment: Log-transform (log1p) before regression or distance-based modelling; consider also a binary 'has_children' flag and a separate high-cardinality indicator given the extreme outliers. high · anthropic:default
n
23,740
nulls
0 (0.0%)
unique
164
min
0
max
2,369
mean
3.389
median
0
std
36.8
q1
0
q3
1
iqr
1
skew
42.22
kurtosis
2159
n_outliers
4,272
outlier_rate
0.1799
zero_rate
0.7442

country_ids

categorical feature null_rate
This column contains ISO 3166-1 alpha-2 country codes, functioning as a categorical geographic identifier for each record. The most striking issue is its 64.24% null rate, meaning nearly two-thirds of the 23,740 rows carry no country information. Among populated rows, Papua New Guinea ('PG') dominates at 10.29% of non-null values, followed by Indonesia ('ID') and Nigeria ('NG') — a developing-world skew that may reflect data collection bias. The 680-unique-value count is anomalously high for standard two-letter ISO codes (only ~250 exist), suggesting some values may be multi-code concatenations, malformed entries, or non-standard codes. Treatment: Investigate the 680 distinct values for malformed or concatenated codes; impute or flag nulls (64.24% missing) before use; one-hot encode or embed after cleaning. medium · anthropic:default
n
23,740
nulls
15,250 (64.2%)
unique
680
top_value
PG
top_rate
0.1029
cardinality
680
entropy
6.493
entropy_ratio
0.6901