web-dev-qa-db-fra.com

erreur de projection ts.plot () et dataFrame.plot (): "NameError: le nom '_converter' n'est pas défini"

Lors de l'exécution de la méthode plot() d'une base de données ou d'une série de données, python génère une erreur. La dernière ligne de l'erreur est NameError: name '_converter' is not defined

J'utilise Python 3.6 et toutes les autres fonctionnalités fonctionnent comme prévu. Je ne sais donc pas ce qui pourrait en être la cause.

Vous trouverez ci-dessous un exemple de code à l'origine du problème et l'erreur ci-dessous se trouve ci-dessous.

import pandas as pd
import numpy as np
import matplotlib
import matplotlib.pyplot as plt

ts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2000', periods=1000))
ts = ts.cumsum()
ts.plot()

L'erreur renvoyée est indiquée ci-dessous:

NameError                                 Traceback (most recent call last)
<ipython-input-336-8fe4bd433d4d> in <module>()
----> 1 ts.plot()
      2 
      3 plt.plot(ts)

c:\users\fguih\appdata\local\programs\python\python36\lib\site-packages\pandas\plotting\_core.py in __call__(self, kind, ax, figsize, use_index, title, grid, legend, style, logx, logy, loglog, xticks, yticks, xlim, ylim, rot, fontsize, colormap, table, yerr, xerr, label, secondary_y, **kwds)
   2501                            colormap=colormap, table=table, yerr=yerr,
   2502                            xerr=xerr, label=label, secondary_y=secondary_y,
-> 2503                            **kwds)
   2504     __call__.__doc__ = plot_series.__doc__
   2505 

c:\users\fguih\appdata\local\programs\python\python36\lib\site-packages\pandas\plotting\_core.py in plot_series(data, kind, ax, figsize, use_index, title, grid, legend, style, logx, logy, loglog, xticks, yticks, xlim, ylim, rot, fontsize, colormap, table, yerr, xerr, label, secondary_y, **kwds)
   1925                  yerr=yerr, xerr=xerr,
   1926                  label=label, secondary_y=secondary_y,
-> 1927                  **kwds)
   1928 
   1929 

c:\users\fguih\appdata\local\programs\python\python36\lib\site-packages\pandas\plotting\_core.py in _plot(data, x, y, subplots, ax, kind, **kwds)
   1725                             pass
   1726                 data = series
-> 1727         plot_obj = klass(data, subplots=subplots, ax=ax, kind=kind, **kwds)
   1728 
   1729     plot_obj.generate()

c:\users\fguih\appdata\local\programs\python\python36\lib\site-packages\pandas\plotting\_core.py in __init__(self, data, **kwargs)
    929 
    930     def __init__(self, data, **kwargs):
--> 931         MPLPlot.__init__(self, data, **kwargs)
    932         if self.stacked:
    933             self.data = self.data.fillna(value=0)

c:\users\fguih\appdata\local\programs\python\python36\lib\site-packages\pandas\plotting\_core.py in __init__(self, data, kind, by, subplots, sharex, sharey, use_index, figsize, grid, legend, rot, ax, fig, title, xlim, ylim, xticks, yticks, sort_columns, fontsize, secondary_y, colormap, table, layout, **kwds)
     98                  table=False, layout=None, **kwds):
     99 
--> 100         _converter._WARN = False
    101         self.data = data
    102         self.by = by

NameError: name '_converter' is not defined
7
wilson_smyth

Cela peut fonctionner si vous accrochez votre série chronologique à une fréquence quotidienne avant de tracer, en utilisant pd.Series.asfreq:

ts.asfreq('D').plot(); 
plt.show()

 enter image description here

2
coldspeed

Basé sur le commentaire de nbkhope:

Redémarrez vous interprète python

Dans mon cas, arrêter et recommencer jupyter notebook

(J'ai mis trop de temps à déboguer ce problème, alors je le publie comme une réponse)

4
Benjamin Crouzier

A rencontré le problème lors de l’utilisation de pandas 0.22. *
Mis à jour pour les pandas 0.23.0.
Le problème semble résolu.

0
AChervony