Was ich versuche, ist ein mehrere bedingte Durchschnitt. Es bedeutet, dass ich eine Liste von x Variablen (von gleicher Länge) habe und ich möchte den Durchschnitt einer Variablen berechnen, die auf den Wert/Bereich der anderen konditioniert ist.Mehrere bedingte durchschnittliche Python
Der Code habe ich versucht, ist:
wb=pd.ExcelFile('file.xlsx')
wb.sheet_names
df=wb.parse('Sheet1')
df[:]
Var1=df['Col1_Name']
Var2=df['Col2_Name']
Var3=df['Col3_Name']
Var4=df['Col4_Name']
Var5=df['Col5_Name']
Var6=df['Col6_Name']
if (Var1 == 0).any() and (Var2 == 0).any() and (Var3 < 0.8).any() and (Var6 == 0).any():
print sum(Var4)/len(Var4)
Es scheint in Ordnung zu sein, aber, wenn ich die Bedingungen ändern, das Ergebnis ist immer das gleiche. Außerdem habe ich versucht das selbe auf Excel zu berechnen als Doppelcheck und das Ergebnis ist in der Tat anders. Kannst du mir helfen? Danke :)
Es hat wahrscheinlich nichts gedruckt, weil die Bedingung nicht erfüllt wurde. Überprüfen Sie den Zustand. –
Ein Beispiel Ihrer Eingabedatei könnte – Frodon
helfen, das ist nicht die Art, wie '.all()' basierend auf der Dokumentation verwendet wird. Lesen Sie mehr ... Schauen Sie sich das an: http://stackoverflow.com/questions/27791651/pandas-boolean-any-all –