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.
- 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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
467f701387a67131e599b4dc29ad77dfb909344a09b4caf5194171fad2c9a056
|
|
| MD5 |
5c167ab7b906c9ab929366f3fb49cfa3
|
|
| BLAKE2b-256 |
2ff02ce98052d2a5d0ee52b96612de7d8c84f40b21fbf6335043d56957ae58ed
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b023b8ccf813613e3903f1bc6b4317510d772956fc7cc835fad47f4d08ad4973
|
|
| MD5 |
141ceba629c8d4a2fd0839c4675a7d8c
|
|
| BLAKE2b-256 |
44de5095a0976c265a2b930f3ff56fbb8541af707245ff86af14c7726de4c653
|