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 details)

Uploaded Source

File details

Details for the file privacypanda-0.1.0.tar.gz.

File metadata

  • Download URL: privacypanda-0.1.0.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.2.0.post20200209 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.1

File hashes

Hashes for privacypanda-0.1.0.tar.gz
Algorithm Hash digest
SHA256 dc7e82218d95d60f8f269e8b543446388d23eff4dcbc7869964d97454cc61714
MD5 a535c072d99d21785ac9fd0906279412
BLAKE2b-256 c857a872f2280f241c9b778874183d2370ff78f47f8fd85f5497ce5df26f010f

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