TypeError lors de l'accès aux données Yahoo Finance avec Pandas Datareader
Lors de la récupération des données boursières de Yahoo Finance à l'aide de Pandas Datareader, les utilisateurs peuvent rencontrer une "TypeError : les indices de chaîne doivent être des entiers". Ce problème peut survenir lorsque le paramètre « symboles » attend une liste de chaînes mais rencontre à la place une chaîne.
Pour résoudre cette erreur, assurez-vous que le paramètre « symboles » est une liste d'identifiants de stock. Voici un exemple de code fonctionnel :
<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>
De plus, un utilisateur de GitHub nommé raphi6 a fourni une pull request avec un correctif pour ce problème. Pour installer ce correctif, suivez ces étapes :
Installez les dépendances suivantes :
conda install pycryptodome pycryptodomex
Désinstallez la version actuelle de Pandas Datareader :
conda uninstall pandas-datareader
Installez la version pull request de Pandas Datareader :
pip install git+https://github.com/raphi6/pandas-datareader.git@ea66d6b981554f9d0262038aef2106dda7138316
Alternativement, un utilisateur nommé Nikhil Mulley a suggéré une solution de contournement impliquant la fonction pdr_override(). Cette fonction peut être utilisée comme suit :
<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>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!