← Back to all products
$39
Python Data Analysis Toolkit
Pandas/NumPy analysis templates with data cleaning, EDA notebooks, statistical testing, and visualization recipes using Matplotlib/Seaborn.
MarkdownPythonExcel
📄 Product Preview
Try the interactive reader and demo tools below, or get the full product with all content unlocked.
📖 Interactive Reader (Free Preview) ⚙ Try Demo Tools 📦 Download Free Sample📁 File Structure 40 files
python-data-analysis-toolkit/
├── LICENSE
├── README.md
├── data/
│ └── sample_saas_metrics.csv
├── free-sample.zip
├── guide/
│ ├── choosing_the_right_chart.md
│ └── statistical_tests_cheatsheet.md
├── guides/
│ ├── choosing_the_right_chart.md
│ └── statistical_tests_cheatsheet.md
├── index.html
├── notebooks/
│ ├── 01_loading_and_cleaning.py
│ ├── 02_eda_workflow.py
│ ├── 03_statistical_testing.py
│ └── __pycache__/
│ ├── 01_loading_and_cleaning.cpython-312.pyc
│ ├── 02_eda_workflow.cpython-312.pyc
│ └── 03_statistical_testing.cpython-312.pyc
├── requirements.txt
├── src/
│ └── datkit/
│ ├── __init__.py
│ ├── __pycache__/
│ │ ├── __init__.cpython-312.pyc
│ │ ├── cleaning.cpython-312.pyc
│ │ ├── correlations.cpython-312.pyc
│ │ ├── distributions.cpython-312.pyc
│ │ ├── eda.cpython-312.pyc
│ │ ├── loading.cpython-312.pyc
│ │ ├── main.cpython-312.pyc
│ │ ├── statistics.cpython-312.pyc
│ │ └── visualization.cpython-312.pyc
│ ├── cleaning.py
│ ├── correlations.py
│ ├── distributions.py
│ ├── eda.py
│ ├── loading.py
│ ├── main.py
│ ├── statistics.py
│ └── visualization.py
└── tests/
├── __init__.py
├── __pycache__/
│ ├── __init__.cpython-312.pyc
│ ├── test_cleaning.cpython-312.pyc
│ └── test_statistics.cpython-312.pyc
├── test_cleaning.py
└── test_statistics.py
📖 Documentation Preview README excerpt
Python Data Analysis Toolkit
A comprehensive collection of pandas, NumPy, and visualization modules for data analysts. Provides battle-tested patterns for data loading, cleaning, EDA, statistical testing, and publication-ready visualization.
Features
- Data Loading & Cleaning — Multi-format loaders with automatic type inference and validation
- Exploratory Data Analysis — Automated profiling, distribution analysis, correlation matrices
- Statistical Testing — t-tests, chi-square, ANOVA, normality checks with plain-English interpretation
- Visualization Recipes — 15+ chart templates for Matplotlib/Seaborn, ready for reports and presentations
- Sample Data — Included CSV dataset for testing all modules immediately
Quick Start
pip install -r requirements.txt
python -m src.datkit.main
Structure
src/datkit/
├── __init__.py # Package exports
├── main.py # Demo runner showcasing all modules
├── loading.py # Data loading utilities (CSV, Excel, JSON, Parquet)
├── cleaning.py # Missing values, type coercion, deduplication
├── eda.py # Automated EDA profiling and summaries
├── distributions.py # Distribution fitting and normality testing
├── correlations.py # Correlation analysis with significance testing
├── statistics.py # Hypothesis testing helpers
├── visualization.py # Chart recipes and styling
notebooks/
├── 01_loading_and_cleaning.py # Guided walkthrough of data loading
├── 02_eda_workflow.py # Complete EDA workflow example
├── 03_statistical_testing.py # Hypothesis testing examples
tests/
├── test_cleaning.py # Unit tests for cleaning module
├── test_statistics.py # Unit tests for statistical functions
data/
├── sample_saas_metrics.csv # 1000-row sample dataset
guides/
├── choosing_the_right_chart.md # Decision framework for visualization
├── statistical_tests_cheatsheet.md # When to use which test
Modules
`loading.py`
Load data from any format with automatic type detection:
from src.datkit.loading import smart_load
df = smart_load("data/sample_saas_metrics.csv")
`cleaning.py`
Handle missing values, duplicates, and type issues:
from src.datkit.cleaning import DataCleaner
cleaner = DataCleaner(df)
*... continues with setup instructions, usage examples, and more.*
📄 Code Sample .py preview
src/datkit/cleaning.py
"""
Data cleaning pipeline with chainable operations.
Provides a fluent interface for common cleaning tasks:
missing value handling, deduplication, type coercion, and outlier removal.
"""
from __future__ import annotations
import logging
from dataclasses import dataclass, field
from typing import Literal
import numpy as np
import pandas as pd
logger = logging.getLogger(__name__)
@dataclass
class CleaningReport:
"""Summary of all cleaning operations performed."""
rows_before: int
rows_after: int
columns_modified: list[str] = field(default_factory=list)
nulls_filled: int = 0
duplicates_removed: int = 0
outliers_removed: int = 0
types_coerced: dict[str, str] = field(default_factory=dict)
def __str__(self) -> str:
lines = [
f"Cleaning Report:",
f" Rows: {self.rows_before} → {self.rows_after} ({self.rows_before - self.rows_after} removed)",
f" Nulls filled: {self.nulls_filled}",
f" Duplicates removed: {self.duplicates_removed}",
f" Outliers removed: {self.outliers_removed}",
f" Types coerced: {len(self.types_coerced)} columns",
]
return "\n".join(lines)
class DataCleaner:
"""Chainable data cleaning pipeline.
Usage:
cleaner = DataCleaner(df)
result = (
cleaner
.handle_missing(strategy="smart")
# ... 204 more lines ...