移动平均线 pandas
问题描述
我想在我的交易时间序列中添加移动平均计算.
I would like to add a moving average calculation to my exchange time series.
来自 Quandl
Exchange = Quandl.get("BUNDESBANK/BBEX3_D_SEK_USD_CA_AC_000",
authtoken="xxxxxxx")
# Value
# Date
# 1989-01-02 6.10500
# 1989-01-03 6.07500
# 1989-01-04 6.10750
# 1989-01-05 6.15250
# 1989-01-09 6.25500
# 1989-01-10 6.24250
# 1989-01-11 6.26250
# 1989-01-12 6.23250
# 1989-01-13 6.27750
# 1989-01-16 6.31250
# Calculating Moving Avarage
MovingAverage = pd.rolling_mean(Exchange,5)
# Value
# Date
# 1989-01-02 NaN
# 1989-01-03 NaN
# 1989-01-04 NaN
# 1989-01-05 NaN
# 1989-01-09 6.13900
# 1989-01-10 6.16650
# 1989-01-11 6.20400
# 1989-01-12 6.22900
# 1989-01-13 6.25400
# 1989-01-16 6.26550
我想使用相同的索引 (Date
) 在 Value
之后将计算出的移动平均线作为一个新列添加到右侧.最好我还想将计算出的移动平均线重命名为 MA
.
I would like to add the calculated Moving Average as a new column to the right after Value
using the same index (Date
). Preferably I would also like to rename the calculated moving average to MA
.
解决方案
滚动平均值返回一个 Series
您只需将其添加为 DataFrame
的新列(MA
) 如下所述.
The rolling mean returns a Series
you only have to add it as a new column of your DataFrame
(MA
) as described below.
有关信息,rolling_mean
函数已在 pandas 较新版本中被弃用.我在示例中使用了新方法,请参阅下面来自 pandas 文档.
For information, the rolling_mean
function has been deprecated in pandas newer versions. I have used the new method in my example, see below a quote from the pandas documentation.
警告 0.18.0 之前的版本、pd.rolling_*
、pd.expanding_*
和 pd.ewm*
是模块级函数,现在已弃用.这些通过使用 Rolling
、Expanding
和 EWM.
对象以及相应的方法调用来替换.
Warning Prior to version 0.18.0,
pd.rolling_*
,pd.expanding_*
, andpd.ewm*
were module level functions and are now deprecated. These are replaced by using theRolling
,Expanding
andEWM.
objects and a corresponding method call.
df['MA'] = df.rolling(window=5).mean()
print(df)
# Value MA
# Date
# 1989-01-02 6.11 NaN
# 1989-01-03 6.08 NaN
# 1989-01-04 6.11 NaN
# 1989-01-05 6.15 NaN
# 1989-01-09 6.25 6.14
# 1989-01-10 6.24 6.17
# 1989-01-11 6.26 6.20
# 1989-01-12 6.23 6.23
# 1989-01-13 6.28 6.25
# 1989-01-16 6.31 6.27
相关文章