Skip to main content

PyDBox - A Python Data Science Toolbox

Project description

PyDBox - Python Data Science Toolbox

PyPI version License: MIT Python 3.6+

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:

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. 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

📚 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pydbox-0.1.0.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

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

pydbox-0.1.0-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

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

Hashes for pydbox-0.1.0.tar.gz
Algorithm Hash digest
SHA256 99fed21e25feddc30fb8c5b998540741955c0f3a5a8c11e2da7790e7b4cf1b4c
MD5 e316c62fc10f7db6aebb800ac57145c7
BLAKE2b-256 3dcc39d1837111f0eddd4f5ec0c4d0c0dadeb6ce193d9134511785af7db9860f

See more details on using hashes here.

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

Hashes for pydbox-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1eb0eaa14525c82d68d3d6bf00ba23c933318ffce469ba57e9d5a78b8946c1af
MD5 f2201171a69df57a1b181fe36fe96384
BLAKE2b-256 68fb77f0a712e1c984ff79f8e6c4dc650c77d21f5f905b96557af19a2ee18cbf

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