2
votes

Obtention d'un «avertissement futur» lors de l'importation pour Yahoo avec Pandas-Datareader

Je suis actuellement en train d'importer avec succès des informations boursières depuis Yahoo en utilisant pandas-datareader. Cependant, avant les données extraites, je reçois toujours le message suivant:

FutureWarning: pandas.util.testing est obsolète. Utilisez plutôt les fonctions de l'API publique sur pandas.testing.

Quelqu'un aurait-il une idée de ce que cela signifie et comment y remédier?


1 commentaires

Je pense que vous ne pouvez rien faire, cela dépend de la bibliothèque pandas-datareader. Jusqu'à ce que les créateurs de cette bibliothèque mettent finalement à jour son code avec l'API Pandas à jour.


6 Réponses :


-1
votes

Vous pouvez trouver le code 'util.testing' dans pandas_datareader, qui est distinct des pandas.


0 commentaires

-2
votes

Essayez la ligne ci-dessous pour importer, cela fonctionnera.

import pandas_datareader.data as web

Pour plus d'informations, trouvez le lien ci-dessous.

https://www.reddit.com/r/learnpython/comments/fel32c/getting_warning_error_on_a_simple_web/" rel = "nofollow noreferrer"> https://www.reddit.com/r/learnpython/comments/fel32c/getting_ple_a_future_web_p>


1 commentaires

Cela ne pose que le problème, et pourquoi le ferait-il. Ce n'est pas différent de ce que l'OP a écrit



-2
votes

Pour mac OS, ouvrez /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pandas_datareader/compat/__init__.py

modification: de pandas.util.testing import assert_frame_equal

à: depuis pandas.testing import assert_frame_equal


3 commentaires

La modification du code de la bibliothèque comme celle-ci n'est-elle pas une mauvaise idée?


@AMC: Cela dépend. Dans ce cas, l'avertissement provient d'un message indiquant que le module pandas util.testing est obsolète, et de favoriser à la place pandas.testing . Jusqu'à ce que pandas_datareader change son importation vers le module approprié, vous pouvez contourner cet avertissement simplement en éditant manuellement le package vous-même pour vous conformer à la nouvelle façon d'importer la fonction de test assert_frame_equal .


@CarlS Mon commentaire faisait référence à l'idée en général, pas aux spécificités de cette situation particulière.



-1
votes

Si vous utilisez ce à partir de données d'importation pandas_datareader , il est obsolète.

Remplacez-le par:

import pandas_datareader as pdr

ou p >

from pandas_datareader import data, wb

Parce que de nombreuses fonctions du module de données ont été incluses dans l'API de niveau supérieur.


1 commentaires

N'est-ce pas la même solution que cette réponse ?



-1
votes

dans votre environnement virtuel, changez simplement l'instruction d'importation dans

from pandas.testing import assert_frame_equal

(ou le répertoire site-packages pour python si vous n'utilisez pas d'environnement virtuel)

de

from pandas.util.testing import assert_frame_equal

à

/env/lib/site-packages/pandas_datareader/compat/__init__.py


1 commentaires

N'est-ce pas la même solution que cette réponse ?



0
votes

Cause: La cause de cet avertissement est que, en gros, pandas_datareader importe un module de la bibliothèque pandas qui sera obsolète . Plus précisément, il importe pandas.util.testing alors que le nouveau module préféré sera pandas.testing .

Solution: Tout d'abord, il s'agit d'un avertissement, et non d'une erreur pure et simple, donc cela n'interrompra pas nécessairement votre programme. Donc, en fonction de votre cas d'utilisation exact, vous pourrez peut-être l'ignorer pour le moment.

Cela étant dit, vous pouvez envisager quelques options:

  • Option 1: Changez vous-même le code - Allez dans le module pandas_datareader et modifiez la ligne de code dans compat_init.py actuellement dit de pandas.util.testing import assert_frame_equal simplement à de pandas.testing import assert_frame_equal . Cela importera la même fonction du bon module.
  • Option 2: Attendez la mise à jour de pandas-datareader - Vous pouvez également attendre que la bibliothèque soit mise à niveau pour importer correctement, puis exécuter pip3 install --upgrade pandas-datareader . Vous pouvez accéder au dépôt Github pour pandas-datareader et signaler un problème.
  • Option 3: ignorez-le - Ignorez simplement l'avertissement pour le moment car il ne rompt pas votre programme.

0 commentaires