2016-08-16 109 views
0

我有一個相當大的數據框在Python中,我試圖添加移動平均值的新列。我可以將整個表格的移動平均值加起來,問題是我需要根據列b中的值做多個移動平均值。例如:Python添加移動平均數據框

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

所以新列將有移動平均1,2,3,...

感謝您的幫助。

+0

我不太明白你的問題。您只需要一部分行的平均值,以及哪一部分基於列B.因此,例如,您希望列B中所有行的平均值爲1? – Ghostkeeper

+2

我也發現你的問題令人困惑。根據您的示例數據框發佈期望的輸出可能會有所幫助。 –

回答

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

備註: CSV文件包含'Indicie','Date','Open','High','Low','Close','Vol'的值。第四行代碼執行移動平均線的計算。 –

+2

儘管此代碼可能會回答問題,但提供有關如何解決問題和/或爲何解決問題的其他上下文會提高答案的長期價值。請閱讀[如何回答](http://stackoverflow.com/help/how-to-answer)。 – thewaywewere