PyDBox - A Python Data Science Toolbox
Project description
PyDBox - Python Data Science Toolbox
PyDBox is a comprehensive Python toolbox for data science and machine learning tasks. It provides a collection of tools and utilities to make data analysis and processing easier and more efficient.
🚀 Features
- Modular Design: Easy to use, extend, and integrate with existing workflows
- Production Ready: Thoroughly tested with comprehensive error handling
- Performance Optimized: Efficient implementations for handling large datasets
- Pandas Compatible: Seamless integration with pandas DataFrames
- Type Hints: Full type annotation support for better IDE integration
📦 Installation
pip install pydbox
🧰 Modules
TESI (Time-series Euclidean Space Interpolation)
TESI is a powerful interpolation module that implements various methods for time series data using Euclidean space transformations. It's particularly useful for:
- Financial time series analysis
- Sensor data processing
- Scientific data interpolation
- Any sequential data that requires sophisticated interpolation
Quick Start
import pandas as pd
from pydbox.tesi import TESI
# Create sample data
df = pd.DataFrame({
'A': [1, 2, 3],
'B': [4, 5, 6]
})
# Create TESI interpolator
interpolator = TESI(
input_data=df,
equation='Euc_p1', # Linear interpolation
augmentation_factor=5 # Generate 5 points between each pair
)
# Get interpolated data
result = interpolator.pd_frame()
print(result)
Available Interpolation Methods
| Method | Description | Best For |
|---|---|---|
Euc_p1 |
Linear interpolation | Simple, monotonic data |
Euc_p2 |
Quadratic interpolation | Smooth curves with moderate complexity |
Euc_p3 |
Cubic interpolation | Complex curves with multiple inflection points |
Euc_Log |
Logarithmic interpolation | Data with exponential trends |
Advanced Features
-
Robust Value Handling:
- Zero values preservation
- Near-zero value stability
- NaN and infinity handling
- Automatic data type conversion
-
Performance Optimizations:
- Vectorized operations
- Memory-efficient processing
- Parallel processing support for large datasets
-
Quality Assurance:
- Input validation
- Numerical stability checks
- Result verification
🔧 Configuration
TESI can be configured with various parameters:
interpolator = TESI(
input_data=df,
equation='Euc_p1',
augmentation_factor=5,
zero_threshold=1e-10, # Define what constitutes a "zero" value
precision=1e-6, # Numerical precision for calculations
validate_input=True # Enable/disable input validation
)
🤝 Contributing
We welcome contributions! Here's how you can help:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
Please make sure to update tests as appropriate and adhere to our coding standards.
📝 License
This project is licensed under the MIT License - see the LICENSE file for details.
👤 Author
- Derraz Radhwane
- GitHub: @derrazradhwane
- Email: derrazradhwanedz@gmail.com
📚 Documentation
For detailed documentation and examples, visit our GitHub repository.
✨ Coming Soon
- Additional interpolation methods
- GPU acceleration support
- Interactive visualization tools
- Real-time data processing
- More data science utilities
🙏 Acknowledgments
Special thanks to all contributors and users who have helped improve this package.
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 pydbox-0.1.0.tar.gz.
File metadata
- Download URL: pydbox-0.1.0.tar.gz
- Upload date:
- Size: 8.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
99fed21e25feddc30fb8c5b998540741955c0f3a5a8c11e2da7790e7b4cf1b4c
|
|
| MD5 |
e316c62fc10f7db6aebb800ac57145c7
|
|
| BLAKE2b-256 |
3dcc39d1837111f0eddd4f5ec0c4d0c0dadeb6ce193d9134511785af7db9860f
|
File details
Details for the file pydbox-0.1.0-py3-none-any.whl.
File metadata
- Download URL: pydbox-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1eb0eaa14525c82d68d3d6bf00ba23c933318ffce469ba57e9d5a78b8946c1af
|
|
| MD5 |
f2201171a69df57a1b181fe36fe96384
|
|
| BLAKE2b-256 |
68fb77f0a712e1c984ff79f8e6c4dc650c77d21f5f905b96557af19a2ee18cbf
|