A python tool to calculate the Benford´s Law from a dataset or image
Project description
A Python package to apply the Benford´s Law analysis
Project Motivation
As part of the Udacity Data Science nanodegree this is a project to create and deploy a Python package, based on this I decided to use the Benford´s Law to create a package using OOP than can apply the analyzis to a dataset, an imgae or a numpy array of numbers.
Installation:
pip intall benford_law
This package uses these libraries
- pandas
- numpy
- matplotlib
The python version used: 3.8
Files in the repository
- README.md : This file
- setup.py : Setup file for the package
- .gitignore : File to ignore files and not load to the GitHub repository
- LICENSE : The MIT License
- benford_law
- bendord_law.py : The Benford Class
- init.py : Inititalization file for the package
- tests
- tests.py : Script for unit tests of the Benford Class
- Benford_plot_test.ipynb : Jupyter Notebook to test the graphs plotting ot the Benford Class
- flower.jpg : JPG image to test the Benford Class
- population.csv : CSV dataset with the Wordl Population to test the Benford Class
How To use the package
-
Create an instace with the Benford Class
benford = Benford()
-
Load a dataset or an image ,
bendford.load_dataset(dataset_name)
benford.load_image(image_name)
-
Do the benford analysis using the benford_analysis method
benford.benford_analysis()
-
Graph or plot the results using plot() method
benford.plot()
-
Save the results using expor_to_csv() method:
benford.export_to_csv(filename)
Example using the pakage to analyze an image:
#Import libraries
import pandas as pd
import numpy as np
from benford_law import Benford
import matplotlib.pyplot as plt
from PIL import Image
image_file = 'flower.jpg' #Read image
image = Benford() #Create Benford instance
image.load_image(image_file) #Load image
image.benford_analysis() #Do Analysis
image.plot() #Plot Benford´s analysis
Terms of use:
This is a tool to do an initial analyzis using Benford´s Law and plot how the digit´s probability are distributed on different datasets, it is not a formal analysis or study using the Benford´s Law
License:
The code follows this license: https://opensource.org/licenses/MIT
Project details
Release history Release notifications | RSS feed
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
File details
Details for the file benford_law-0.1.2.tar.gz
.
File metadata
- Download URL: benford_law-0.1.2.tar.gz
- Upload date:
- Size: 4.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4438878925ba01cc658fcdb3866d9c46c2d6ba9f424a90d0ada9cee780f91925 |
|
MD5 | 13e4b42f8ac3f7103625dce8120f6f56 |
|
BLAKE2b-256 | f9ba89b409985a2ad908e046cb745913f43246152b097148dc55c121293dbfa8 |
File details
Details for the file benford_law-0.1.2-py3-none-any.whl
.
File metadata
- Download URL: benford_law-0.1.2-py3-none-any.whl
- Upload date:
- Size: 5.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.8.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 722d7fe04c378cb7e282859dc30e95f7e5974e4bb961bf6abbff237a469885b9 |
|
MD5 | d4f214babb16de0ed49708c2dc294920 |
|
BLAKE2b-256 | 91f1aa0d954e40f335688f666a5652f0f4cffb9e74d0d9c87fa07097c58db316 |