Describe Sheet and Data Profiling
The Describe Sheet (Shift+I) gives you a statistical profile of every column in one keystroke — null counts, distinct values, min, max, mean, and standard deviation. It is the fastest way to understand what's in an unfamiliar dataset before analysis.
Run Shift+I immediately after opening any new dataset. It reveals type problems, null distributions, and outlier ranges in under 5 seconds — before you write a single filter.
Sample Data Used in This Lesson
cat > ~/github/practice-folder/visidata/01-loading/01-employees.csv << 'EOF'
name,department,salary,hire_date,email
Alice,Engineering,85000,2020-03-15,alice@company.com
Bob,Marketing,70000,2019-11-01,bob@company.com
Charlie,Engineering,90000,2021-06-20,charlie@company.com
Dina,HR,,2020-08-10,dina@company.com
Eve,Marketing,62000,2018-04-05,
EOF
vd ~/github/practice-folder/visidata/01-loading/01-employees.csv
Open the Describe Sheet
Shift+I
Result — statistical profile of all columns:
name type count nulls distinct min max
name str 5 0 5
department str 5 0 3
salary str 4 1 4 62000 90000 ← nulls=1 means Dina has no salary
hire_date str 5 0 5 2018-04-05 2021-06-20
email str 4 1 4 ← Eve has no email
Column types show as str until you cast them. Cast salary to % (float) first to get meaningful min/max/mean.
Cast Types First, Then Describe
# Press q to return to source sheet
# Move to 'salary' → press % (float)
# Move to 'hire_date' → press @ (date)
# Press Shift+I again
Describe Sheet after casting:
name type count nulls min max mean stdev
name str 5 0
department str 5 0
salary float 4 1 62000.0 90000.0 76750.0 11932.2
hire_date date 5 0 2018-04-05 2021-06-20
email str 4 1
Now salary shows mean (76750) and stdev (11932). One null visible immediately.
Drill Into a Column from Describe Sheet
# Inside Describe Sheet, move to 'salary' row
Enter
# Opens Frequency Sheet for salary column
Use this to see the value distribution of any column without leaving the profiling view.
Find Columns with Nulls
# Inside Describe Sheet:
# Move to 'nulls' column
# Sort descending
]
# Columns with most nulls appear first
Result:
name nulls
salary 1 ← Dina has no salary
email 1 ← Eve has no email
name 0
department 0
hire_date 0
Quick Statistics Without Full Describe (zF)
zF shows a one-line summary in the status bar for the current column only:
# Move to 'salary' column
zF
# Status bar shows: count=4 nulls=1 min=62000 max=90000 mean=76750 stdev=11932
Use zF for a quick sanity check on a single column without leaving the source sheet.
Describe Sheet vs Frequency Table
| Feature | Describe Sheet (Shift+I) | Frequency Table (Shift+F) |
|---|---|---|
| Scope | All columns at once | One column |
| Shows | Null count, type, min/max/mean | Value counts, percentages, histogram |
| Best for | Initial data audit | Group-level distribution |
| Key | Shift+I | Shift+F |
Key Reference
| Key | Action |
|---|---|
Shift+I | Open Describe Sheet (all columns) |
Enter | Open Frequency Table for highlighted column |
q | Return to source sheet |
zF | Quick stats for current column in status bar |
] | Sort by a column (e.g., by nulls descending) |
Hands-On Practice
vd ~/github/practice-folder/visidata/01-loading/01-employees.csv
# 1. Press Shift+I → view the profile (all types show as str)
# 2. Press q → return to source
# 3. Move to 'salary' → press % (float)
# 4. Move to 'hire_date' → press @ (date)
# 5. Press Shift+I again → see mean, stdev, nulls for salary
# 6. Move to 'nulls' column → press ] → sort to find columns with most nulls
# 7. Move to 'salary' row → press Enter → see salary frequency table
# 8. Press q twice → back to source
# 9. Move to 'salary' column → press zF → quick stats in status bar