dfaudit
Know if you can trust your data before you use it.
A fast, modern data audit tool for pandas DataFrames -- built for analysts who need to assess data reliability, not just explore it.
What is dfaudit?
dfaudit is a lightweight Python package for auditing pandas DataFrames. Before you clean, model, or report -- you need to know whether your data is reliable. dfaudit gives you that answer fast.
Think of it as an auditor's first pass: one call to understand how complete, consistent, and trustworthy your data actually is. Missing values, cardinality, dominant categories -- the things that tell you if the data holds up.
Install
pip install dfaudit
Quickstart
import pandas as pd
import dfaudit as dfa
df = pd.read_csv("https://raw.githubusercontent.com/pandas-dev/pandas/master/doc/data/titanic.csv")
dfa.overview(df)
dfa.missing_matrix(df)
What you get
overview(df) - Column-level data quality table
A styled summary table covering every column at once: dtypes, missing counts and percentages, unique value counts, mode, and top-3 categories - all color coded so problems jump out instantly.
missing — standard NaN / None / NaT values pandas considers null.
soft_missing — values that are technically non-null but meaningless in practice: empty strings, placeholder text, and numeric sentinel codes commonly used in legacy systems or exports. dfaudit flags these automatically:
- Strings:
"","n/a","na","null","none","nan","nil","-","--","?","unknown","missing","not available","not applicable" - Numbers:
-999,-9999,9999,99999
Missing percentage cells are highlighted red for high missingness, blue for high cardinality.
missing_matrix(df) - Row-level missingness visualization
A matrix plot that shows where your data is missing across every row, with a bar chart of missing percentages per column on the right. Spot correlated missingness, systematic gaps, and data loading issues that column-level stats miss entirely.
dfa.missing_matrix(df, style="vivid")
Why I built this
I work with a lot of different data on a daily basis. For years I carried the same audit snippets from notebook to notebook -- copy, paste, tweak, repeat. At some point I decided to stop doing that and package the most common data audit tasks into something reusable, with visuals I actually want to look at.
dfaudit is what I reach for now at the start of every new dataset. I hope it saves you the same time it saves me.
If you work with modern data and want to contribute -- please do, pull requests are very welcome.
Metadata
Release files for dfaudit 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| dfaudit-0.1.0.tar.gz | 6.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| dfaudit-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.0 kB
Release files / dfaudit-0.1.0.tar.gz
| Download URL | dfaudit-0.1.0.tar.gz |
|---|---|
| Size | 6.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8aa51a81b65558cbf865fa18b82c28a2502b85aeb0a6c814d4d6c8ce4bd172c2
|
|
BLAKE2b-256 checksum How to use checksums |
602b183e1963a9e4dba7e1d44d6075c4f2f0a8e8112427fd79c4bc02ea4a302b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.3
|
Release files / dfaudit-0.1.0-py3-none-any.whl
| Download URL | dfaudit-0.1.0-py3-none-any.whl |
|---|---|
| Size | 8.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
73a0b32e3727688b1bdd343a22962de7f1e1d042e856b16029e575751e602a2b
|
|
BLAKE2b-256 checksum How to use checksums |
7024850324e075b517c5d3cb13a016344ab40858296da21a434a652b1a62be7b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.3
|