Alcuni metodi Matplotlib richiedono giorni in 'float days format'. datestr2num è una funzione convertitore per questo, ma cade sopra con gli oggetti panda rilevanti:Conversione dei panda DatetimeIndex in "formato giorno mobile" con Matplotlib.dates.datestr2num
In [3]: type(df.index)
Out[3]: pandas.tseries.index.DatetimeIndex
In [4]: type(df.index[0])
Out[4]: pandas.tslib.Timestamp
In [5]: mpl.dates.date2num(df.index)
Out [5]: ...
AttributeError: 'numpy.datetime64' object has no attribute 'toordinal'
Questo fornisce un elenco utile di volte in 'formato giorni float':
dates = [mpl.dates.date2num(t) for t in df.index]
Ma c'è un modo migliore?
Quale funzione si desidera utilizzare che richiede questo? E forse puoi usare 'mpl.dates.date2num (df.index.to_pydatetime())'? – joris
Alcune delle funzioni di plottaggio di mpl.finance utilizzano il "formato float days" anche se sembra una vergogna date2num non può trattare nativamente con DatetimeIndice di panda. Ma il tuo suggerimento funziona perfettamente grazie! (Se lo metti in una risposta, lo segnalo :) – birone