Skip to content

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.

pandas-profilingData-Centric-AI-Community/fg-data-profiling · ★ 13.7k · MIT

Quick start

  1. 1Install the package. Run pip install fg-data-profiling, or install it from conda-forge with conda. You need Python and pandas.
  2. 2Load a DataFrame. Read your data into a pandas DataFrame as you normally would.
  3. 3Create the report. Pass the DataFrame to ProfileReport with a title to build the profile.
  4. 4Review the Overview and Alerts. Start with dataset-level numbers and the automatic list of potential data quality issues.
  5. 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-profiling

Generate 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