J'ai une base de données d'information. J'ai mis l'index à la date et l'heure reçues. Maintenant, je veux une listeFaire une liste de mois et d'années à partir de DatetimeIndex dans Pandas
Je mets l'indice df faire ceci:
df.index = pd.to_datetime(df.index, format='%m/%d/%Y %H:%M')
qui me donne ceci:
print df.index
<class 'pandas.tseries.index.DatetimeIndex'>
[2014-07-28 09:42:08, ..., 2015-07-28 09:06:12]
Length: 15177, Freq: None, Timezone: None
Je veux une liste des mois et des années pour les utiliser pour tracer, comme ceci: ["Jan 2015", "Feb 2015", "Mar 2015", "Apr 2015", "May 2015", "June 2015", "Jul 2015", "Aug 2014", "Sep 2014", "Oct 2014", "Nov 2014", "Dec 2014"]
Comment est-ce que je peux faire ceci? Je l'ai regardé dans quelque chose comme ceci:
df = [datetime.datetime.strftime(n,'%b-%Y') for n in pd.DataFrame(df).resample('M').index]
Mais cela me donne l'erreur DataError: No numeric types to aggregate
fait 'df.index.apply (lambda x: datetime.datetime.strftime (x, '% b% Y'))' travail? – EdChum
@EdChum Je reçois une AttributeError: AttributeError: l'objet 'DatetimeIndex' n'a pas d'attribut 'apply' – jenryb
Hmm vous devrez peut-être convertir en une série en premier: 'pd.Series (df.index) .apply (lambda x: datetime.datetime .strftime (x, '% b% Y')) 'ou essayez' df.index.to_series(). apply (lambda x: datetime.datetime.strftime (x, '% b% Y')) ' – EdChum