Weibullvariate und Fehlermeldung

Du hast eine Idee für ein Projekt?
Antworten
tini
User
Beiträge: 1
Registriert: Dienstag 16. Juni 2009, 15:17

hallo forum,

ich versuche seit einiger zeit eine weibullverteilung mit python zu basteln, doch irgendwie funktioniert dies nicht.

ich habe folgende parameter in meinem skript stehen:

Code: Alles auswählen

from random import gauss, weibullvariate
from pylab import figure, subplot, plot, show, text, bar, hist, axis

BA = 'infile'

data_b = read_array(BA,separator='	')

data_class_b = hist(data_b[:,1],bins=74, range=(-25.0,12.0))

b_b = 0.27		#Scale
a_b = 1.18		#Shape

weib_b = weibullvariate(data_class_b[0][0:],b_b,a_b)
beim ausführen des skriptes bekomme ich dann folgenden fehler:
TypeError: weibullvariate() takes exactly 3 arguments (4 given)
WARNING: Failure executing file: <classify_back_icebergs.py>
was habe ich falsch gemacht? es sind doch die angaben, die weibullvariate braucht.

self = data_class_b[0][0:]
scale = b_b
shape = a_b

kann mir jemand helfen oder eine alternative nennen?
dankeschöööööööön....
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Das ``self`` wird beim Aufruf implizit übergeben und ``weibullvariate`` ist laut Doku eine Methode von ``random.Random``.
Ich versteh auch nicht, was du mit ``data_class_b[0][0:]`` erreichen willst. Ist das eine zweidimensionale Liste? Wenn nicht und du eine komplette Kopie übergeben wolltest, dann brauchst du ``data_class_b[:]``, aber da das eine Methode ist: siehe Satz 1.
Antworten