Skip to main content

A Python library for data preprocessing

Project description

dataproc

dataproc is a Python library designed to streamline common data preprocessing tasks, making it easier for data scientists and analysts to prepare their datasets for analysis and modeling. This library provides functions to handle missing data, treat outliers, encode categorical variables, and visualize data distribution using boxplots.


Installation
You can install dataproc using pip:
pip install dataproc

Usage:

import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns from sklearn.preprocessing import LabelEncoder from dataproc.preprocessing import impute_missing_data, treat_outliers, encode_categorical_columns, draw_boxplots


Functions:

1. impute_missing_data(df)
Purpose: Imputes missing values in a DataFrame. (Numerical and categorical columns)

Parameters:
df (DataFrame): Input DataFrame with missing values. Any columns that do not wish to be treated, can be left out and then the
dataframe can be put as an input parameter.

Usage: Handles missing data by imputing based on column type (numeric, categorical). Datetime and string/text datatypes are
not treated. If the object/categorical column has more than five words, it will be treated as a text/string column and missing values will not be imputed. Numeric datatype - if column has outliers, median is used to impute missing data, if not, mean is used. 
For categorical columns, mode of the column is used to impute missing data within that particular column.

  1. treat_outliers(df) Purpose: Treats outliers in numerical columns using the capping method.

Parameters: df (DataFrame): Input DataFrame with numerical columns. Any columns which are not to be treated should be dropped first.

Usage: Adjusts extreme values in numerical data to improve robustness in statistical analysis and modeling. Interquartile methos is used, where values lower than lower limit are capped to lower limit and values greater than upper limit are capped to upper limit.


3. encode_categorical_columns(df, method='label')
Purpose: Encodes categorical variables in a DataFrame.

Parameters:
df (DataFrame): Input DataFrame with categorical columns. Make sure to not input any column having text or string, this is only used for categories and not for long text, etc.

method (str, optional): Method of encoding ('label' for Label Encoding, 'one-hot' for One-Hot Encoding). Default is 'label'.

Usage: Converts categorical variables into numerical representations for machine learning algorithms. Supports both Label Encoding and One-Hot Encoding.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

4. draw_boxplots(df)
Purpose: Visualizes the distribution of numerical data using boxplots. Also for the visusalization of outliers.

Parameters:
df (DataFrame): Input DataFrame with numerical columns.

Usage: Generates boxplots for each numerical column in the DataFrame, aiding in understanding data distribution and identifying outliers.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Example:
# Example usage of dataproc functions
df = pd.DataFrame({
    'A': [1, 2, 3, 4, 5],
    'B': [5, 4, 3, 2, 1],
    'C': [10, 20, None, 40, 50],
    'D': ['A', 'B', 'A', 'C', 'B']
})

# Impute missing data
df_cleaned = impute_missing_data(df)

# Treat outliers
df_cleaned = treat_outliers(df)

# Encode categorical columns using Label Encoding
df_encoded = encode_categorical_columns(df, method='label')

# Draw boxplots
draw_boxplots(df)

plt.show()  # Display the plots

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

License:
This project is licensed under the MIT License - see the LICENSE file for details.


Contributing:
Contributions are welcome! Please feel free to submit issues and pull requests.

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

prodata-0.1.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

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

prodata-0.1-py3-none-any.whl (6.2 kB view details)

Uploaded Python 3

File details

Details for the file prodata-0.1.tar.gz.

File metadata

  • Download URL: prodata-0.1.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.11.4

File hashes

Hashes for prodata-0.1.tar.gz
Algorithm Hash digest
SHA256 467f701387a67131e599b4dc29ad77dfb909344a09b4caf5194171fad2c9a056
MD5 5c167ab7b906c9ab929366f3fb49cfa3
BLAKE2b-256 2ff02ce98052d2a5d0ee52b96612de7d8c84f40b21fbf6335043d56957ae58ed

See more details on using hashes here.

File details

Details for the file prodata-0.1-py3-none-any.whl.

File metadata

  • Download URL: prodata-0.1-py3-none-any.whl
  • Upload date:
  • Size: 6.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.11.4

File hashes

Hashes for prodata-0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b023b8ccf813613e3903f1bc6b4317510d772956fc7cc835fad47f4d08ad4973
MD5 141ceba629c8d4a2fd0839c4675a7d8c
BLAKE2b-256 44de5095a0976c265a2b930f3ff56fbb8541af707245ff86af14c7726de4c653

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