1

我正在使用 python 包 yfinance 下载数据,下面是我为此使用的代码:

# pip install yfinance

import yfinance as yf

# list of tickers for which data is to be downloaded
myLst = ['TSLA', 'MSFT', 'FB', 'IBM', 'AAPL', 'WFC', 'BAC', 'INTC', 'PRLAX', 'QASGX', 'HISFX']

# from which date?
start_date = '2018-01-01'

# to which date?
end_date = '2019-12-31'

# download the data
mydf = yf.download(myLst, start = start_date, end = end_date, group_by = "ticker")

这将返回数据框中的数据,如下所示:

在此处输入图像描述

但我无法将这些数据放入这样的数据框中:

在此处输入图像描述

虽然我尝试过这样的事情:

assets = ['IBM', 'MSFT', 'FB']

assetsDF = pd.DataFrame({
    a: {x['Close'] for x in mydf[a]['Close']} for a in assets
})

但我知道我在这里不正确。有什么解决办法吗?

4

1 回答 1

1

在这里回答:pandas dataframe select columns in multiindex

mydf.iloc[:, mydf.columns.get_level_values(1)=='Close']

@EDIT:删除无用的列级别

mydf.columns = mydf.columns.droplevel(1)
于 2020-04-12T10:13:56.357 回答