Skip to main content

lightweight library that provides functionalities for common EDA tasks

Project description

Edazer

Edazer is a lightweight Python package for performing common exploratory data analysis (EDA) tasks. It provides quick and intuitive methods to inspect, summarize, and understand datasets—supporting both pandas and polars backends.

Includes utilities for: Interactive DataFrame exploration (via itables)

Automated profiling reports (via a wrapper around ydata-profiling)

🚀 Ideal for:

Jupyter notebooks

Fast, one-line data profiling

Early-stage dataset exploration


Features

  • Quick DataFrame Summaries: Instantly view info, describe, nulls, duplicates, and shape using summary method
  • Unique Value Inspection: Easily display unique values for any or all columns.
  • Type-based Column Selection: Find columns by dtype (e.g., int, float categorical).
  • Flexible Subsetting: Use the lookup method to view head, tail, or random samples.
  • Custom DataFrame Naming: Track multiple DataFrames with custom names for clarity.

Installation

pip install edazer

Quick Start with Titanic Dataset

import seaborn as sns
from edazer import Edazer, interactive_df 
from edazer.profiling import show_data_profile

# Enable interactive DataFrames (via itables)
interactive_df()

# Load dataset
titanic = sns.load_dataset('titanic')

# Initialize Edazer instance
titanic_dz = Edazer(titanic, backend="pandas", name="titanic")

# Complete DataFrame summary
titanic_dz.summarize_df()

# Data profiling report (via ydata_profiling)
show_data_profile(titanic_dz)

# Show unique values for specific columns
titanic_dz.show_unique_values(column_names=['class', 'embarked'], max_unique=5)

# Get float columns
print(titanic_dz.cols_with_dtype(['float'], exact=False))

# Combine methods: get object columns and show their unique values
titanic_dz.show_unique_values(column_names=titanic_dz.cols_with_dtype(dtypes=["object"]))

# View first few rows
print(titanic_dz.lookup("head"))

# Access raw DataFrame
print(titanic_dz.df.columns)

📘 API Reference

Edazer(df, backend="pandas", name=None)

Create an analyzer instance.

  • df: pd.DataFrame or pl.DataFrame
  • backend: "pandas" or "polars" (default: "pandas")
  • name: Optional string label for the DataFrame

summarize_df()

Print summary:

  • Schema/info
  • Descriptive stats
  • Null/duplicate counts
  • Unique values
  • Shape

show_unique_values(column_names=None, max_unique=10)

Show unique values for columns.

  • column_names: Optional list of columns
  • max_unique: Max unique values to display per column

cols_with_dtype(dtypes, exact=False, return_dtype_map=False)

Return columns matching specified dtypes.

  • dtypes: List of type strings (e.g. ["int", "object"])
  • exact: Match full dtype string (e.g. "int64")
  • return_dtype_map: If True, return {col: dtype}

lookup(option="head")

Quickly inspect data.

  • option: "head", "tail", or "sample"

Example Output

titanic_eda.show_unique_values(column_names=titanic_dz.cols_with_dtype(dtypes=["object"]))

# Output:
sex: ['male', 'female']
embarked: ['S', 'C', 'Q', nan]
who: ['man', 'woman', 'child']
embark_town: ['Southampton', 'Cherbourg', 'Queenstown', nan]
alive: ['no', 'yes']

Contributing

Contributions are highly welcome!

https://github.com/adarsh-79/edazer


License

MIT License


Author

adarsh3690704

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

edazer-0.1.3.1.tar.gz (7.7 kB view details)

Uploaded Source

Built Distribution

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

edazer-0.1.3.1-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file edazer-0.1.3.1.tar.gz.

File metadata

  • Download URL: edazer-0.1.3.1.tar.gz
  • Upload date:
  • Size: 7.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for edazer-0.1.3.1.tar.gz
Algorithm Hash digest
SHA256 2ed4ab8aa6c3b84b0df09977971fe9616ad367990ad3f3db5d26219824f32cad
MD5 4c92dc84d4aab019e59310f61c92a552
BLAKE2b-256 506a0a7aee1986a65b632fe1a4824157297fe414e6ca9fc9544670da110559cc

See more details on using hashes here.

File details

Details for the file edazer-0.1.3.1-py3-none-any.whl.

File metadata

  • Download URL: edazer-0.1.3.1-py3-none-any.whl
  • Upload date:
  • Size: 8.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for edazer-0.1.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 765b09a93dc82f40478ee2efa346af9274c533137ac5a3a0baa8c1b6bfa5ced6
MD5 bb56ebc3387ec1e56942e72e0fddae1c
BLAKE2b-256 e5d160352cce6729536365b4db7867691b791f10e13175dca23b973c3b2ff5f5

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