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).
    • If value count is <=10 then it will show the unique values as well.
    • Mode (most frequent value), its frequency, and percentage.

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.2.tar.gz (4.6 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.2-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: eda_profiler-0.1.2.tar.gz
  • Upload date:
  • Size: 4.6 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.2.tar.gz
Algorithm Hash digest
SHA256 4e07951b36a7cbe68c43f5f872631a6947262a27b56624b277e17d677b8eeda2
MD5 50e9a69dd78400110f15969f802e5949
BLAKE2b-256 624100af75cd2c472edb10e0da2b5b9877b9933c449f0ec0af22975362fdc13d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: eda_profiler-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 5.0 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ff7493f3d2e36d8b7c3acad695f6ffbf6090aeb65025d9b9985853d476efe342
MD5 d38139b56b78301b1fd730a8966142e2
BLAKE2b-256 de419132015aca4487685918f79414ae80192539e230400a87ffcbed91bfe85f

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