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
Hashes for benford_law-0.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 722d7fe04c378cb7e282859dc30e95f7e5974e4bb961bf6abbff237a469885b9 |
|
MD5 | d4f214babb16de0ed49708c2dc294920 |
|
BLAKE2b-256 | 91f1aa0d954e40f335688f666a5652f0f4cffb9e74d0d9c87fa07097c58db316 |