Python 为每个股票数据帧使用for循环创建累积返回列时出错

Python 为每个股票数据帧使用for循环创建累积返回列时出错,python,pandas,Python,Pandas,我得到了五只股票的历史价格,并希望为每只股票创建一列累积回报,我尝试使用for循环。但它返回了“TypeError:“Ticker”对象不可订阅”的错误 有人能帮我解决这个问题吗。感谢在数组中,您正在迭代alibaba,它的类型是yf.Ticker,您应该用baba替换它,因为baba是数据帧 notsubscriptable表示您正在尝试对无法切片的元素进行切片,例如stock_df['cum-return],yf。Ticker不支持切片 msft = yf.Ticker("MSFT") ap

我得到了五只股票的历史价格,并希望为每只股票创建一列累积回报,我尝试使用for循环。但它返回了“TypeError:“Ticker”对象不可订阅”的错误


有人能帮我解决这个问题吗。感谢在数组中,您正在迭代
alibaba
,它的类型是
yf.Ticker
,您应该用
baba
替换它,因为
baba
数据帧

notsubscriptable
表示您正在尝试对无法切片的元素进行切片,例如
stock_df['cum-return]
yf。Ticker
不支持切片

msft = yf.Ticker("MSFT")
apple=yf.Ticker("AAPL")
amzn=yf.Ticker("AMZN")
alibaba=yf.Ticker("BABA")
Tencents=yf.Ticker("TCEHY")

baba=alibaba.history(period="ytd")
msft=msft.history(period="ytd")
apple=apple.history(period="ytd")
Tencents=Tencents.history(period="ytd")
amzn=amzn.history(period="ytd")

for stock_df in (msft,apple,amzn,alibaba,Tencents):
    stock_df["cum-return"]=stock_df["Close"]/stock_df["Close"].iloc[0]