Skip to main content

Anonymizing pandas dataframes

Project description

Binder License

PrivacyPanda

PrivacyPanda is a package for detecting and removing personal, private data (such as names and addresses) from pandas dataframes.

Why privacypanda

The volume of available information - personal, private information - of each and every one of us is vast and growing. This information can be used to build such a clear picture of who you are that bad actors can know you better than your partner does. In the wrong hands, this data can influence the way you shop, the way you vote, the way you think...

A necessary step to protect ourselves is to anonymize data - to strip it of any identifying features like our names or addresses. While many of the people handling private data are trustworthy, honest and ethical, we can't always trust that they will successfully scrub a dataset of any information which may be used against us.

privacypanda aims to make data anonymization a little bit easier by providing tools to detect identifying features in pandas dataframes and expunge them.

How to install

privacypanda requires python of 3.7 or above and pandas >= 1.0.0.

privacypanda can be installed via pypi via pip install privacypanda

Alternatively, to install from source:

  1. clone the repository
  2. navigate to the project folder
  3. run pip install -e .

How to use

See the example notebooks for more extensive usage. Click this link to run the example notebooks online.

With privacypanda you can audit the privacy of your dataframe:

import pandas as pd
import privacypanda as pp

data = pd.DataFrame(
    {
        "privateData":
            [
                "an@email.com",
                "AB1 1AB",
                "Some other data",
            ],
        "nonPrivateData":
            [
                1,
                2,
                3,
            ],
    }
)

print(pp.report_privacy(data))

This prints the names of any colums in the data which break privacy, and the ways in which privacy is broken.

>>> "privateData": ["address", "email"]

Contributing

All contributions are important and welcomed. Please see the contributing guide for more information.

License

The PrivacyPanda project is licensed with Apache 2.0. Please refer to the license for more information.

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

privacypanda-0.1.0.tar.gz (5.1 kB view hashes)

Uploaded Source

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