サブリスト内の特定のティッカーについてのみ、パッケージyfinanceを使用してフォーマットごとにグループでダウンロードされたデータをパンダデータフレームに取得できません

I_m_LeMarque

私は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
})

しかし、私はここで正しくないことを知っています。解決策はありますか?

this.teuf

ここで答えたように:パンダデータフレームはマルチインデックスの列を選択します

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

@EDIT:役に立たない列レベルを削除します

mydf.columns = mydf.columns.droplevel(1)

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ