ddionrails / testsuite

DDI on Rails - testsuite
0 stars 0 forks source link

Find pandas function for density distribution #5

Closed mhebing closed 7 years ago

mhebing commented 8 years ago

@mpahl Hab jetzt endlich einen Weg gefunden, um die Density Funktion in Python zu berechnen :smiley:

from scipy.stats import gaussian_kde
import numpy as np
import pandas as pd

NUM_ELEMENTS = 30
example = np.array([1, 1, 1, 2, 5, 10])

# Die nächsten zwei Zeilen sind die entscheidenden:

density_range = np.linspace(example.min(), example.max(), NUM_ELEMENTS)
density = gaussian_kde(example).evaluate(density_range)

pd.DataFrame(dict(
    x = density_range,
    y = density,
))
mpahl commented 8 years ago

see https://github.com/ddionrails/ddi.py/commit/468d747a06ce117f5a82b663eface8836984c1bb

mpahl commented 8 years ago

Mich wundert nur, dass die Summe der Werte nicht 1 ergibt. Sollte das nicht der Fall sein?

mhebing commented 8 years ago

Das ist bei der Density etwas anders: Wenn Du die Ergebnisse als Graph zeichnest, dann soll die Fläche (!) unter dem Graph 1 ergeben. Dass heißt aber, dass die Summe der einzelnen Werte nicht 1 ergeben muss.