Skip to main content

ابزارهای قدرتمند برای تمیزکاری و پیش‌پردازش داده‌ها

Project description

markdown

Clean-Data-Tools

ابزارهای قدرتمند برای تمیزکاری و پیش‌پردازش داده‌ها در پایتون

PyPI version Python 3.7+ License: MIT


🌐 English | فارسی


English Documentation

📁 clean-data-tools

Clean-Data-Tools is a powerful library for data cleaning and preprocessing in Python. It simplifies repetitive tasks like handling missing values, removing duplicates, detecting outliers, and normalizing data.

✨ Key Features

  • Remove Duplicates: Eliminate duplicate records easily
  • Handle Missing Values: Fill with mean, median, mode, or custom values
  • Outlier Detection: Using IQR and Z-Score methods
  • Data Normalization: Min-Max, Standardization, and Robust Scaling
  • Auto Type Conversion: Convert columns to appropriate types
  • Quality Report: Get detailed statistics about your data

📦 Installation

pip install clean-data-tools

🚀 Quick Start

import pandas as pd
from clean_data_tools import DataCleaner, OutlierDetector, Normalizer, get_data_quality_report

Load data

df = pd.read_csv("data.csv")

Clean data

cleaner = DataCleaner(df)
cleaner.remove_duplicates()
cleaner.fill_missing("mean")
cleaner.strip_strings()

Detect and remove outliers

detector = OutlierDetector(cleaner.get_data())
outliers = detector.detect_iqr()
df_clean = detector.remove_outliers()

Normalize

normalizer = Normalizer(df_clean)
df_scaled = normalizer.min_max_scale()

Quality report

report = get_data_quality_report(df_clean)
print(report)

📚 API Reference

DataCleaner Class

Method Description
remove_duplicates(subset, keep) Remove duplicate rows
fill_missing(method, columns) Fill missing values with mean, median, mode, or custom
remove_missing(threshold, axis) Remove rows/columns with too many missing values
convert_types(columns) Auto-convert column data types
strip_strings(columns) Remove extra whitespace from strings
rename_columns(mapping) Rename columns
filter_rows(condition) Filter rows based on condition
reset() Revert to original data

OutlierDetector Class

Method Description
detect_iqr(columns, multiplier) Detect outliers using IQR method
detect_zscore(columns, threshold) Detect outliers using Z-Score method
remove_outliers(columns, method, threshold) Remove rows with outliers
replace_outliers(columns, method, multiplier) Replace outliers with mean/median/custom

Normalizer Class

Method Description
min_max_scale(columns, feature_range) Scale to a range (default 0-1)
standardize(columns) Standardize to mean=0, std=1
robust_scale(columns) Scale using median and IQR (robust to outliers)
log_transform(columns) Apply log transformation

Utility Functions

Function Description
get_data_quality_report(df) Get comprehensive data quality report
get_column_info(df, column) Get detailed info about a specific column

🛠️ Requirements

Python 3.7 or higher

pandas>=1.0.0

numpy>=1.18.0

scipy>=1.4.0


🤝 Contributing

We welcome contributions! Please:

1.Fork the repository

2.Create a new branch (git checkout -b feature/amazing-feature)

3.Commit your changes (git commit -m 'Add amazing feature')

4.Push to the branch (git push origin feature/amazing-feature)

5.Open a Pull Request


📄 License

This project is licensed under the MIT License.


📧 Contact

Email: hasan111bagher@gmail.com

GitHub: 0hasanbagheri0



فارسی


📁 Clean-Data-tools

Clean-Data-tools یک کتابخانه قدرتمند برای تمیزکاری و پیش‌پردازش داده‌ها در پایتون است. این کتابخانه کارهای تکراری مانند مدیریت مقادیر خالی، حذف رکوردهای تکراری، تشخیص داده‌های پرت و نرمال‌سازی داده‌ها را ساده می‌کند.


✨ ویژگی‌های کلیدی

حذف رکوردهای تکراری: حذف آسان رکوردهای تکراری

مدیریت مقادیر خالی: پر کردن با میانگین، میانه، مد یا مقدار دلخواه

تشخیص داده‌های پرت: با روش‌های IQR و Z-Score

نرمال‌سازی داده‌ها: Min-Max، Standardization و Robust Scaling

تبدیل خودکار نوع داده‌ها: تبدیل ستون‌ها به نوع مناسب

گزارش کیفیت: دریافت آمار دقیق از داده‌ها


📦 نصب

pip install clean-data-tools

🚀 شروع سریع

import pandas as pd
from Clean_Data_tools import DataCleaner, OutlierDetector, Normalizer, get_data_quality_report

بارگذاری داده

df = pd.read_csv("data.csv")

تمیزکاری

cleaner = DataCleaner(df)
cleaner.remove_duplicates()
cleaner.fill_missing("mean")
cleaner.strip_strings()

تشخیص و حذف داده‌های پرت

detector = OutlierDetector(cleaner.get_data())
outliers = detector.detect_iqr()
df_clean = detector.remove_outliers()

نرمال‌سازی

normalizer = Normalizer(df_clean)
df_scaled = normalizer.min_max_scale()

گزارش کیفیت

report = get_data_quality_report(df_clean)
print(report)

📚 راهنمای توابع

کلاس DataCleaner

تابع توضیح
remove_duplicates(subset, keep) حذف سطرهای تکراری
fill_missing(method, columns) پر کردن مقادیر خالی با میانگین، میانه، مد یا مقدار دلخواه
remove_missing(threshold, axis) حذف سطرها/ستون‌هایی که مقادیر خالی زیادی دارند
convert_types(columns) تبدیل خودکار نوع ستون‌ها
strip_strings(columns) حذف فاصله‌های اضافی از رشته‌ها
rename_columns(mapping) تغییر نام ستون‌ها
filter_rows(condition) فیلتر کردن سطرها بر اساس شرط
reset() بازگشت به داده‌های اصلی

کلاس OutlierDetector

تابع توضیح
detect_iqr(columns, multiplier) تشخیص داده‌های پرت با روش IQR
detect_zscore(columns, threshold) تشخیص داده‌های پرت با روش Z-Score
remove_outliers(columns, method, threshold) حذف سطرهای حاوی داده‌های پرت
replace_outliers(columns, method, multiplier) جایگزینی داده‌های پرت با میانگین/میانه/مقدار دلخواه

کلاس Normalizer

تابع توضیح
min_max_scale(columns, feature_range) مقیاس‌سازی به بازه مشخص (پیش‌فرض ۰ تا ۱)
standardize(columns) استانداردسازی (میانگین صفر، انحراف معیار یک)
robust_scale(columns) مقیاس‌سازی مقاوم به داده‌های پرت (با میانه و IQR)
log_transform(columns) اعمال تبدیل لگاریتمی

توابع کمکی

تابع توضیح
get_data_quality_report(df) دریافت گزارش کامل کیفیت داده
get_column_info(df, column) دریافت اطلاعات دقیق یک ستون خاص

🛠️ نیازمندی‌ها

Python 3.7 یا بالاتر

pandas>=1.0.0

numpy>=1.18.0

scipy>=1.4.0

🤝 مشارکت

از مشارکت شما استقبال می‌کنیم! لطفاً:

1.مخزن را Fork کنید

2.یک شاخه جدید بسازید (git checkout -b feature/amazing-feature)

3.تغییرات را Commit کنید (git commit -m 'Add amazing feature')

4.به شاخه خود Push کنید (git push origin feature/amazing-feature)

5.یک Pull Request باز کنید

📄 مجوز

این پروژه تحت مجوز MIT منتشر شده است.

📧 ارتباط با من

ایمیل: hasan111bagher@gmail.com

گیت‌هاب: 0hasanbagheri0

✨ اگر این کتابخانه برای شما مفید بود، به آن یک ⭐ در گیت‌هاب بدهید!

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

clean_data_tools-1.0.0.tar.gz (11.6 kB view details)

Uploaded Source

Built Distribution

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

clean_data_tools-1.0.0-py3-none-any.whl (11.3 kB view details)

Uploaded Python 3

File details

Details for the file clean_data_tools-1.0.0.tar.gz.

File metadata

  • Download URL: clean_data_tools-1.0.0.tar.gz
  • Upload date:
  • Size: 11.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.0

File hashes

Hashes for clean_data_tools-1.0.0.tar.gz
Algorithm Hash digest
SHA256 0bd340a5f648c38756cf6db7376fabf9f060c8e698c355616bdd04fb3b1ad213
MD5 106cb231a48248799c7e9e63c92bf2b4
BLAKE2b-256 db69a3ab7157d87507aee2bc158e7c13640d1baa354d86b75214964060494b4a

See more details on using hashes here.

File details

Details for the file clean_data_tools-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for clean_data_tools-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c3e57dde37108fef77ba1ac784a15a4e9c6d7c58a7dfd951d03fe16f475621ee
MD5 c8360ff510563addb6ac10f61d1c12ef
BLAKE2b-256 d9f1a5130e58222e1891d3006789040c03bc16c9b8e9b24b2c7216e1ab1e5237

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