This minimal package generates a list of int or float numbers within a specific range and steps with custom probability distribution.
pip install randdist
import randdist
numbers_list = randdist.randint(0, 10, formula = lambda x:x**2)
randint
: Generates integer numbersrandfloat
: Generates float numbers
min_value
: startmax_value
: stopstep
: bin step sizedefault = 1
formula
: lambda function for distribution curvedefault = lambda x:x
seeds
: # of generated numbersdefault = 1000
sample_size
: # of numbers to returndefault = 0
0
: return a list of generated numbers.1
: return only one int or float number2 or more
: returns a list with the specified amount of numbers. sample_size can't be more than seeds.
Depending on sample_size
:
list
: a list of shuffled generated numbers orsample
: an integer of a float number from the list
min_value = -3
max_value = 3
step = 0.5
formula = lambda x:12-(x**2)
seeds = 1000
# generate int numbers
random_list_int = randdist.randint(min_value, max_value, step, formula, seeds)
# generate float numbers
random_list_float = randdist.randfloat(min_value, max_value, step, formula, seeds)
with 10K generated numbers
# pick samples from 10K generated list of numbers
generated_list = []
for i in range(10000):
sample_int = randdist.randint(-3, 3, 0.5, lambda x:12-(x**2), sample_size = 1)
generated_list.append(sample_int)