Sample CSV With Missing Values — Free Download
A 150-row dataset where roughly one cell in six is missing — represented as a blank, NA, NULL or null — scattered across numeric, categorical and date columns. The file for practising imputation.
Download the sample file
CSV · 150 rows · 5.6 KB · synthetic data, free for any use
Download CSV samplePreview
| record_id | age | income | city | score | joined | plan |
|---|---|---|---|---|---|---|
| 1 | 69 | 171381 | Lagos | 19.0 | 2024-11-18 | team |
| 2 | 52 | · | Dubai | 72.0 | 2024-10-23 | enterprise |
| 3 | NULL | 122181 | Shanghai | 71.4 | 2025-07-06 | pro |
| 4 | 71 | 128316 | Tokyo | 79.6 | 2024-06-27 | enterprise |
| 5 | 33 | 50587 | São Paulo | · | 2024-07-21 | pro |
| 6 | NULL | 163806 | Lagos | 20.8 | 2024-01-06 | · |
Showing the first 6 of 150 rows.
Columns
| Column | Type | Description |
|---|---|---|
record_id | integer | Always present (1–150) |
age | integer or missing | Numeric column with gaps |
income | integer or missing | Numeric column with gaps |
city | string or missing | Categorical column with gaps |
score | decimal or missing | 0–100, with gaps |
joined | date or missing | Date column with gaps |
plan | string or missing | free / pro / team / enterprise, with gaps |
What makes this file useful
- Missing values use four different tokens on purpose — a naive "is empty string" check only catches some of them.
- record_id is never missing, so you always have a key to rejoin imputed columns.
- Missingness is completely random (MCAR), so simple imputation is statistically defensible here — unlike many real datasets.
Use cases
- Compare mean, median and mode imputation on age and income
- Test how your tool counts missingness per column
- Practise dropping vs filling rows and see the row-count impact
- Handle four different null tokens (blank, NA, NULL, null) in one pass
Open it in a tool
Load this sample — or your own file — into a real tool. Everything runs client-side.
Related guides
More sample datasets
Frequently asked questions
How are missing values represented?
As an empty field, or the literal text NA, NULL or null. Your loader should treat all four as missing.
What percentage of data is missing?
About 17% of the non-key cells. record_id is always populated.
Is the missingness random?
Yes, it is missing-completely-at-random, which makes it a clean teaching example for basic imputation.
Turn this into a saved workflow
Create a free account to save the steps from this guide as a reusable workflow and re-run it on any file, from any device.
Follow HowToCSV on Google
Add us as a preferred source on Google Search so our latest CSV guides and tutorials surface more often in your Top stories.