Python 无法向数据帧添加值

Python 无法向数据帧添加值,python,pandas,dataframe,yfinance,Python,Pandas,Dataframe,Yfinance,我试图找到一些股票的MACD(移动平均收敛散度)。我正在使用Pandas_ta、yfinance和Pandas库。但是,当我试图将Macd值添加到数据帧时,我得到了以下错误: IndexError: iloc cannot enlarge its target object 我的代码是: import pandas as pd import pandas_ta as ta import yfinance as yf import datetime as dt import matplotli

我试图找到一些股票的MACD(移动平均收敛散度)。我正在使用Pandas_ta、yfinance和Pandas库。但是,当我试图将Macd值添加到数据帧时,我得到了以下错误:

IndexError: iloc cannot enlarge its target object
我的代码是:

import pandas as pd 
import pandas_ta as ta
import yfinance as yf
import datetime as dt
import matplotlib.pyplot as plt
start=dt.datetime.today()-dt.timedelta(365)
end=dt.datetime.today()
zscore=pd.DataFrame()
rsi=pd.DataFrame()
tickers=['2060.SR' , '2160.SR', '3002.SR', '4007.SR', '3005.SR', '3004.SR' , '2150.SR']
macd=pd.DataFrame()
for i in tickers:
  df=pd.DataFrame(yf.download(i, start=start, end=end, interval="1mo"))

  df.columns = map(str.lower, df.columns)    
  macd=df.ta.macd()
  

有人能告诉我我的错误在哪里以及如何解决这个错误吗。谢谢

我不确定是哪一行给了你这个错误

但请注意,在循环中,您没有添加数据,而是一次又一次地写入数据:

for i in tickers:
  df=pd.DataFrame(yf.download(i, start=start, end=end, interval="1mo"))
如果要追加,请执行以下操作:

agg_df = pd.DataFrame()
for i in tickers:
  df=pd.DataFrame(yf.download(i, start=start, end=end, interval="1mo"))
  agg_df = agg_df.append(df)

df=df.merge(macd,on=“Date”)

哪一行出现此错误?macd=df.ta.macd()我尝试了此操作,但得到了相同的错误。错误在macd=df.ta.macd()行。我不熟悉macd()函数。但也可以尝试:macd=df['ta'].macd()