Ich habe zwei Funktionen, die ich kombinieren möchte: Die erste Funktion f (rdata, t) liest die Daten für die Zeit horizont t ein und ordnet sie für die weitere ModellierungPython Lambda: Funktion einer anderen Funktion zuweisen
andef f(rdata,t):
dataset = pd.read_csv(rdata, sep = ",", skiprows = 3)
data = dataset.loc[:,dataset.dtypes == np.float64]
data = pd.concat([dataset.OS_TERM, data], axis = 1).set_index(dataset.SIMULATION)
rdata = data.loc[data["OS_TERM"] == t ].drop("OS_TERM", axis = 1).T.add_prefix("Sim_")
return(rdata)
die zweite Funktion Quantil (Daten, q, n, aufsteigend) berechnet eine hypothetische Quantil Q und vergleicht sie mit dem Ergebnis der ersten Funktion, die n extremsten Beobachtungen zeigen
def quantile(data, q , n , ascending):
name = str(q)
quant = pd.DataFrame({name:data.quantile(q, axis = 1)})
quant_dif = pd.DataFrame(data.values - quant.values, columns = data.columns)**2
cum_dif = pd.DataFrame(quant_dif.sum(axis = 0), columns = ["cum_dif"])
out = pd.DataFrame(cum_dif.sort(["cum_dif"], ascending = ascending).ix[0:n,:])
index = out.index.values
sims = pd.DataFrame(data.loc[:, index])
return(sims)
So kombinieren Mit den beiden konnte ich die folgende Funktion aufbauen
Ionquantile(f(rdata), t), q, n, ascending)
Trotzdem würde Ich mag eine Funktion erstellen, die für einen Zeithorizont t in den Daten liest und wendet dann das Quantil in einem zweiten Schritt
f(data, t, quantile(data, q, n, ascending))
Irgendwelche Vorschläge, wie dies zu setzen up, vielleicht mit einer Lambda-Funktion?
Was ist los mit 'Quantil (f (rdata), t), q, n, aufsteigend)' eigentlich? Es macht genau das, wonach Sie fragen: "liest die Daten für einen Zeithorizont t ein und wendet das Quantil dann in einem zweiten Schritt an". –
Ich möchte in einem ersten Schritt die Daten einlesen und dann die Möglichkeit haben, den Daten irgendeine andere Funktion zuzuweisen, z.B. für den Mittelwert f (Daten, t, Mittelwert (Daten)) – Carmen
Wenn Sie es wirklich brauchen, dann 'f (Daten, t, Lambda x: Quantil (x, q, n, aufsteigend))' und 'def f (rdata, t, fun): ... fun (rdata) ' – furas