ホームページ >バックエンド開発 >Python チュートリアル >Pandas Datareader を使用して Yahoo Finance の株式データにアクセスするときに発生する「TypeError: string indices must be integers」エラーを回避するにはどうすればよいですか?

Pandas Datareader を使用して Yahoo Finance の株式データにアクセスするときに発生する「TypeError: string indices must be integers」エラーを回避するにはどうすればよいですか?

DDD
DDDオリジナル
2024-10-21 15:42:30854ブラウズ

How to Avoid the

TypeError: Pandas Datareader を使用して Yahoo Finance の株式データにアクセスするときの「文字列インデックスは整数である必要があります」

問題

Pandas Datareader を使用して株式を取得する場合Yahoo Finance からのデータを使用している場合、ユーザーが特定の株式のデータにアクセスすると、「TypeError: string indices must be integers」エラーが発生する場合があります。これは、シンボル パラメータの予期されるデータ型と get_data_yahoo メソッドに渡される実際の型との間に不一致がある場合に発生します。

原因

get_data_yahoo メソッドは、次のような文字列または文字列のリストを予期します。取得する株式のティッカー シンボルを表す、シンボル パラメーターの入力。ただし、整数や整数のリストなど、不適切なデータ型が指定された場合、文字列への変換でエラーが発生する可能性があります。

解決策

エラーを解決するには、次のことを確認してください。シンボルパラメータが正しく指定されています:

  1. 単一株の場合: 単一株のデータにアクセスする場合は、ティッカーシンボルを引用符で囲まれた文字列として指定します。
  2. 複数の株式の場合: 複数の株式のデータにアクセスする場合は、ティッカー シンボルを表す文字列のリストを提供します。各記号を括弧と引用符で囲んでリストが正しくフォーマットされていることを確認してください。

単一銘柄の例:

<code class="python">import pandas_datareader

start = "2022-12-15"
end = "2022-12-15"
symbol = "TATAELXSI.NS"

data = pandas_datareader.get_data_yahoo(symbols=symbol, start=start, end=end)

print(data)</code>

例複数の株式:

<code class="python">import pandas_datareader

start = "2022-12-15"
end = "2022-12-15"
symbols = ["TATAELXSI.NS", "TCS.NS", "RELIANCE.NS"]

data = pandas_datareader.get_data_yahoo(symbols=symbols, start=start, end=end)

print(data)</code>

これらの手順に従うことで、ユーザーは Pandas Datareader を使用して Yahoo Finance から株式データに正常にアクセスでき、「TypeError: string indices should be integers」エラーを回避できます。

以上がPandas Datareader を使用して Yahoo Finance の株式データにアクセスするときに発生する「TypeError: string indices must be integers」エラーを回避するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。