Pandas Datareader を使用して Yahoo Finance データにアクセスするときの TypeError
Pandas Datareader を使用して Yahoo Finance から株式データを取得すると、ユーザーは「TypeError」が発生する場合があります: 文字列インデックスは整数である必要があります」というエラーが発生します。この問題は、「symbols」パラメータが文字列のリストを予期していたが、代わりに文字列を検出した場合に発生する可能性があります。
このエラーを解決するには、「symbols」パラメータが株式識別子のリストであることを確認してください。動作するコードの例を次に示します。
<code class="python">import pandas_datareader end = "2022-12-15" start = "2022-12-15" stock_list = ["TATAELXSI.NS"] data = pandas_datareader.get_data_yahoo(symbols=stock_list, start=start, end=end) print(data)</code>
さらに、raphi6 という名前の GitHub ユーザーが、この問題の修正を含むプル リクエストを提供しました。この修正をインストールするには、次の手順に従います。
次の依存関係をインストールします。
conda install pycryptodome pycryptodomex
Pandas Datareader の現在のバージョンをアンインストールします。
conda uninstall pandas-datareader
Pandas Datareader のプル リクエスト バージョンをインストールします:
pip install git+https://github.com/raphi6/pandas-datareader.git@ea66d6b981554f9d0262038aef2106dda7138316
あるいは、Nikhil Mulley という名前のユーザーが次のような回避策を提案しています。 pdr_override() 関数。この関数は次のように使用できます:
<code class="python">import pandas_datareader as pdr import pandas as pd end = "2022-12-15" start = "2022-12-15" stock_list = ["TATAELXSI.NS"] stock_symbol = stock_list[0] stock_obj = pdr.DataReader(stock_symbol, 'yahoo', start, end) stock_data = pd.DataFrame({stock_symbol: stock_obj['Close']}) </code>
以上がPandas Datareader を使用して Yahoo Finance データにアクセスするときに発生する「TypeError: string indices must be integers」エラーを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。