# NumPy Random Data Distribution

In this article, we will explore NumPy random distribution functions and their usage.

One of the key features of NumPy is its ability to generate random data distributions, which is useful for a variety of applications such as simulation and modeling.

## What is NumPy Data Distribution?

NumPy random Distribution is a list of all probable outcomes, along with the frequency of each outcome.

Working with statistics and data science requires lists of data.

NumPy provides various tools to generate random data that follows different probability distributions.

There are methods in the random module that provide randomly created data distributions.

## NumPy Random Distribution

Numpy random distributions are collections of random numbers that obey a particular probability density function.

NumPy random module provides a range of functions to generate random numbers from different probability distributions.

These functions can be used to generate random data for various statistical simulations, machine learning models, and other applications.

Here are some of the commonly used NumPy random distribution functions:

 Functions Overview Uniform Distribution The uniform distribution generates random numbers that are evenly distributed within a specified range. The function to generate random numbers from a uniform distribution is numpy.random.uniform(). The function takes three arguments – the lower limit of the range, the upper limit of the range, and the size of the array. Normal Distribution The normal distribution, also known as the Gaussian distribution, generates random numbers that follow a bell-shaped curve. The function to generate random numbers from a normal distribution is numpy.random.normal(). The function takes two arguments – the mean and standard deviation of the distribution, and the size of the array. Poisson Distribution The Poisson distribution generates random numbers that represent the number of occurrences of an event in a fixed interval of time. The function to generate random numbers from a Poisson distribution is numpy.random.poisson(). The function takes two arguments – the expected value of the distribution and the size of the array. Exponential Distribution The exponential distribution generates random numbers that represent the time between two events in a Poisson process. The function to generate random numbers from an exponential distribution is numpy.random.exponential(). The function takes two arguments – the scale parameter, which is the inverse of the rate parameter, and the size of the array. Gamma Distribution The gamma distribution generates random numbers that represent the waiting time until a certain number of events occur in a Poisson process. The function to generate random numbers from a gamma distribution is numpy.random.gamma(). The function takes three arguments – the shape parameter, the scale parameter, and the size of the array. Beta Distribution The beta distribution generates random numbers that represent probabilities or proportions. The function to generate random numbers from a beta distribution is numpy.random.beta(). The function takes two arguments – the shape parameters alpha and beta, and the size of the array. Triangular Distribution The triangular distribution generates random numbers that are distributed within a specified range and are more likely to be near the middle of the range. The function to generate random numbers from a triangular distribution is numpy.random.triangular(). The function takes three arguments – the lower limit of the range, the upper limit of the range, and the mode of the distribution, and the size of the array. Binomial Distribution The binomial distribution generates random numbers that represent the number of successes in a fixed number of trials. The function to generate random numbers from a binomial distribution is numpy.random.binomial(). The function takes three arguments – the number of trials, the probability of success in each trial, and the size of the array.

### Probability Density Function:

Probability function that represents a continuous distribution. In other words, the probability of each item in an array.

With the random module’s choice() method, we can produce random numbers depending on given probabilities.

We can determine the probability of each item in the Numpy random distribution by calling the choice() method.

Probability is determined by a number ranging from 0 and 1, where 0 means the value will never appear and 1 means it will always appear.

Make a 1-D array with 65 items with 4, 6, 8, 9, 10, 12, 14, 15 or 16 values each:

#### Example:

from numpy import random compositeNum = random.choice([4, 6, 8, 9, 10, 12, 14, 15, 16], p=[0.1, 0.1, 0.1, 0.3, 0.2, 0.05, 0.1, 0.02, 0.03], size=(65)) print(compositeNum)

Build a factorial 1-D array that includes 5 items, each of which must be 1, 2, 6, 24, 120 or 720:

#### Example:

from numpy import random factorial = random.choice([1, 2, 6, 24, 120, 720], p=[0.2, 0.08, 0.3, 0.2, 0.2, 0.02], size=(5)) print(factorial)
All probability numbers must add up to 1.

By providing the size parameter, you can generate arrays of different shapes and sizes.

Provide a two-dimensional array with four rows and three values per row:

#### Example:

from numpy import random numDifference = random.choice([5, 10, 15, 25, 30, 35, 40, 45], p=[0.1, 0.15, 0.15, 0.1, 0.15, 0.1, 0.1, 0.15], size=(4, 3)) print(numDifference)

Create a two-dimensional cube array with eight rows and two items each:

#### Example:

from numpy import random cube = random.choice([1, 8, 27, 64, 125], p=[0.15, 0.2, 0.2, 0.2, 0.25], size=(8, 2)) print(cube)
+1
1
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0 