saturn·

parking parking violations sample 20260119

source /home/coolhand/html/datavis/data_trove/cache/parking/parking_violations_sample_20260119.json 10,000 rows 40 columns profiled 2026-05-01 raw JSON static .html .ipynb Report Notebook

Reading

dataset summary · high confidence anthropic:claude-opus-4-7

This is a 10,000-row sample of NYC parking violations with 40 fields covering ticket metadata, vehicle attributes, and location/precinct codes. The violation mix is dominated by one category — 'PHTO SCHOOL ZN SPEED VIOLATION' accounts for 4,416 of the issued tickets (about 52% of non-null descriptions) — which also drives the issuing_agency skew toward 'V' and law_section '408'. Geographically, registration_state is heavily NY (6,935) with NJ and PA trailing, and violation_county splits across Queens, Manhattan, Brooklyn, and the Bronx but with inconsistent codes (e.g., 'QN' vs 'Qns', 'BK' vs 'Kings'). Watch out for heavy nulls and placeholder zeros: meter_number, unregistered_vehicle, time_first_observed, and violation_post_code are >70% null, while issuer_precinct, feet_from_curb, and street_code* are dominated by '0' sentinel values. Vehicle_color also has unnormalized variants ('BK'/'BLK'/'BLACK', 'GY'/'GREY'/'GRY') that will need cleanup before any analysis.

citing: violation_description · issuing_agency · registration_state · violation_county · vehicle_make · vehicle_body_type · vehicle_color · plate_type · law_section · meter_number · unregistered_vehicle · violation_post_code · feet_from_curb · issuer_precinct

Schema

40 columns
Per-column summary. Click column name to jump to its detail.
Alerts
summons_number text 0.0% 10,000
near_unique one_word allcaps short_text
plate_id text 0.0% 9,519
near_unique one_word allcaps short_text
registration_state categorical 0.0% 50
plate_type categorical 0.0% 27
issue_date categorical 0.0% 687
long_tail
violation_code categorical 0.0% 62
vehicle_body_type categorical 1.3% 81
vehicle_make categorical 0.8% 126
issuing_agency categorical 0.0% 20
street_code1 text 0.0% 1,420
one_word allcaps short_text duplicates
street_code2 text 0.0% 1,349
one_word allcaps short_text duplicates
street_code3 text 0.0% 1,317
one_word allcaps short_text duplicates
vehicle_expiration_date text 0.0% 1,040
one_word allcaps short_text duplicates
violation_location categorical 44.9% 87
null_rate
violation_precinct categorical 0.0% 88
issuer_precinct categorical 0.0% 121
issuer_code text 0.0% 1,420
one_word allcaps short_text duplicates
issuer_command categorical 44.2% 228
null_rate
issuer_squad categorical 63.6% 23
null_rate
violation_time text 0.0% 1,432
one_word allcaps short_text duplicates
violation_county categorical 2.7% 13
violation_in_front_of_or_opposite categorical 46.9% 4
null_rate
street_name text 0.0% 3,115
multilingual allcaps duplicates
intersecting_street text 48.1% 1,413
allcaps null_rate short_text duplicates
date_first_observed categorical 0.0% 147
long_tail imbalance
law_section categorical 0.0% 2
sub_division categorical 0.0% 76
days_parking_in_effect categorical 50.6% 21
null_rate
from_hours_in_effect categorical 68.3% 26
null_rate
to_hours_in_effect categorical 68.3% 31
null_rate
vehicle_color categorical 9.4% 99
unregistered_vehicle categorical 84.9% 1
null_rate imbalance
vehicle_year categorical 0.0% 39
meter_number categorical 84.8% 7
long_tail null_rate imbalance
feet_from_curb categorical 0.0% 11
imbalance
house_number text 47.7% 2,350
one_word allcaps null_rate short_text duplicates
time_first_observed categorical 78.5% 207
long_tail null_rate
violation_description categorical 15.1% 74
violation_post_code categorical 78.7% 53
null_rate
violation_legal_code categorical 55.8% 1
null_rate imbalance

summons_number

text identifier near_unique one_word allcaps short_text
This is a unique 10-digit numeric identifier per row (likely a parking/traffic summons number), with all 10,000 values distinct and uniformly 10 characters long. There are no nulls, no duplicates, and every value is a single token, consistent with a primary key rather than a feature. The allcaps flag is a quirk of the detector treating digit-only strings as uppercase. Treatment: Drop from modelling; retain as a join key. high · anthropic:claude-opus-4-7
n
10,000
nulls
0 (0.0%)
unique
10,000
len_min
10
len_max
10
len_mean
10
len_median
10
len_p95
10
word_mean
1
word_median
1
n_empty
0
n_duplicates
0
duplicate_rate
0
vocab_size
10,000
readability_flesch_mean
121.2
emoji_rate
0
url_rate
0
one_word_rate
1
allcaps_rate
1
boilerplate_rate
0

plate_id

text identifier near_unique one_word allcaps short_text
This is almost certainly a license/plate identifier: 9,519 unique values across 10,000 rows, all single-token, 99.99% uppercase, with lengths between 2 and 10 characters (mean 6.88). Notably, 'blankplate' appears 34 times and the duplicate rate is 4.81% (481 records), suggesting placeholder values and a small amount of legitimate plate reuse. No nulls or empties, but the placeholder token will pollute any join or uniqueness assumption. Treatment: Treat as an identifier key; normalize case, map 'BLANKPLATE' to null, then left-join on this id. high · anthropic:claude-opus-4-7
n
10,000
nulls
0 (0.0%)
unique
9,519
len_min
2
len_max
10
len_mean
6.879
len_median
7
len_p95
7
word_mean
1
word_median
1
n_empty
0
n_duplicates
481
duplicate_rate
0.0481
vocab_size
9,519
readability_flesch_mean
100.5
emoji_rate
0
url_rate
0
one_word_rate
1
allcaps_rate
0.9999
boilerplate_rate
0

registration_state

categorical feature
Two-letter US state codes identifying where a vehicle is registered, dominated by NY at 69.35% of 10,000 rows with NJ, PA, CT, and FL trailing — consistent with an NYC-area enforcement dataset. Cardinality is 50 with entropy ratio 0.36, and one suspicious non-state token "99" appears 88 times, likely a sentinel for unknown/out-of-country plates. Treatment: One-hot encode top states, bucket the long tail into 'OTHER', and recode '99' as missing. high · anthropic:claude-opus-4-7
n
10,000
nulls
0 (0.0%)
unique
50
top_value
NY
top_rate
0.6935
cardinality
50
entropy
2.034
entropy_ratio
0.3603

plate_type

categorical feature
This column encodes vehicle plate type codes (e.g., PAS, OMT, COM), almost certainly from a parking or traffic dataset. The distribution is heavily dominated by passenger plates, with PAS accounting for 9072 of 10000 rows (top_rate 0.9072) and entropy_ratio of just 0.146 across 27 categories. A small but notable 77 rows carry the placeholder code '999', which likely represents missing or unknown plate types despite null_rate being 0. Treatment: Collapse rare codes into 'other' and treat '999' as missing before one-hot encoding. high · anthropic:claude-opus-4-7
n
10,000
nulls
0 (0.0%)
unique
27
top_value
PAS
top_rate
0.9072
cardinality
27
entropy
0.6958
entropy_ratio
0.1463

issue_date

categorical timestamp long_tail
This is an issue_date column stored as ISO-8601 timestamps but profiled as categorical, with 687 distinct dates across 10,000 rows and no nulls. The distribution is severely concentrated: 65.42% of rows fall on 2025-12-28, with 2025-12-30 (1,594) and 2025-12-29 (356) accounting for most of the rest, leaving a long tail of 2026 dates with single- or low-double-digit counts. The clustering at end-of-2025 suggests a bulk-issue or backfill event rather than organic daily issuance. Treatment: Parse as datetime and derive features (day, month, days-since-epoch); investigate the 2025-12-28 spike before using as a model feature. high · anthropic:claude-opus-4-7
n
10,000
nulls
0 (0.0%)
unique
687
top_value
2025-12-28T00:00:00.000
top_rate
0.6542
cardinality
687
entropy
2.765
entropy_ratio
0.2934

violation_code

categorical feature
Categorical violation_code with 62 distinct codes stored as strings and zero nulls across 10,000 rows. Distribution is heavily concentrated: code '36' alone accounts for 44.16% of records, followed by '21' at 14.63%, giving an entropy ratio of 0.52 — roughly half the maximum for this cardinality. The top 10 codes cover the bulk of traffic, leaving a long tail of rare codes. Treatment: Group rare codes into an 'other' bucket, then one-hot or target-encode before modelling. high · anthropic:claude-opus-4-7
n
10,000
nulls
0 (0.0%)
unique
62
top_value
36
top_rate
0.4416
cardinality
62
entropy
3.1
entropy_ratio
0.5206

vehicle_body_type

categorical feature
Column holds short vehicle body-type codes (SUBN, 4DSD, SDN, VAN, PICK...) typical of DMV/parking-violation feeds. Distribution is heavily concentrated: SUBN alone covers 51.9% of rows and the top two codes account for roughly 72%, yet there are 81 distinct codes producing a long tail. Entropy ratio of 0.41 confirms the lopsided spread, and nulls are minor at 1.31%. Treatment: Group rare codes into an 'other' bucket and one-hot encode the top categories. high · anthropic:claude-opus-4-7
n
10,000
nulls
131 (1.3%)
unique
81
top_value
SUBN
top_rate
0.5188
cardinality
81
entropy
2.599
entropy_ratio
0.41

vehicle_make

categorical feature
This is a categorical vehicle make field with 126 distinct values across 10,000 rows and a low 0.78% null rate. Values appear truncated to 5 characters (TOYOT, NISSA, ME/BE, CHEVR, HYUND, SUBAR), which will collide brands and complicate joins. HONDA leads at 13.4% followed closely by TOYOT at 13.0%, and entropy ratio of 0.67 indicates a long tail beyond the top 10. Treatment: Normalize truncated codes to canonical make names, then group rare levels before encoding. high · anthropic:claude-opus-4-7
n
10,000
nulls
78 (0.8%)
unique
126
top_value
HONDA
top_rate
0.1341
cardinality
126
entropy
4.661
entropy_ratio
0.668

issuing_agency

categorical feature
Single-letter codes for the agency that issued each record, with 20 distinct values and no nulls across 10,000 rows. Distribution is heavily concentrated: 'V' alone accounts for 44.16% and the top four codes (V, T, S, P) cover the vast majority, while codes like M, O fall to single or low double digits. Entropy ratio of 0.46 confirms the imbalance. Treatment: One-hot encode the top categories and bucket the long tail into 'other'. high · anthropic:claude-opus-4-7
n
10,000
nulls
0 (0.0%)
unique
20
top_value
V
top_rate
0.4416
cardinality
20
entropy
2.007
entropy_ratio
0.4644

street_code1

text foreign_key one_word allcaps short_text duplicates
This is `street_code1`, a short numeric street identifier stored as text (len_max 5, one_word_rate 1.0, 1420 distinct codes across 10000 rows). The dominant surprise is that 4817 rows — nearly half — carry the placeholder value "0", driving the 0.858 duplicate_rate; the next most frequent code ("13610") only appears 52 times. No nulls, but the "0" sentinel effectively functions as a missing/unknown marker. Treatment: Treat as a categorical code, recode "0" to missing, then left-join to a street reference table. high · anthropic:claude-opus-4-7
n
10,000
nulls
0 (0.0%)
unique
1,420
len_min
1
len_max
5
len_mean
3.026
len_median
4
len_p95
5
word_mean
1
word_median
1
n_empty
0
n_duplicates
8,580
duplicate_rate
0.858
vocab_size
1,420
readability_flesch_mean
121.2
emoji_rate
0
url_rate
0
one_word_rate
1
allcaps_rate
0.5168
boilerplate_rate
0

street_code2

text feature one_word allcaps short_text duplicates
This looks like a secondary street code stored as text, with 1349 unique short tokens (max length 5, mean 2.94 chars) and every value a single word. The column is dominated by '0', which accounts for 5005 of 10000 rows, with another 359 rows holding '40404'; combined with an 86.51% duplicate rate this leaves very little discriminating signal. No nulls, but the heavy '0' mass likely encodes a missing/sentinel state rather than a real code. Treatment: Treat '0' as a missing sentinel and use as a low-cardinality categorical, or drop given the extreme mode dominance. high · anthropic:claude-opus-4-7
n
10,000
nulls
0 (0.0%)
unique
1,349
len_min
1
len_max
5
len_mean
2.938
len_median
1
len_p95
5
word_mean
1
word_median
1
n_empty
0
n_duplicates
8,651
duplicate_rate
0.8651
vocab_size
1,349
readability_flesch_mean
121.2
emoji_rate
0
url_rate
0
one_word_rate
1
allcaps_rate
0.496
boilerplate_rate
0

street_code3

text feature one_word allcaps short_text duplicates
Stored as text but the values are short numeric codes (len_max 5, one_word_rate 1.0, 1317 unique tokens), consistent with a street or address code lookup. The distribution is dominated by '0' (5235/10000) with '40404' a distant second at 359, driving an 86.83% duplicate_rate. The allcaps_rate of 0.4753 is an artifact of digit-only strings being counted as uppercase. Treatment: Treat as a categorical code: keep as string, collapse rare levels, and consider a binary flag for the dominant '0' value. high · anthropic:claude-opus-4-7
n
10,000
nulls
0 (0.0%)
unique
1,317
len_min
1
len_max
5
len_mean
2.85
len_median
1
len_p95
5
word_mean
1
word_median
1
n_empty
0
n_duplicates
8,683
duplicate_rate
0.8683
vocab_size
1,317
readability_flesch_mean
121.2
emoji_rate
0
url_rate
0
one_word_rate
1
allcaps_rate
0.4753
boilerplate_rate
0

vehicle_expiration_date

text timestamp one_word allcaps short_text duplicates
Stored as text but functionally a YYYYMMDD vehicle expiration date, with lengths clustered at 8-10 characters and one token per row. Over half the rows (5,492) are the sentinel '0.00000000' and another 556 are '88888888', plus 126 entries like '20258888' that mix a real year with a placeholder month/day — so roughly 61% of values are not real dates. Genuine dates such as 20260930 and 20260228 appear only in the dozens, and the column is 89.6% duplicates across just 1,040 unique values. Treatment: Parse as YYYYMMDD after mapping '0.00000000', '88888888', and any *8888 tails to null. high · anthropic:claude-opus-4-7
n
10,000
nulls
0 (0.0%)
unique
1,040
len_min
8
len_max
10
len_mean
9.098
len_median
10
len_p95
10
word_mean
1
word_median
1
n_empty
0
n_duplicates
8,960
duplicate_rate
0.896
vocab_size
1,040
readability_flesch_mean
121.2
emoji_rate
0
url_rate
0
one_word_rate
1
allcaps_rate
1
boilerplate_rate
0

violation_location

categorical feature null_rate
This appears to be a violation_location code, likely a precinct or zone identifier stored as a zero-padded string (e.g., '0018', '0047') mixed with non-padded variants ('115', '114'), suggesting inconsistent formatting across sources. Cardinality is 87 with very high entropy ratio (0.929), so values are spread evenly with no dominant location — the top code only accounts for 5.1% of rows. Most striking: 44.85% of rows are null, which is flagged as an alert and severely limits usability. Treatment: Normalize the zero-padding inconsistency and treat nulls as a separate category before one-hot or target encoding. high · anthropic:claude-opus-4-7
n
10,000
nulls
4,485 (44.9%)
unique
87
top_value
0018
top_rate
0.0515
cardinality
87
entropy
5.988
entropy_ratio
0.9294

violation_precinct

categorical feature
This column encodes the NYPD precinct where the violation occurred, stored as a string with 88 distinct codes. The dominant surprise is that 44.85% of rows carry the value '0', which is almost certainly a sentinel for missing/non-applicable precinct rather than a real precinct number; legitimate precincts like 18, 115, and 114 follow far behind. Entropy ratio of 0.66 reflects this heavy concentration on the sentinel. Treatment: Recode '0' as missing before using as a categorical feature. high · anthropic:claude-opus-4-7
n
10,000
nulls
0 (0.0%)
unique
88
top_value
0
top_rate
0.4485
cardinality
88
entropy
4.295
entropy_ratio
0.6649

issuer_precinct

categorical feature
This is the precinct number of the issuing officer, with 121 distinct codes across 10,000 rows and no nulls. The distribution is dominated by the value "0" at 64.18% of rows, which is almost certainly a sentinel/placeholder rather than a real precinct, leaving genuine precincts (e.g., 18, 115, 103) as long-tail minorities. Entropy ratio of 0.446 confirms the heavy concentration on that single code. Treatment: Treat "0" as missing/sentinel and group rare precincts before one-hot or target encoding. high · anthropic:claude-opus-4-7
n
10,000
nulls
0 (0.0%)
unique
121
top_value
0
top_rate
0.6418
cardinality
121
entropy
3.088
entropy_ratio
0.4463

issuer_code

text foreign_key one_word allcaps short_text duplicates
This is a categorical issuer identifier stored as text, with 1,420 distinct codes across 10,000 rows and an 85.8% duplicate rate. The dominant value '0' accounts for 5,314 rows (over half the column), suggesting it is a sentinel or 'unknown issuer' placeholder rather than a real code. Remaining values look like 6-digit numeric IDs (len_max 6, len_p95 6), but the median length of 1 confirms how heavily the '0' bucket skews the distribution. Treatment: Treat '0' as missing and join the remaining codes to an issuer reference table. high · anthropic:claude-opus-4-7
n
10,000
nulls
0 (0.0%)
unique
1,420
len_min
1
len_max
6
len_mean
3.338
len_median
1
len_p95
6
word_mean
1
word_median
1
n_empty
0
n_duplicates
8,580
duplicate_rate
0.858
vocab_size
1,420
readability_flesch_mean
121.2
emoji_rate
0
url_rate
0
one_word_rate
1
allcaps_rate
0.4686
boilerplate_rate
0

issuer_command

categorical feature null_rate
This column holds short alphanumeric codes (e.g., T302, T401, EPIU, MTTF) that look like issuer-side command or instruction tokens, with 228 distinct values across 10,000 rows. It is sparsely populated — 44.16% null — yet entropy_ratio of 0.83 over the non-null portion shows the codes spread fairly evenly, with the most common value T302 covering only 6.7%. No single code dominates, so the missingness is the more striking signal than concentration. Treatment: Treat as a categorical feature with an explicit 'missing' level, then target- or frequency-encode before modelling. high · anthropic:claude-opus-4-7
n
10,000
nulls
4,416 (44.2%)
unique
228
top_value
T302
top_rate
0.06698
cardinality
228
entropy
6.523
entropy_ratio
0.8327

issuer_squad

categorical feature null_rate
A categorical code labelled issuer_squad with 23 distinct values, dominated by the placeholder-looking '0000' which accounts for 41.6% of non-nulls (1513 rows) while the rest are single-letter tags like F, N, A, L. Most striking: 63.6% of rows are null, and entropy_ratio of 0.73 suggests the remaining values are reasonably spread but anchored by that '0000' bucket which may represent unassigned issuers. The mix of a numeric-looking code with letter codes hints at inconsistent encoding conventions. Treatment: Treat '0000' as a missing sentinel, impute or bucket rare letters, then one-hot encode. medium · anthropic:claude-opus-4-7
n
10,000
nulls
6,361 (63.6%)
unique
23
top_value
0000
top_rate
0.4158
cardinality
23
entropy
3.309
entropy_ratio
0.7315

violation_time

text timestamp one_word allcaps short_text duplicates
This column encodes the time of a violation as a fixed 5-character token like '0839A' or '1200P' (HHMM plus A/P meridiem indicator), with every value uppercase and exactly one word. Across 10,000 rows there are only 1,432 distinct values and an 85.7% duplicate rate, which is expected for clock times rather than a data quality issue. Null rate is negligible (0.0004) and the format is strikingly uniform — len_min, len_median, and len_max all equal 5. Treatment: Parse the HHMM+A/P token into a proper time-of-day feature (e.g., minutes since midnight) before modelling. high · anthropic:claude-opus-4-7
n
10,000
nulls
4 (0.0%)
unique
1,432
len_min
5
len_max
5
len_mean
5
len_median
5
len_p95
5
word_mean
1
word_median
1
n_empty
0
n_duplicates
8,564
duplicate_rate
0.8567
vocab_size
1,433
readability_flesch_mean
121.2
emoji_rate
0
url_rate
0
one_word_rate
0.9999
allcaps_rate
1
boilerplate_rate
0

violation_county

categorical feature
This is a categorical county/borough code for NYC violations, with 13 distinct values across 10,000 rows and a 2.71% null rate. The top value 'QN' (Queens) covers 18.2% of rows, but the codes are inconsistent: Queens appears as both 'QN' and 'Q' (and 'Qns'), Brooklyn as 'BK', 'K', and 'Kings', and Bronx as 'BX' and 'Bronx'—so the true cardinality is lower than 13. Entropy ratio of 0.897 reflects this fragmentation rather than genuine diversity. Treatment: Normalize aliases (QN/Q/Qns→Queens, BK/K/Kings→Brooklyn, BX/Bronx→Bronx) before encoding. high · anthropic:claude-opus-4-7
n
10,000
nulls
271 (2.7%)
unique
13
top_value
QN
top_rate
0.1822
cardinality
13
entropy
3.32
entropy_ratio
0.8973

violation_in_front_of_or_opposite

categorical feature null_rate
A categorical position code indicating where a violation occurred relative to a reference point — almost certainly 'F' (front), 'O' (opposite), 'I' (inside?), and a single 'R'. Nearly half the rows (46.85%) are null, and among the populated rows 'F' dominates at 66.85%. The 'R' code appears just once out of 10000, suggesting either a data-entry error or a rare legitimate category worth investigating. Treatment: Impute or add an explicit 'missing' level, collapse the singleton 'R', then one-hot encode. high · anthropic:claude-opus-4-7
n
10,000
nulls
4,685 (46.9%)
unique
4
top_value
F
top_rate
0.6685
cardinality
4
entropy
1.229
entropy_ratio
0.6145

street_name

text feature multilingual allcaps duplicates
Street/intersection labels, mostly directional roadway descriptors like 'SB CROSS BAY BLVD @' with cardinal prefixes (sb/wb/nb/eb) and '@' separators indicating cross-streets — consistent with NYC traffic or transit data. Values are heavily duplicated (6881 of 10000, 3115 unique) and 77% all-caps, with strings capped at 20 chars suggesting upstream truncation. Language detection flags Japanese (614) and Chinese (59), but these are almost certainly false positives from short uppercase abbreviations rather than true multilingual content. Treatment: Normalize case and parse into direction/street/cross-street components before using as a categorical feature. high · anthropic:claude-opus-4-7
n
10,000
nulls
4 (0.0%)
unique
3,115
len_min
2
len_max
20
len_mean
14.87
len_median
16
len_p95
20
word_mean
3.513
word_median
3
n_empty
0
n_duplicates
6,881
duplicate_rate
0.6884
vocab_size
1,760
readability_flesch_mean
62.55
emoji_rate
0
url_rate
0
one_word_rate
0.01371
allcaps_rate
0.7732
boilerplate_rate
0

intersecting_street

text metadata allcaps null_rate short_text duplicates
This column holds short uppercase street-name fragments (mean length 9.3 chars, ~2.4 words) describing an intersecting street, likely paired with a primary address elsewhere. Nearly half the rows are null (48.1%) and 72.8% of the non-null values are duplicates, with common tokens like 'ST' (189), 'AVE' (84), and 'RD' dominating — many top values are bare suffixes ('ST', 'AVE', 'T', 'E') suggesting truncation or partial captures. Vocabulary is small (1,053 words across 1,413 unique values) and 80.9% of entries are all-caps, consistent with a municipal data-entry convention. Treatment: Normalize case and standardize street-suffix abbreviations, then use as a categorical join key with the primary street column. high · anthropic:claude-opus-4-7
n
10,000
nulls
4,813 (48.1%)
unique
1,413
len_min
1
len_max
20
len_mean
9.271
len_median
8
len_p95
19
word_mean
2.423
word_median
2
n_empty
0
n_duplicates
3,774
duplicate_rate
0.7276
vocab_size
1,053
readability_flesch_mean
83.04
emoji_rate
0
url_rate
0
one_word_rate
0.1139
allcaps_rate
0.8091
boilerplate_rate
0

date_first_observed

categorical metadata long_tail imbalance
Stored as a categorical YYYYMMDD string capturing the date a record was first observed, with 147 distinct values across 10,000 rows. The column is overwhelmingly dominated by the sentinel '0' (98.27%), leaving only ~173 rows with real dates clustered in late 2025 through 2026. Entropy ratio of 0.035 confirms almost no information content as-is. Treatment: Replace '0' with null, parse remainder as date, and consider dropping unless the rare observed dates matter. high · anthropic:claude-opus-4-7
n
10,000
nulls
0 (0.0%)
unique
147
top_value
0
top_rate
0.9827
cardinality
147
entropy
0.2485
entropy_ratio
0.03452

law_section

categorical feature
This is a binary categorical field encoding a law/statute section, taking only two codes ('408' and '1180') across all 10,000 rows with no nulls. The split is fairly balanced at 55.84%/44.16%, yielding near-maximal entropy (0.99 of the possible 1.0). Despite the numeric-looking values, with only 2 distinct levels it behaves as a flag rather than a continuous code. Treatment: One-hot or treat as a binary indicator before modelling. high · anthropic:claude-opus-4-7
n
10,000
nulls
0 (0.0%)
unique
2
top_value
408
top_rate
0.5584
cardinality
2
entropy
0.9901
entropy_ratio
0.9901

sub_division

categorical feature
Categorical sub-division code with 76 distinct values across 10,000 rows and almost no nulls (0.02%). The distribution is heavily concentrated: 'B' alone covers 44.4% of rows and the top two values ('B' and 'd1') together exceed 58%, giving an entropy ratio of just 0.52. The mix of single-letter codes ('B','C','D') with letter-digit codes ('d1','E2','C3') — including a lowercase 'd1' alongside uppercase letters — suggests inconsistent coding conventions worth normalising. Treatment: Normalise case and group rare levels before one-hot or target encoding. high · anthropic:claude-opus-4-7
n
10,000
nulls
2 (0.0%)
unique
76
top_value
B
top_rate
0.4445
cardinality
76
entropy
3.227
entropy_ratio
0.5166

days_parking_in_effect

categorical feature null_rate
This is a 7-character day-of-week mask indicating which days parking rules are in effect, with each position likely corresponding to Sun-Sat (Y=in effect, B=likely a holiday/exempt marker, space=off). Over half the rows are null (50.59%) and among the populated values 'YYYYYYY' (every day) dominates at 42.38% followed by 'BBBBBBB' at 1449 occurrences, giving low entropy ratio of 0.46 across 21 distinct patterns. The mix of Y, B, and spaces in the same field is unusual and suggests an encoded multi-flag rather than a clean categorical. Treatment: Split into seven per-day indicator columns and add a missingness flag before modelling. high · anthropic:claude-opus-4-7
n
10,000
nulls
5,059 (50.6%)
unique
21
top_value
YYYYYYY
top_rate
0.4238
cardinality
21
entropy
2.025
entropy_ratio
0.461

from_hours_in_effect

categorical feature null_rate
Start time of a parking/traffic regulation's effective window, encoded as a clock string like '0830A' with a sentinel 'ALL' meaning 24-hour applicability. The column is null 68.3% of the time, and among the 3,170 populated rows 'ALL' alone accounts for 45.6% (1,445), so actual start times are a minority signal. Cardinality is just 26 with entropy ratio 0.63, and the populated values cluster heavily in morning hours (0700A–1130A). Treatment: Parse to minutes-since-midnight with a separate 'ALL'/missing flag before modelling. high · anthropic:claude-opus-4-7
n
10,000
nulls
6,830 (68.3%)
unique
26
top_value
ALL
top_rate
0.4558
cardinality
26
entropy
2.956
entropy_ratio
0.6289

to_hours_in_effect

categorical feature null_rate
This appears to be the end-time of a parking or traffic regulation's effective window, encoded as a clock string (e.g., '0100P', '1100A') with 'ALL' meaning the rule applies all day. Two-thirds of rows are null (null_rate 0.683), and among the 3,170 populated values 'ALL' dominates at 45.6%, leaving the 30 actual time codes thinly spread (entropy_ratio 0.62). The mix of sentinel ('ALL') and time-of-day strings in the same field is the main gotcha. Treatment: Split into a boolean 'all_day' flag and a parsed time-of-day, and impute or mask the 68% nulls before modelling. high · anthropic:claude-opus-4-7
n
10,000
nulls
6,830 (68.3%)
unique
31
top_value
ALL
top_rate
0.4558
cardinality
31
entropy
3.079
entropy_ratio
0.6215

vehicle_color

categorical feature
This is a vehicle color code field, almost certainly from a parking or traffic citation feed. The encoding is inconsistent: short codes (GY, BK, WH) dominate but overlapping long forms (WHITE, BLACK, GREY) and alternate abbreviations (BLK, GRY) appear as separate categories, inflating cardinality to 99 across only 10000 rows. About 9.4% of values are null and the top code GY covers 22.95% of rows. Treatment: Normalize synonyms (e.g. map BK/BLK/BLACK to one code) before encoding. high · anthropic:claude-opus-4-7
n
10,000
nulls
943 (9.4%)
unique
99
top_value
GY
top_rate
0.2295
cardinality
99
entropy
3.676
entropy_ratio
0.5545

unregistered_vehicle

categorical feature null_rate imbalance
This column appears to be a binary flag for whether a vehicle was unregistered, but it carries no information: 84.87% of rows are null and the remaining 1513 rows all hold the single value "0". Cardinality is 1 and entropy is 0, so the field is effectively constant where populated. Treatment: Drop; constant value with majority nulls offers no modelling signal. high · anthropic:claude-opus-4-7
n
10,000
nulls
8,487 (84.9%)
unique
1
top_value
0
top_rate
1
cardinality
1
entropy
0
entropy_ratio
0

vehicle_year

categorical feature
Vehicle model year stored as a categorical string with 39 distinct values across 10000 rows and no nulls. The dominant value is "0" at 23.29% of rows, which almost certainly encodes missing/unknown rather than a real year; legitimate years span recent ones with 2024 (759) and 2025 (696) leading. Entropy ratio of 0.78 reflects a fairly even spread across the remaining year codes. Treatment: Recode "0" as missing, cast to integer year, and optionally bucket into age bands before modelling. high · anthropic:claude-opus-4-7
n
10,000
nulls
0 (0.0%)
unique
39
top_value
0
top_rate
0.2329
cardinality
39
entropy
4.134
entropy_ratio
0.7822

meter_number

categorical identifier long_tail null_rate imbalance
Likely a utility meter identifier, but it is effectively empty: 84.79% of rows are null and 99.47% of the non-null values are the placeholder "-". Only 7 distinct values exist across 10,000 rows, with the genuine-looking numeric IDs (e.g. 309485, 103553) appearing at most twice. Entropy ratio of 0.022 confirms there is almost no information here. Treatment: Drop; column is near-constant placeholder with overwhelming nulls. high · anthropic:claude-opus-4-7
n
10,000
nulls
8,479 (84.8%)
unique
7
top_value
-
top_rate
0.9947
cardinality
7
entropy
0.06054
entropy_ratio
0.02156

feet_from_curb

categorical imbalance
n
10,000
nulls
0 (0.0%)
unique
11
top_value
0
top_rate
0.9783
cardinality
11
entropy
0.2169
entropy_ratio
0.06271

house_number

text feature one_word allcaps null_rate short_text duplicates
Almost certainly a street address house-number fragment, with values that are short single tokens (word_mean 1.00, len_mean 3.36, max length 7) and a vocabulary of 2,345 over 10,000 rows. Surprisingly, the most frequent values are cardinal-direction letters N/E/W/S (161/136/122/120) rather than digits — these likely belong in a separate directional prefix field. Nearly half the column is null (47.7%) and 55.1% of non-nulls duplicate, so it's sparse and low-cardinality. Treatment: Split into numeric house-number and directional-prefix fields, then impute or flag the 47.7% nulls before joining to address data. high · anthropic:claude-opus-4-7
n
10,000
nulls
4,771 (47.7%)
unique
2,350
len_min
1
len_max
7
len_mean
3.36
len_median
3
len_p95
5
word_mean
1.002
word_median
1
n_empty
0
n_duplicates
2,879
duplicate_rate
0.5506
vocab_size
2,345
readability_flesch_mean
116.1
emoji_rate
0
url_rate
0
one_word_rate
0.9977
allcaps_rate
0.7887
boilerplate_rate
0

time_first_observed

categorical timestamp long_tail null_rate
Looks like a time-of-first-observation field encoded as HHMMx where x is A/P (e.g., '0230A', '0930P'). It is 78.45% null and, among the 2,155 non-null rows, the sentinel '00000' dominates at 1,926 occurrences (top_rate 0.8937), leaving only ~229 rows with real timestamps spread across 206 distinct values. Entropy ratio of 0.169 confirms almost no information content once nulls and the placeholder are removed. Treatment: Treat '00000' as null, then drop or collapse to a binary 'has_observed_time' flag — too sparse to use as a real timestamp. high · anthropic:claude-opus-4-7
n
10,000
nulls
7,845 (78.5%)
unique
207
top_value
00000
top_rate
0.8937
cardinality
207
entropy
1.299
entropy_ratio
0.1688

violation_description

categorical feature
This column records the parking/traffic violation type as a short text code, with 74 distinct values across 10,000 rows. It's heavily concentrated: 'PHTO SCHOOL ZN SPEED VIOLATION' alone covers 52% of non-null rows, and 15.13% of values are null. The label formatting is inconsistent — some entries are numbered codes like '14-No Standing' while others are free-form like 'Fire Hydrant' or 'Detached Trailer', suggesting multiple source systems or schema versions merged together. Treatment: Normalise label formatting (strip numeric prefixes) and group rare categories before one-hot encoding. high · anthropic:claude-opus-4-7
n
10,000
nulls
1,513 (15.1%)
unique
74
top_value
PHTO SCHOOL ZN SPEED VIOLATION
top_rate
0.5203
cardinality
74
entropy
2.808
entropy_ratio
0.4522

violation_post_code

categorical feature null_rate
This appears to be a violation post code categorical field, likely a sub-classifier within a citation or inspection record. It has 53 unique codes with high entropy (ratio 0.89), and the top code "99" only covers 14.5% of non-null rows. Two notable surprises: 78.74% of rows are null, and the code values are heterogeneous in format—numeric ("99", "01", "311"), single letters ("B", "U"), and tokens like "SPCL"—suggesting multiple coding schemes coexist. Treatment: Treat missingness as its own category and standardize/group the mixed-format codes before one-hot encoding. high · anthropic:claude-opus-4-7
n
10,000
nulls
7,874 (78.7%)
unique
53
top_value
99
top_rate
0.1453
cardinality
53
entropy
5.089
entropy_ratio
0.8885