The Python random.paretovariate() method in Python generates random numbers that follows the Pareto Distribution. It is a power-law probability distribution, also known as the "80-20 rule".
This distribution is often used in social science, quality control, finance, and natural phenomena. It depends on the shape parameter called alpha, which determines the distribution's behavior.
This function is not accessible directly, so we need to import the random module and then we need to call this function using random static object.Syntax
Following is the syntax of paretovariate() method −
random.paretovariate(alpha)Parameters
This method accepts the single parameter −
alpha: This is the shape parameter of the Pareto distribution.
This method returns random number that follows the Pareto distribution with the specified alpha.
Example 1Let's see a basic example of using the Python random.paretovariate() method for generating a single random number.
import random # alpha for the Pareto distribution alpha_ = 2 # Generate a random number from the Pareto distribution random_value = random.paretovariate(alpha_) print("Random value from Pareto distribution:", random_value)
Following is the output −
Random value from Pareto distribution: 1.101299278142964
Note: The Output generated will vary each time you run the program due to its random nature.
Example 2Here is an example that uses the random.paretovariate() method to generate and display a histogram showing the frequency distribution of samples from a Pareto distribution with a shape parameter of 3.
import random import numpy as np import matplotlib.pyplot as plt # Generate 10000 samples from an Pareto distribution with rate parameter of 100 alpha = 3 num_samples = 10000 # Generate Pareto data d = [random.paretovariate(alpha) for _ in range(num_samples)] # Create a histogram of the data with bins from 0 to 500 h, b = np.histogram(d, bins=500) # Plot the histogram plt.figure(figsize=(7, 4)) plt.bar(b[:-1], h, width=1, edgecolor='none') plt.title('Histogram of the Pareto Distributed Data') plt.show()
The output of the above code is as follows −
Example 3This example generates and plots Pareto-distributed data for different alpha values to show how the distribution changes with the shape parameter using the random.paretovariate() method.
import random import numpy as np import matplotlib.pyplot as plt def plot_pareto(alpha, order): # Generate Pareto data data = [random.paretovariate(alpha) for _ in range(500)] # Plot histogram of the generated data h, b = np.histogram(data, bins=np.arange(0, max(data)+1)) plt.bar(b[:-1], h, width=1, edgecolor='none', alpha=0.7, label=r'($\alpha={}$)'.format(alpha), zorder=order) # Create a figure for the plots fig = plt.figure(figsize=(7, 4)) # Plotting for each set of parameters plot_pareto(3, 3) plot_pareto(2, 2) plot_pareto(1, 1) # Adding labels and title plt.title('Pareto Distributions for Different Alpha Values') plt.legend() plt.ylim(1, 150) plt.xlim(1, 30) # Show plot plt.show()
While executing the above code you will get the similar output like below −
python_modules.htm
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4