Registry / data / ydata-profiling

ydata-profiling

JSON →
library4.18.4pypypi✓ verified 22d ago

YData Profiling, formerly known as pandas-profiling, is an open-source Python library that automates exploratory data analysis (EDA) by generating comprehensive, interactive reports from Pandas or Spark DataFrames with a single line of code. It provides detailed statistics, visualizations, and data quality warnings for various data types, including time-series and text. The project is actively maintained with frequent updates, with the latest stable version being 4.18.1.

pip install ydata-profiling
INSTALL
IMPORT
SIG · YDATA-PROFILING
Y
ydata-profiling
datapythonv4.18.4
Install
33.2s avg
Import
9631ms
Disk
919MB
Pass rate
4/ 10
Env Coverage4 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v4.18.4 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
glibc
py 3.10
✕ build_error
✓ 33.6s
py 3.11
✕ build_error
✓ 32.03s
py 3.12
✕ build_error
✓ 30.73s
py 3.13
✕ build_error
2/3 runs
py 3.9
✕ build_error
✓ 36.4s
919MB installed
● package 919MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

ProfileReport
from ydata_profiling import ProfileReport
from pandas_profiling import ProfileReport

This quickstart demonstrates how to generate a basic profiling report for a Pandas DataFrame and save it as an HTML file. For interactive display in Jupyter environments, ensure `ipywidgets` is installed and use `profile.to_notebook_iframe()`.

import pandas as pd import numpy as np from ydata_profiling import ProfileReport # Create a sample DataFrame data = { 'col1': np.random.rand(100), 'col2': np.random.randint(0, 10, 100), 'col3': ['A', 'B', 'C'] * 30 + ['A'] * 10, 'col4': pd.to_datetime(pd.Series([], dtype='datetime64[ns]')) # Empty datetime for demonstration } df = pd.DataFrame(data) # Generate the profiling report profile = ProfileReport(df, title="My DataFrame Profiling Report") # To display the report in a Jupyter Notebook (requires ipywidgets) # profile.to_notebook_iframe() # To save the report to an HTML file profile.to_file("my_report.html") print("Report generated to my_report.html")
ydata-profiling --version
Debug
Known issues
breakingThe `pandas-profiling` package has been deprecated. Users should migrate to `ydata-profiling`. While `pandas-profiling` might still be installable, it is no longer maintained and points to the new library.
fix
Uninstall `pandas-profiling` and install `ydata-profiling`. Update import statements from `pandas_profiling` to `ydata_profiling`.
affects: <4.0.0 (for pandas-profiling)
gotchaProfiling very large datasets or datasets with extreme outliers can lead to `MemoryError` due to underlying `numpy` limitations in histogram generation.
fix
Consider sampling your data (`df.sample()`), filtering out extreme outliers before profiling, or utilizing the PySpark engine for big datasets (`pip install ydata-profiling[pyspark]`).
affects: All versions
gotchaInteractive reports in Jupyter environments might not display correctly (e.g., showing `IntSlider(value=0)`) if Jupyter Widgets are not properly enabled or configured.
fix
Ensure `ipywidgets` is installed (`pip install ydata-profiling[notebook]`) and properly enabled for your Jupyter Notebook or Lab environment. Consult `ipywidgets` documentation for complex configurations.
affects: All versions
breakingPython version compatibility has changed. While `pandas-profiling` supported older Python versions (e.g., >=3.7, <3.11), `ydata-profiling` now requires Python `>=3.10, <3.14`.
fix
Ensure your Python environment is between 3.10 and 3.13. Upgrade Python if necessary.
affects: Users upgrading from older `pandas-profiling` to `ydata-profiling` on Python <3.10 or >=3.14
Upgrade
Version history
4.18.4latest on PyPI · released Apr 22, 2026
Audit
Dependencies
pandasrequiredCore data structure for profiling.
ipywidgetsoptionalRequired for interactive reports in Jupyter notebooks.
pysparkoptionalRequired for profiling Spark DataFrames.
Agent activity
74 hits · last 30 days
node
66
OpenAI (training)
1
Resources
ydata-profiling — pip install ydata-profiling · libregistry