ydataai /ydata-profiling

1 Line of code data quality profiling & exploratory data analysis for Pandas and Spark DataFrames.

★ 13,747⑂ 1,802👁 147⑃ 945● 859▤ 80
PythonCreated 2016-01-10docs.sdk.ydata.ai
13,747
stars
+0+2+28
1,802
forks
147
watchers
945
prs
859
issues
80
releases
–
discussions

README

fg-data-profiling

 ydata-profiling is now fg-data-profiling. This package has been renamed to fg-data-profiling. Please follow the Migration Guide as soon as possible — the old package will no longer receive updates or bug fixes.













  Documentation
  |
  Discord
  | 
  Stack Overflow
  |
  Latest changelog




  Do you like this project? Show us your love and give feedback!


fg-data-profiling primary goal is to provide a one-line Exploratory Data Analysis (EDA) experience in a consistent and fast solution. Like pandas df.describe() function, that is so handy, fg-data-profiling delivers an extended analysis of a DataFrame while allowing the data analysis to be exported in different formats such as html and json.

The package outputs a simple and digested analysis of a dataset, including time-series and text.

 Migration Guide
 
 1. Uninstall the old package
 
bash
pip uninstall ydata-profiling

 
 2. Install the new package
 
bash
pip install fg-data-profiling

 
 3. Update your imports
 
Find and replace all occurrences of the old import in your codebase:
 
python
 Before
import ydata_profiling
from ydata_profiling import ProfileReport

 After
import data_profiling
from data_profiling import ProfileReport

 
You can use this one-liner to find all affected files:
 
bash
grep -r "ydata_profiling" . --include=".py"


 ▶️ Quickstart

 Install
cmd
pip install fg-data-profiling

or
cmd
conda install -c conda-forge fg-data-profiling

 Start profiling

Start by loading your pandas DataFrame as you normally would, e.g. by using:

python
import numpy as np
import pandas as pd
from data_profiling import ProfileReport

df = pd.DataFrame(np.random.rand(100, 5), columns=["a", "b", "c", "d", "e"])


To generate the standard profiling report, merely run:

python
profile = ProfileReport(df, title="Profiling Report")


 📊 Key features

- Type inference: automatic detection of columns' data types (Categorical, Numerical, Date, etc.)
- Warnings: A summary of the problems/challenges in the data that you might need to work on (missing data, inaccuracies, skewness, etc.)
- Univariate analysis: including descriptive statistics (mean, median, mode, etc) and informative visualizations such as distribution histograms
- Multivariate analysis: including correlations, a detailed analysis of missing data, duplicate rows, and visual support for variables pairwise interaction
- Time-Series: including different statistical information relative to time dependent data such as auto-correlation and seasonality, along ACF and PACF plots.
- Text analysis: most common categories (uppercase, lowercase, separator), scripts (Latin, Cyrillic) and blocks (ASCII, Cyrilic)
- File and Image analysis: file sizes, creation dates, dimensions, indication of truncated images and existence of EXIF metadata
- Compare datasets: one-line solution to enable a fast and complete report on the comparison of datasets
- Flexible output formats: all analysis can be exported to an HTML report that c

Snapshot: 2026-11-04T14:00:00Z · Data license Apache-2.0 · JSON