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 py-benford
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
- py-benford
- bendord.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 py-benford 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.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b037d4cf8772136cef0f0cb9da42f2f5e4a45725d1169a8bdd4e6e4ec37b2173 |
|
MD5 | c0b663f847b1dc6074b71d47de337ec9 |
|
BLAKE2b-256 | 8bfc9fa75b562d93005165eb83001782afb1707b361b14bba7fec8fb156f075e |