Data Tool Bag (dtbag) - A Python library for text processing, data cleaning, and similarity-based clustering of textual data
Project description
dtbag: Data Tools for Business, Analytics & General Tasks
Streamline your data preparation for Machine Learning and Business Analytics.
dtbag is a Python library that focuses on creating solutions to common problems, and what distinguishes it from others is that it adopts a "solution in one line" approach, meaning it combines all the necessary steps to work internally and returns the result in a single output.
For instance "CatUnifier" function solves a common categorical data problem, inconsistent categorical data due to incorrect entries, spelling mistakes, different write/map data, etc...
data might have only four real categories but the output can show two times or even many times that number, and this will affect any charts/ machine learning models etc.. and return wrong results.
Clean inconsistent data entries
- data = ["Pencil", "Parrise", "Pencle", "Pris", "PParis" "pencl", "pencyl", "Paris"]
- clean_data = CatUnifier(data, threshold=0.7)
- Result: ["Pencil", "Paris"]
Key Features
- Smart Text Unification : Intelligently groups and standardizes similar text entries (like names, addresses, product titles) even with typos, different cases, or accents.
- Built for Real Data : Handles common data issues like inconsistent capitalization (
"New York","NEW YORK"), diacritics ("Café","Cafe"), and minor spelling variations. - Multilingual Support : Works seamlessly across languages commonly found in business data, including Arabic, English, French, Spanish, German, and more.
- Zero Dependencies : Uses only Python's robust standard library, ensuring lightweight and conflict-free installation.
- Preserves Original Data : Returns the most frequent original version in each group, maintaining data integrity.
What's Inside:
- CatLists : Returns a list containing the corrected unique categories from the erroneous categories.
- CatUnifier : Returns the entire input list as a new list with fully corrected categories and in the same order as entered, so that it can be replaced directly.
Quick Start
Installation
pip install dtbag
Basic Usage: Cleaning Text Data
from dtbag import CatUnifier
from dtbag import CatLists
raw_customers = ["Café Marrakech", "CAFÉ MARRAKECH", 'Café Mrakech', 'Cafe Marakesh', 'Cafffé Marrakech', 'Cfé Markech', 'Sturbuks', 'Starbucks', "Starbucks", "starbucks"]
CatUnifier(raw_customers, threshold=0.7)
Output: ['Café Marrakech', 'Café Marrakech', 'Café Marrakech', 'Café Marrakech', 'Café Marrakech', 'Café Marrakech', 'Starbucks', 'Starbucks', 'Starbucks', 'Starbucks']
products = ["laptop-13inch", "Laptop 13 Inch", "Laptop 13\"", "mouse wirlss", "Mouse Wireless"]
CatUnifier(products, threshold=0.75)
Output:["Laptop 13 Inch", "Laptop 13 Inch", "Laptop 13 Inch", "Mouse Wireless", "Mouse Wireless"]
international = ["São Paulo", "Sao Paulo", "Saw Paullow", "München", "Muenchen", "Naïve", "Naive", "Nayvee"]
CatUnifier(international, threshold=0.7)
Output:["São Paulo", "São Paulo", "São Paulo", "München", "München", "Naïve", "Naïve", "Naïve"]
Tuning Precision
strict_cleaning = unify_similar_items(data, threshold=0.9) # High precision
lenient_cleaning = unify_similar_items(data, threshold=0.6) # More grouping
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 dtbag-3.0.3.tar.gz.
File metadata
- Download URL: dtbag-3.0.3.tar.gz
- Upload date:
- Size: 5.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fb27d90d79ebb78bf71b4456d84abce7c2691dbd92ff705f23b08100fca13af9
|
|
| MD5 |
9686b55567cdcf76802fc2f3efe899cc
|
|
| BLAKE2b-256 |
22ab603fa21fc61e218d932f0c909618c643c2182b1b9c8014d0d0faf81654b5
|
File details
Details for the file dtbag-3.0.3-py3-none-any.whl.
File metadata
- Download URL: dtbag-3.0.3-py3-none-any.whl
- Upload date:
- Size: 5.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.25
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a1328d5020656c15410d152ee9e29e45807be41584c61447e1dfa3cebff45246
|
|
| MD5 |
92413947086674866403fe1ad8dc274f
|
|
| BLAKE2b-256 |
873b32c2a04b1a5cc99e3c4fda8588c2007e148aedcf9ddb3d3a6aef550140e0
|