无法将值添加到 pandas DataFrame
Unable to add values to a pandas DataFrame
我正在尝试使用 Pandas_ta、yfinance 和 pandas 库找到一些 stocks.I 的 MACD(移动平均收敛发散)。但是当我尝试将 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()
谁能告诉我我的错误在哪里以及如何解决这个错误。谢谢
我不确定是哪一行给了你这个错误。
但请注意,在循环中你不是在添加数据,而是你在re-writing一次又一次的数据:
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="日期")
我正在尝试使用 Pandas_ta、yfinance 和 pandas 库找到一些 stocks.I 的 MACD(移动平均收敛发散)。但是当我尝试将 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()
谁能告诉我我的错误在哪里以及如何解决这个错误。谢谢
我不确定是哪一行给了你这个错误。
但请注意,在循环中你不是在添加数据,而是你在re-writing一次又一次的数据:
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="日期")