Pandas Datareader を使用して Yahoo Finance データにアクセスするときに発生する「TypeError: string indices must be integers」エラーを解決する方法

Linda Hamilton
リリース: 2024-10-21 15:38:29
オリジナル
758 人が閲覧しました

How to Resolve the

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 ユーザーが、この問題の修正を含むプル リクエストを提供しました。この修正をインストールするには、次の手順に従います。

  1. 次の依存関係をインストールします。

    conda install pycryptodome pycryptodomex
    ログイン後にコピー
  2. Pandas Datareader の現在のバージョンをアンインストールします。

    conda uninstall pandas-datareader
    ログイン後にコピー
  3. 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 サイトの他の関連記事を参照してください。

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!