Python 试图使用stockstats计算rsi,得到错误“;TypeError:列表索引必须是整数或片,而不是str";
我在试着计算一组测试数据的rsi。 我就是这么做的Python 试图使用stockstats计算rsi,得到错误“;TypeError:列表索引必须是整数或片,而不是str";,python,Python,我在试着计算一组测试数据的rsi。 我就是这么做的 创建测试数据的数据框 df=pd.DataFrame(数据,列=['Date'、'Open'、'High'、'Low'、'Close'、'Volume'、'adj Close']) 使数据帧成为webstate帧 stock\u df=Sdf.重新键入(df) 校准rsdata['rsi']=stock_df['rsi_14'] 完整的错误消息和代码 “C:\Users\tpottel\programming\java\eclipse proj
df=pd.DataFrame(数据,列=['Date'、'Open'、'High'、'Low'、'Close'、'Volume'、'adj Close'])
stock\u df=Sdf.重新键入(df)
rsdata['rsi']=stock_df['rsi_14']
df['rsi']=股票df['rsi_14']
数据是一个列表。你认为数据['rsi']
应该做什么?在你的整个代码中甚至没有'rsi_14'
这样的东西。此外,数据是一个列表,而不是一个数据框架。我把它改成了stock_df=Sdf。在样本代码中,他们使用代表相对强度指数的rsi_14,重新键入(df)df['rsi']=stock_df['rsi_14']
import pandas as pd
import stockstats as st
from stockstats import StockDataFrame as Sdf
#from pandas.io import data, wb # becomes
#from pandas_datareader import data, wb
data=[[567, 700, 650, 710, 760, 1, 670]]
data.append([567, 700, 650, 710, 760, 1, 670])
data.append([567, 700, 650, 710, 760, 1, 670])
data.append([567, 700, 650, 710, 760, 1, 670])
data.append([567, 700, 650, 710, 760, 1, 670])
data.append([567, 700, 650, 710, 760, 1, 670])
data.append([567, 700, 650, 710, 760, 1, 670])
data.append([567, 700, 650, 710, 760, 1, 670])
data.append([567, 700, 650, 710, 760, 1, 670])
data.append([567, 700, 650, 710, 760, 1, 670])
data.append([567, 700, 650, 710, 760, 1, 670])
data.append([567, 700, 650, 710, 760, 1, 670])
data.append([567, 700, 650, 710, 760, 1, 670])
data.append([567, 700, 650, 710, 760, 1, 670])
data.append([567, 700, 650, 710, 760, 1, 670])
data.append([567, 700, 650, 710, 760, 1, 670])
data.append([567, 700, 650, 710, 760, 1, 670])
data.append([567, 700, 650, 710, 760, 1, 670])
df = pd.DataFrame(data,columns=['Date', 'Open', 'High', 'Low', 'Close', 'Volume', 'adj close'])