Ich versuche, die Funktion unten auf einen Datenrahmen anzuwenden und nur die Zeilen, die qualifizieren, zurückgeben, aber einen KeyError erhalten. Was mache ich falsch?KeyError beim Ausführen von df durch Funktion
N = 100
np.random.seed(0)
df = pd.DataFrame(
{'X':np.random.uniform(-3,10,N),
'Y':np.random.uniform(-3,10,N),
'Z':np.random.uniform(-3,10,N),
})
def func_sec(df):
for i in range(len(df)):
for k in range(i+1, len(df)+1):
df_sum = df[i:k].sum()
m = (df_sum>2).all() & (df_sum.sum()>10)
return df[m]
func_sec(df)
Was soll 'm = (df_sum> 2) .all() & (df_sum.sum()> 10) tun? – doctorlove
Hier ist 'm' ein boolescher Wert, und Ihr' df' hat keine booleschen Werte als Schlüssel, sondern 'X',' Y' und 'Z'. – IanS
Ich möchte nur die Zeilen zurückgeben, die sich in einem Datenrahmen qualifizieren. Ich habe versucht, die for-Schleife in eine Funktion zu setzen, um mehrere df's gleichzeitig ausführen zu können. Kann es aber nicht zur Arbeit bringen – Zanshin