【发布时间】:2017-08-29 11:37:49
【问题描述】:
我正在尝试使用 xlwings 复制一个简单的技术分析指标。但是,列表/数据似乎无法读取 Excel 值。下面是代码
import pandas as pd
import datetime as dt
import numpy as np
@xw.func
def EMA(df, n):
EMA = pd.Series(pd.ewma(df['Close'], span = n, min_periods = n - 1), name = 'EMA_' + str(n))
df = df.join(EMA)
return df
当我输入 excel 数据列表时:EMA = ({1,2,3,4,5}, 5},我收到以下错误消息 类型错误:列表索引必须是整数,而不是 str EMA = pd.Series(pd.ewma(df['Close'], span = n, min_periods = n - 1), name = 'EMA_' + str(n))
(专家)非常感谢您的帮助!谢谢。
【问题讨论】:
-
EMA = ({1,2,3,4,5}, 5} 不是有效的 Python 语法,请修复它。我假设您正在调用 EMA([1, 2, 3, 4 , 5], 5) 或类似的东西。
标签: python excel pandas xlwings technical-indicator