Logo

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 sample

Preview

record_idageincomecityscorejoinedplan
169171381Lagos19.02024-11-18team
252·Dubai72.02024-10-23enterprise
3NULL122181Shanghai71.42025-07-06pro
471128316Tokyo79.62024-06-27enterprise
53350587São Paulo·2024-07-21pro
6NULL163806Lagos20.82024-01-06·

Showing the first 6 of 150 rows.

Columns

ColumnTypeDescription
record_idintegerAlways present (1–150)
ageinteger or missingNumeric column with gaps
incomeinteger or missingNumeric column with gaps
citystring or missingCategorical column with gaps
scoredecimal or missing0–100, with gaps
joineddate or missingDate column with gaps
planstring or missingfree / 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

Browse all sample CSV files →

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.

Sign in for free

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.

Add HowToCSV as a preferred source