Movatterモバイル変換


[0]ホーム

URL:


Python Tutorial

Python random.normalvariate() Method



The Pythonrandom.normalvariate() method in Python generates random numbers that follows theNormal Distribution, also called as Gaussian Distribution. It is a family of continuous probability distributions, depends on the values of two parameters mu and sigma. Where,mu is the mean andsigma is the standard deviation of the normal distribution.

This distribution is often used in statistics, data analysis, and various fields of science, including natural and social sciences.

This method is slightly slower than therandom.gauss() method for generating random numbers from a Normal (Gaussian) distribution.

Syntax

Following is the syntax of Pythonnormalvariate() method −

random.normalvariate(mu, sigma)

Parameters

This method accepts two parameters −

  • mu: This is the mean of the normal distribution. It defines the center of the distribution around which the data points are distributed.

  • sigma: This is the standard deviation of the normal distribution. It determines the spread of the distribution; a larger standard deviation results in a wider distribution.

Return Value

This method returns a random number that follows the normal distribution.

Example 1

Let's see a basic example of using the Pythonrandom.normalvariate() method for generating a random number from a normal distribution with a mean of 0 and a standard deviation of 1.

import random# meanmu = 0  # standard deviationsigma = 1  # Generate a normal-distributed random numberrandom_number = random.normalvariate(mu, sigma)# Print the outputprint("Generated random number from normal-distribution:",random_number)

Following is the output −

Generated random number from normal-distribution: -0.7769202103807216

Note: The Output generated will vary each time you run the program due to its random nature.

Example 2

This example generates a list of 10 random numbers that follows the normal distribution using therandom.normalvariate() method.

import random# meanmu = -2 # standard deviationsigma = 0.5  result = []# Generate a list of random numbers from the normal distributionfor i in range(10):    result.append(random.normalvariate(mu, sigma))print("List of random numbers from normal distribution:", result)

While executing the above code you will get the similar output like below −

List of random numbers from normal distribution: [-2.778171960521405, -2.2533800337312067, -1.9066268514693987, -1.084536370988285, -1.9904834774844322, -2.0760115964122665, -1.834173950583494, -2.2002024554415516, -2.5518948340343868, -1.3772372391051193]

Example 3

Here is another example that uses therandom.normalvariate() method, and demonstrates how changing the mean and standard deviation affects the shape of the normal distribution.

import randomimport matplotlib.pyplot as plt# Define a function to generate and plot data for a given mu and sigmadef plot_normal(mu, sigma, label, color):    # Generate normal-distributed data    data = [random.normalvariate(mu, sigma) for _ in range(10000)]    # Plot histogram of the generated data    plt.hist(data, bins=100, density=True, alpha=0.6, color=color, label=f'(mu={mu}, sigma={sigma})')fig = plt.figure(figsize=(7, 4))# Plotting for each set of parametersplot_normal(0, 0.2, '0, 0.2', 'blue')plot_normal(0, 1, '0, 1', 'red')plot_normal(0, 2, '0, 2', 'yellow')plot_normal(-2, 0.5, '-2, 0.5', 'green')# Adding labels and titleplt.title('Normal Distributions')plt.legend()# Show plotplt.show()

The output of the above code is as follows −

Random Normalvariate Method
python_modules.htm
Print Page
Advertisements

[8]ページ先頭

©2009-2025 Movatter.jp