2016-03-28 13 views
4

Ich muss Datensatz von Normalverteilung erzeugen $ N = (\ mu, \ sigma^2) $. Wie erzeugt man diese Daten mit Python? Der Wert von $ \ mu $ und $ $ \ sigma wirdWie man Daten von Normalverteilung erzeugt

+0

von Daten verwenden, meinen Sie * Proben erzeugen * von der Normalverteilung? –

+0

Ja generieren Daten aus der Normalverteilung –

Antwort

2

Verwendung gegeben numpy.random.normal

Wenn Sie 1000 Proben aus der Standardnormalverteilung erzeugen möchten, können Sie einfach tun können

import numpy 
mu, sigma = 0, 1 
samples = numpy.random.normal(mu, sigma, 1000) 

Sie lesen die Dokumentation here für weitere Details.

+0

Vielen Dank @Banach Tarski. Ich werde es versuchen. –

1

Sie können es berechnen manuell

import numpy as np 

mu = 0; 
sigma = 1; 

# Generates numbers between -0.5, 0.5 
x_vals = np.random.rand(10) - 0.5 

# Compute normal distribution from x vals 
y_vals = np.exp(-pow(mu - x_vals,2)/(2 * pow(sigma, 2)))/(sigma * np.sqrt(2*np.pi)) 

print y_vals 

Oder können Sie die gegebene Funktion

# You can also use the randn function 
y_vals2 = sigma * np.random.randn(10) + mu 

print y_vals2 
+0

Danke @jrhee lass mich es versuchen. –