Skip to main content

YData open-source tools for Data Quality.

Project description

ydata-quality

ydata_quality is an open-source python library for assessing Data Quality throughout the multiple stages of a data pipeline development.

A holistic view of the data can only be captured through a look at data from multiple dimensions and ydata_quality evaluates it in a modular way wrapped into a single Data Quality engine. This repository contains the core python source scripts and walkthrough tutorials.

Quickstart

The source code is currently hosted on GitHub at: https://github.com/ydataai/ydata-quality

Binary installers for the latest released version are available at the Python Package Index (PyPI).

pip install ydata-quality

Comprehensive quality check in few lines of code

from ydata_quality import DataQuality
import pandas as pd

#Load in the data
df = pd.read_csv('./datasets/transformed/census_10k.csv')

# create a DataQuality object from the main class that holds all quality modules
dq = DataQuality(df=df)

# run the tests and outputs a summary of the quality tests
results = dq.evaluate()
Warnings:
	TOTAL: 5 warning(s)
	Priority 1: 1 warning(s)
	Priority 2: 4 warning(s)

Priority 1 - heavy impact expected:
	* [DUPLICATES - DUPLICATE COLUMNS] Found 1 columns with exactly the same feature values as other columns.
Priority 2 - usage allowed, limited human intelligibility:
	* [DATA RELATIONS - HIGH COLLINEARITY - NUMERICAL] Found 3 numerical variables with high Variance Inflation Factor (VIF>5.0). The variables listed in results are highly collinear with other variables in the dataset. These will make model explainability harder and potentially give way to issues like overfitting. Depending on your end goal you might want to remove the highest VIF variables.
	* [ERRONEOUS DATA - PREDEFINED ERRONEOUS DATA] Found 1960 ED values in the dataset.
	* [DATA RELATIONS - HIGH COLLINEARITY - CATEGORICAL] Found 10 categorical variables with significant collinearity (p-value < 0.05). The variables listed in results are highly collinear with other variables in the dataset and sorted descending according to propensity. These will make model explainability harder and potentially give way to issues like overfitting. Depending on your end goal you might want to remove variables following the provided order.
	* [DUPLICATES - EXACT DUPLICATES] Found 3 instances with exact duplicate feature values.

On top of the summary, you can retrieve a list of detected warnings for detailed inspection.

# retrieve a list of data quality warnings 
warnings = dq.get_warnings()

Examples

Here you can find walkthrough tutorials and examples to familarize with different modules of ydata_quality

To dive into any focussed module, and to understand how they work, here are tutorial notebooks:

  1. Bias and Fairness
  2. Data Expectations
  3. Data Relations
  4. Drift Analysis
  5. Duplicates
  6. Labelling: Categoricals and Numericals
  7. Missings
  8. Erroneous Data

Contributing

We are open to collaboration! If you want to start contributing you only need to:

  1. Search for an issue in which you would like to work. Issues for newcomers are labeled with good first issue.
  2. Create a PR solving the issue.
  3. We would review every PRs and either accept or ask for revisions.

You can also join the discussions on the #data-quality channel on our Slack and request features/bug fixes by opening issues on our repository.

Support

For support in using this library, please join the #help Slack channel. The Slack community is very friendly and great about quickly answering questions about the use and development of the library. Click here to join our Slack community!

License

GNU General Public License v3.0

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

ydata-quality-0.1.0.tar.gz (55.2 kB view details)

Uploaded Source

Built Distribution

ydata_quality-0.1.0-py2.py3-none-any.whl (64.8 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file ydata-quality-0.1.0.tar.gz.

File metadata

  • Download URL: ydata-quality-0.1.0.tar.gz
  • Upload date:
  • Size: 55.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for ydata-quality-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e32bd5074a490d27606b42004d4d7cfbaaeeac21a403d9e40955ac8fb92c12c8
MD5 13b4c26a62ab96a2623bb8b9338231a3
BLAKE2b-256 552b71637a81f184ca8cc609c3259aeb729c110c4b693ca71df5cdaa8c2335c7

See more details on using hashes here.

File details

Details for the file ydata_quality-0.1.0-py2.py3-none-any.whl.

File metadata

  • Download URL: ydata_quality-0.1.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 64.8 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for ydata_quality-0.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a213c8503de0b257b9bf8df5a68a0fdff94a7a7a966c8d39a52a450513c10c2b
MD5 ea00953b0ac0c17aa45e0443b03d218c
BLAKE2b-256 7963913e43c202a1ee2f65384b40ff6bec981c8af5af21726fdadd764c69c8da

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page