Skip to main content

A lightweight package for detailed Exploratory Data Analysis on pandas DataFrames.

Project description

EDA Profiler

A lightweight yet comprehensive Python package for performing Exploratory Data Analysis (EDA) on a pandas DataFrame.

eda_profiler quickly generates a detailed profile report for each column in your dataset, providing essential statistics for data cleaning, feature engineering, and initial data understanding.

Features

  • Calculates counts and percentages of missing values.
  • Differentiates between numerical and categorical columns to provide relevant stats.
  • For numerical columns, it computes:
    • Standard descriptive stats (mean, std, min, max).
    • A full range of percentiles (1%, 5%, 10%, 25%, 50%, 75%, 90%, 95%, 99%).
    • Distribution shape metrics: Skewness and Kurtosis.
    • Dispersion metrics: IQR and Coefficient of Variation.
    • Count of zero values.
  • For categorical columns, it computes:
    • Cardinality (unique value count).
    • Mode (most frequent value), its frequency, and percentage.

Installation

You will be able to install this package via pip once it is published to PyPI. For now, you can install it locally from the project directory:

pip install .

How to Use

The package provides a single, easy-to-use function: profile_df.

import pandas as pd
import numpy as np
from eda_profiler import profile_df

# 1. Create a sample DataFrame
data = {
    'numeric_col': np.random.randn(100) * 100,
    'categorical_col': np.random.choice(['A', 'B', 'C'], 100, p=[0.6, 0.3, 0.1]),
    'mixed_col_with_nan': [1, 2, np.nan, 4, 5, 1, 2, np.nan] * 12 + [1,2,np.nan, 4]
}
df = pd.DataFrame(data)

# 2. Generate the EDA profile
eda_summary = profile_df(df)

# 3. Print the summary
# Transposing (.T) is often useful for readability
print(eda_summary.T)

Contributing

Contributions are welcome! Please feel free to submit a pull request or open an issue.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

eda_profiler-0.1.0.tar.gz (4.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

eda_profiler-0.1.0-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

Details for the file eda_profiler-0.1.0.tar.gz.

File metadata

  • Download URL: eda_profiler-0.1.0.tar.gz
  • Upload date:
  • Size: 4.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.11

File hashes

Hashes for eda_profiler-0.1.0.tar.gz
Algorithm Hash digest
SHA256 45598d5a39748acf2d240c5ed4dbb7fa73675f56b8d6675aec5bd362b5867c3b
MD5 4418aa8dc3875f82e1bb016401f2f2d3
BLAKE2b-256 f5b1dabee60d352b1e65fdd60a2e30d606c1f898fe9fe46b5c569fd61d0c3ae2

See more details on using hashes here.

File details

Details for the file eda_profiler-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: eda_profiler-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.11

File hashes

Hashes for eda_profiler-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 01eb2908387b14e6ef537d77db19ff73670673f8ede962a1315f6be5c8efe3a0
MD5 a47c38e1093e32992e6d7b516be6e7c4
BLAKE2b-256 1dd2b93b893a5f69ce360029a0e0097a9ff703fd8c391c5ccebc6863a8c1df01

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page