通过数据管理器读取多维数组时出错

问题描述 投票:0回答:1
import yfinance as yf
import pandas as pd

# Download historical data for required stocks
ohlcv_data = {}

# Define tickers list
tickers = ['AAPL', 'MSFT', 'GOOG']  # Example tickers

# Looping over tickers and storing OHLCV dataframe in dictionary
for ticker in tickers:
    temp = yf.download(ticker, period='1mo', interval='15m')
    temp.dropna(how="any", inplace=True)
    ohlcv_data[ticker] = temp 

我正在尝试通过 data wrangler 访问/读取 ohlcv_data 中的数据,但它会抛出以下错误消息。

无法加载数据框:ValueError:必须通过二维输入。形状=(3, 1, 572, 6)

我相信这是由于温度在这种情况下是多维的。

此问题的替代方案或解决方案是什么。

python yfinance
1个回答
0
投票

数据管理员期待 2 维输入,但它收到的是 3 维输入。这是因为

ohlcv_data
是一个字典,其中每个值都是一个 DataFrame。

将所有单独的 DataFrame 连接成一个大的 DataFrame。您可以向每个 DataFrame 添加额外的列来指示它所属的股票:

all_data = pd.DataFrame()
for ticker in tickers:
    temp = yf.download(ticker, period='1mo', interval='15m')
    temp.dropna(how="any:, inplace=True)
    temp['Ticker'] = ticker
    all_data = all_data.append(temp)
© www.soinside.com 2019 - 2024. All rights reserved.