Guide · Open source
How to use fg-data-profiling: install and generate a data report
Updated · written with AI from the project's own documentation and checked against our catalogue data
fg-data-profiling is a Python package that takes a pandas DataFrame and produces a detailed summary report covering each column's type, statistics, charts, missing values, duplicates and potential data quality problems. This guide shows how to install it, generate a first report in a single line of code, and export the result as HTML or JSON. By the end you will be able to profile your own table and know where to look in the output.
Quick start
- 1Install the package. Run pip install fg-data-profiling, or install it from conda-forge with conda. You need Python and pandas.
- 2Load a DataFrame. Read your data into a pandas DataFrame as you normally would.
- 3Create the report. Pass the DataFrame to ProfileReport with a title to build the profile.
- 4Review the Overview and Alerts. Start with dataset-level numbers and the automatic list of potential data quality issues.
- 5Export the output. Save the report as HTML to share it, or as JSON for automated checks.
What fg-data-profiling is and who it suits
The package aims to give a one-line exploratory data analysis (EDA) experience. It extends the idea behind pandas df.describe() by producing a fuller analysis of a DataFrame that you can export as HTML or JSON.
It suits analysts who want a quick first look at an unfamiliar dataset, data scientists checking data quality before modeling, and teams that want a shareable HTML report. Developers who need a JSON summary for automated checks will also find it useful, as will people working with time-series or text columns.
Install fg-data-profiling with pip or conda
You need Python and pandas. Install the package with pip, or with conda from the conda-forge channel.
- pip: install fg-data-profiling
- conda: install it from conda-forge
pip install fg-data-profiling
conda install -c conda-forge fg-data-profilingGenerate your first profiling report
Load your data into a pandas DataFrame as you normally would. Then pass it to ProfileReport. The README example builds a small random DataFrame to show the call; replace it with your own data.
The title argument sets the report title. The result is a profile object you can display or export.
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"])
profile = ProfileReport(df, title="Profiling Report")Read the report sections
The report has three additional sections beyond the per-column analysis. Overview gives global details such as the number of records and variables, overall missingness and duplicates, and memory footprint. Alerts lists potential data quality issues such as high correlation, skewness, uniformity, zeros, missing values and constant values. Reproduction records technical details about the analysis, including time, version and configuration.
Per-column analysis covers type inference (Categorical, Numerical, Date and so on), univariate statistics such as mean, median and mode with distribution histograms, and multivariate views such as correlations and missing-data detail.
- Overview: dataset-level numbers
- Alerts: automatic list of data quality problems
- Reproduction: time, version and configuration used
Export the report as HTML or JSON
The README states that analysis can be exported to an HTML report that you can share with others, as JSON for automated systems, and as a widget in a Jupyter Notebook. Check the project documentation for the exact export method names, as the README excerpt provided here does not show them.
- HTML: a shareable report
- JSON: for integration into automated systems
- Jupyter: display the report as widgets or an embedded HTML report
Profile time-series, text and large datasets
The package includes time-series analysis such as autocorrelation and seasonality, with ACF and PACF plots, and text analysis such as common categories, scripts and blocks. It also offers a compare-datasets feature for comparing two versions of a table.
For large datasets, the README points to a separate guide on preparing data and configuring fg-data-profiling. Read that guide before running the package on a very large table. The README also mentions Spark support as a feature.
- Time-series: autocorrelation, seasonality, ACF and PACF plots
- Text: common categories, scripts and blocks
- Compare datasets: one-line comparison report
What people use it for
- Get a quick first look at an unfamiliar dataset before analysis
- Check data quality such as missing values and constant columns before modeling
- Share an HTML report of a dataset with colleagues
- Feed a JSON summary of a dataset into automated checks
- Review time-series or text columns with their own analyses
Frequently asked questions
Is fg-data-profiling free to use?
The package is released under the MIT licence, and the README describes it as open source. The README separately mentions a paid-tier product, Fabric Data Catalog, for database integration, which is not part of this package.
What do I need to install fg-data-profiling?
The README lists Python and pandas as prerequisites. You can install the package with pip install fg-data-profiling or with conda install -c conda-forge fg-data-profiling.
Is fg-data-profiling the same as ydata-profiling?
It is a renamed continuation of the ydata-profiling project. The README says the old package will no longer receive updates or bug fixes, and it includes a migration guide to the new name and imports.
How do I migrate from ydata-profiling?
The README says to uninstall ydata-profiling, install fg-data-profiling, and update imports from ydata_profiling to data_profiling. It suggests running grep -r "ydata_profiling" . --include="*.py" to find affected files.
Can fg-data-profiling connect to a database directly?
The README says the package does not provide a full database connector. For database integration it points to Fabric Data Catalog, a separate product.
How does fg-data-profiling compare to pandas describe()?
pandas describe() gives a few simple summary numbers with no extra install. fg-data-profiling produces a fuller report with charts, alerts and missing-data detail, so it suits a deeper first look at a dataset.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Use fg-data-profiling if you want a fast, shareable report on a pandas DataFrame, including data quality alerts and time-series or text analysis. If you only need a few summary numbers, pandas describe() is enough, and if you need database connectors or very large data, read the separate guides or consider a dedicated product.
Install options & downloads