Fixmydata is a lightweight helper library built on top of pandas for cleaning, validating, and inspecting tabular datasets.
Project description
Fixmydata
Fixmydata is a lightweight helper library built on top of pandas for cleaning, validating, and inspecting tabular datasets. It provides quick, chainable utilities for removing common data issues so you can focus on analysis.
Installation
The project targets Python 3.7+ and depends on pandas and numpy. You can install the package from source by cloning the repository and installing with pip:
pip install -e .
Features
- Cleaning: Deduplicate rows, drop or fill missing values, remove columns, and trim whitespace with
DataCleaner. - Validation: Assert value ranges and check for missing or empty data with
DataValidator. - Outlier filtering: Identify inliers using Z-score or IQR methods while ignoring non-numeric columns via
OutlierDetector. - Utilities: CSV load/save helpers, column name normalization, null counting, and quick DataFrame introspection.
Quickstart
import pandas as pd
from Fixmydata import DataCleaner, DataValidator, OutlierDetector
raw = pd.DataFrame({
"id": [1, 1, 2, 3],
"city": [" New York", "Boston ", "Chicago", None],
"value": [10.5, 9.7, 11.2, 13.0],
})
# Clean data
cleaner = DataCleaner(raw)
cleaner.remove_duplicates(subset=["id"])
cleaner.drop_missing(columns=["city"])
cleaner.standardize_whitespace(["city"])
clean = cleaner.data
# Validate data
validator = DataValidator(clean)
validator.validate_range("value", 0, 15)
validator.validate_non_empty()
# Filter outliers
outlier_detector = OutlierDetector(clean)
inliers = outlier_detector.z_score_outliers(threshold=2.5)
print(inliers)
Modules
Fixmydata.cleaning.DataCleaner: Common cleaning operations that mutate an internal copy and expose the cleaneddataproperty for reuse.Fixmydata.data_validator.DataValidator: Range and completeness checks with clear errors on schema mismatches.Fixmydata.outlier_detector.OutlierDetector: Z-score and IQR inlier filters with safeguards for missing numeric data.Fixmydata.utils: CSV I/O helpers, column name normalization, null counting, and DataFrame info display.Fixmydata.stats: Basic descriptive statistics and standalone outlier helpers.
Contributors
| Name | Role / Position | Main Contribution |
|---|---|---|
| Johann Lloyd Megalbio | Leader | Project management and overall coordination |
| Albrien Dealino | Developer | Core coding and development tasks |
| Rafael John Calingin | Developer | Coding and implementation of key features |
| Shawn Bolores Sillote | Developer | Development of system modules and functions |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fixmydata-0.1.0.tar.gz.
File metadata
- Download URL: fixmydata-0.1.0.tar.gz
- Upload date:
- Size: 6.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8ac1bffd4c31dda2f6156695af00f1cb2a49bacc50f4c2c97270afe719e3ec4e
|
|
| MD5 |
99e203943ce4000cc3cde0a3b9068007
|
|
| BLAKE2b-256 |
934599726c0cadaa260172f761e027e6d51a6e83061d0f85d85a8b4c2304308f
|
File details
Details for the file fixmydata-0.1.0-py3-none-any.whl.
File metadata
- Download URL: fixmydata-0.1.0-py3-none-any.whl
- Upload date:
- Size: 8.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
32ead878e78d4ad240c28c323728be7e6eaaa8d3286372ec3f507ae322bf9d2d
|
|
| MD5 |
f3852768477648906cfac4ffee3f9d31
|
|
| BLAKE2b-256 |
764d1253f889246172a81716d345a17acdf68e75e14c1aecf25da018e64203a6
|