ابزارهای قدرتمند برای تمیزکاری و پیشپردازش دادهها
Project description
markdown
Clean-Data-Tools
ابزارهای قدرتمند برای تمیزکاری و پیشپردازش دادهها در پایتون
🌐 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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0bd340a5f648c38756cf6db7376fabf9f060c8e698c355616bdd04fb3b1ad213
|
|
| MD5 |
106cb231a48248799c7e9e63c92bf2b4
|
|
| BLAKE2b-256 |
db69a3ab7157d87507aee2bc158e7c13640d1baa354d86b75214964060494b4a
|
File details
Details for the file clean_data_tools-1.0.0-py3-none-any.whl.
File metadata
- Download URL: clean_data_tools-1.0.0-py3-none-any.whl
- Upload date:
- Size: 11.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c3e57dde37108fef77ba1ac784a15a4e9c6d7c58a7dfd951d03fe16f475621ee
|
|
| MD5 |
c8360ff510563addb6ac10f61d1c12ef
|
|
| BLAKE2b-256 |
d9f1a5130e58222e1891d3006789040c03bc16c9b8e9b24b2c7216e1ab1e5237
|