skillfed

ydata-profiling

Generate profile report for pandas DataFrame

ydata-profiling v4.18.4 1.9M downloads/30d#3,452 on PyPI13,670
Permissive license Active released

What it is and what it does

ydata-profiling automates exploratory data analysis by generating a single-line report on a pandas DataFrame. It infers column data types, computes descriptive statistics, detects data quality issues (missing values, duplicates, skewness, high correlations), and produces visualizations for univariate and multivariate analysis. The package handles specialized data including time-series (with autocorrelation and seasonality analysis), text (script and block detection), images (dimensions, EXIF metadata), and files (sizes, creation dates).

Reports export to HTML for sharing, JSON for automation, or Jupyter widgets for interactive exploration. The package includes dataset comparison, sensitive data handling, and configuration options for large datasets. It depends on a substantial stack: pandas, numpy, scipy, statsmodels for statistics; matplotlib, seaborn, wordcloud for visualization; pydantic for validation; and specialized libraries like phik for correlation, imagehash for image analysis, and numba for performance.

Use it for:

  • Generate a quick statistical summary and quality report on a new dataset before cleaning or modeling
  • Compare two versions of the same dataset to identify changes in distributions, missing values, or data quality
  • Profile time-series data to detect seasonality, autocorrelation, and temporal patterns in one command
  • Embed interactive profiling widgets in Jupyter notebooks for exploratory analysis during data investigation
  • Export a shareable HTML report documenting data characteristics and potential issues for stakeholders or documentation

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Generates comprehensive exploratory data analysis reports for pandas DataFrames, automatically detecting data types, computing statistics, and producing visualizations exportable as HTML, JSON, or Jupyter widgets.

Yes, with a migration caveat. The package is actively maintained, has no known vulnerabilities, and provides genuine value for exploratory data analysis workflows. However, install fg-data-profiling instead—ydata-profiling is deprecated and will not receive future updates. If you are already using ydata-profiling, plan migration soon; if starting fresh, use the renamed package directly.

Install

ydata-profiling on PyPI

pip

pip install ydata-profiling

uv

uv add ydata-profiling

poetry

poetry add ydata-profiling

Installing ydata-profiling

Before you install

Low install friction with a pure-Python wheel distribution. Active maintenance with recent commits and no known vulnerabilities. However, the package has been renamed to fg-data-profiling and the old ydata-profiling package will no longer receive updates—migration is recommended for long-term support.

License in practice

MIT license permits unrestricted use, modification, and distribution in both open-source and commercial projects with minimal restrictions.

Quickstart

pip install ydata-profiling

import pandas as pd
from ydata_profiling import ProfileReport

df = pd.read_csv('data.csv')
profile = ProfileReport(df, title="Analysis")
profile.to_file("report.html")

Requires Python 3.10 or later. The 21 runtime dependencies (scipy, statsmodels, numba, etc.) add significant installation size; ensure adequate disk space and network bandwidth.

Verify before relying

  • Whether the old ydata-profiling package will continue to receive security patches or is fully deprecated in favor of fg-data-profiling
  • Performance characteristics when profiling datasets at scale or with very large numbers of columns
  • Specific memory requirements for the 21 runtime dependencies, particularly scipy, statsmodels, and numba

Package facts

License not declared (permissive)
Python support supports the current Python release (<3.14,>=3.10)
Install friction low — pure-Python wheel
Runtime dependencies 21 — scipy, pandas, matplotlib, pydantic, PyYAML, jinja2, visions, numpy, minify-html, filetype, phik, requests, tqdm, seaborn, multimethod, statsmodels, typeguard, imagehash, wordcloud, dacite, numba
Maintenance actively maintained — 114 days since the last release
Last repo commit
First released
Downloads 1,895,918/month — #3,452 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: ydata_profiling-4.18.4-py2.py3-none-any.whl

Keywords: pandas, data-science, data-analysis, python, jupyter, ipython

Development Status :: 5 - Production/StableEnvironment :: ConsoleFramework :: IPythonIntended Audience :: DevelopersIntended Audience :: Financial and Insurance IndustryIntended Audience :: Healthcare IndustryIntended Audience :: Science/ResearchLicense :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Scientific/EngineeringTopic :: Software Development :: Build Tools

Tags

pandas dataframe profilingexploratory data analysis reportautomatic data quality analysisdataframe summary statisticsdata profiling visualizationpandas eda tooldataset comparison report
data-profilingedapandas-integration

More Scientific/Engineering packages