pandas - 使用熊猫的指数移动平均线
问题描述
我有这个数据框
2000 2001 2002 2003 2005 2006
Country Location
US Hawai 20 40 120 260 60 100
IT Torino 40 450 140 540 54 200
FR Paris 60 660 660 640 64 300
ISR JER 80 880 380 830 830 400
我想计算每个国家的指数移动平均线(EMA7)(不应该包括从 2000 年到 2005 年 - 2006 年)
我天真地尝试了这种方法。它是否正确?
ema7=df1.ewm(span=7,adjust=False).mean()
这给了
2000 2001 2002 2003 2005 2006
Country Location
US Hawai 20.0000 40.00000 120.0000 260.000 60.00000 100.0000
IT Torino 25.0000 142.50000 125.0000 330.000 58.50000 125.0000
FR Paris 33.7500 271.87500 258.7500 407.500 59.87500 168.7500
ISR JER 45.3125 423.90625 289.0625 513.125 252.40625 226.5625
应该排除 2006 年这一事实的一部分,我无法判断我得到的值是否正确。请问有什么帮助吗?
解决方案
采用:
ema7=df1.drop(2006, axis=1).ewm(span=7,adjust=False).mean()
print (ema7)
2000 2001 2002 2003 2005
Country Location
US Hawai 20.0000 40.00000 120.0000 260.000 60.00000
IT Torino 25.0000 142.50000 125.0000 330.000 58.50000
FR Paris 33.7500 271.87500 258.7500 407.500 59.87500
ISR JER 45.3125 423.90625 289.0625 513.125 252.40625
ema7=(df1.set_index(2006, append=True)
.ewm(span=7,adjust=False)
.mean()
.reset_index(level=2)
.sort_index(axis=1))
print (ema7)
2000 2001 2002 2003 2005 2006
Country Location
US Hawai 20.0000 40.00000 120.0000 260.000 60.00000 100
IT Torino 25.0000 142.50000 125.0000 330.000 58.50000 200
FR Paris 33.7500 271.87500 258.7500 407.500 59.87500 300
ISR JER 45.3125 423.90625 289.0625 513.125 252.40625 400
推荐阅读
- javascript - 无法解析“node_modules/dotenv/lib”中的“fs”
- reactjs - 无限查询支持如何响应偏移量和限制
- html - 重新调整浏览器宽度时如何自动重新计算边距
- python-sphinx - 有没有办法覆盖 autoclass 指令 reST 显示的文本?
- python - 冷却命令和某天运行命令
- python - 为什么从 data = response.read() 读取“行”会给出一个整数?
- php - 以json形式发送数据并在datatable中显示
- python - 为什么我的 json 文件总是变成一串随机单词?(Python)
- powershell - PowerShell 7.1,如何从函数名称列表中获取别名
- c - 包含堆数据或静态变量的数据段