2016-08-16 11 views
0

Ich habe einen ziemlich großen Datenrahmen in Python und ich versuche, eine neue Spalte für gleitenden Durchschnitt hinzuzufügen. Ich kann den gleitenden Durchschnitt für die Tabelle als Ganzes hinzufügen, das Problem ist, dass ich mehrere gleitende Durchschnitte basierend auf den Werten in Spalte b machen muss. Zum Beispiel:Python fügen gleitenden Durchschnitt zu Datenrahmen hinzu

Column B   Column C 
1     4 
2     5 
3     6 
1     7 
2     8 
3     9 

so die neue Spalte würde die gleitenden Mittelwert für 1,2,3, hat ....

Danke für die Hilfe.

+0

Ich verstehe Ihre Frage nicht ganz. Sie möchten einen Durchschnitt für nur einen Teil der Zeilen und einen Teil für Spalte B. So möchten Sie beispielsweise den Durchschnitt für alle Zeilen, die in Spalte B eine 1 sind? – Ghostkeeper

+2

Ich finde auch Ihre Frage verwirrend. Es kann hilfreich sein, die gewünschte Ausgabe für Ihren Beispieldatenrahmen zu veröffentlichen. –

Antwort

0
MA_WINDOW = 2 
data = ('C:\\Users\\Benjamin\\Desktop\\XSO.csv') 
df = pd.read_csv(data, names=['Indicie', 'Date', 'Open', 'High', 'Low','Close', 'Vol', 'MA']) 
df['MA'] = df.Close.rolling(window=MA_WINDOW).mean() 
print(df) 
+0

Hinweise: Die CSV-Datei enthält Werte für 'Indicie', 'Datum', 'Offen', 'Hoch', 'Niedrig', 'Schließen', 'Vol'. Die vierte Codezeile führt die Berechnung des gleitenden Durchschnitts durch. –

+2

Während dieser Code die Frage beantworten kann, würde das Bereitstellen eines zusätzlichen Kontextes hinsichtlich dessen, wie und/oder warum er das Problem löst, den langfristigen Wert der Antwort verbessern. Bitte lesen Sie [how-to-answer] (http://stackoverflow.com/help/how-to-answer). – thewaywewere

Verwandte Themen