Wie behebe ich den Fehler „TypeError: String-Indizes müssen Ganzzahlen sein' beim Zugriff auf Yahoo Finance-Daten mit Pandas Datareader?

Linda Hamilton
Freigeben: 2024-10-21 15:38:29
Original
757 Leute haben es durchsucht

How to Resolve the

TypeError beim Zugriff auf Yahoo Finance-Daten mit Pandas Datareader

Beim Abrufen von Bestandsdaten von Yahoo Finance mit Pandas Datareader können Benutzer auf einen „TypeError“ stoßen : String-Indizes müssen Ganzzahlen sein“ Fehler. Dieses Problem kann auftreten, wenn der Parameter „symbols“ eine Liste von Zeichenfolgen erwartet, stattdessen aber auf eine Zeichenfolge stößt.

Um diesen Fehler zu beheben, stellen Sie sicher, dass der Parameter „symbols“ eine Liste von Aktienkennungen ist. Hier ist ein Beispiel für einen funktionierenden Code:

<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>
Nach dem Login kopieren

Zusätzlich hat ein GitHub-Benutzer namens raphi6 eine Pull-Anfrage mit einer Lösung für dieses Problem bereitgestellt. Um diesen Fix zu installieren, befolgen Sie diese Schritte:

  1. Installieren Sie die folgenden Abhängigkeiten:

    conda install pycryptodome pycryptodomex
    Nach dem Login kopieren
  2. Deinstallieren Sie die aktuelle Version von Pandas Datareader:

    conda uninstall pandas-datareader
    Nach dem Login kopieren
  3. Installieren Sie die Pull-Request-Version von Pandas Datareader:

    pip install git+https://github.com/raphi6/pandas-datareader.git@ea66d6b981554f9d0262038aef2106dda7138316
    Nach dem Login kopieren

Alternativ hat ein Benutzer namens Nikhil Mulley eine Problemumgehung vorgeschlagen die Funktion pdr_override(). Diese Funktion kann wie folgt verwendet werden:

<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>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie behebe ich den Fehler „TypeError: String-Indizes müssen Ganzzahlen sein' beim Zugriff auf Yahoo Finance-Daten mit Pandas Datareader?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!