【问题标题】:Python add moving average to data framePython将移动平均线添加到数据框
【发布时间】:2016-08-16 00:03:44
【问题描述】:

我在 python 中有一个相当大的数据框,我正在尝试为移动平均添加一个新列。我可以为整个表格添加移动平均线,问题是我需要根据 b 列中的值做多个移动平均线。例如:

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

所以新列将包含 1、2、3、.... 的移动平均线

感谢您的帮助。

【问题讨论】:

  • 我不太明白你的问题。您只想要部分行的平均值,而哪一部分基于 B 列。例如,您想要 B 列中为 1 的所有行的平均值?
  • 我也觉得你的问题令人困惑。根据您的示例数据框发布所需的输出可能会有所帮助。

标签: python dataframe moving-average


【解决方案1】:
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)

【讨论】:

  • 注意:CSV 文件包含“Indicie”、“Date”、“Open”、“High”、“Low”、“Close”、“Vol”的值。第四行代码执行移动平均线的计算。
  • 虽然此代码可能会回答问题,但提供有关它如何和/或为什么解决问题的额外上下文将提高​​答案的长期价值。请阅读此how-to-answer
猜你喜欢
  • 1970-01-01
  • 2013-09-02
  • 2021-09-25
  • 2017-09-01
  • 1970-01-01
  • 2013-12-22
  • 2019-07-13
  • 2018-04-21
  • 2022-01-26
相关资源
最近更新 更多