J'ai un Dataframe, df, avec la colonne suivante:
df['ArrivalDate'] =
...
936 2012-12-31
938 2012-12-29
965 2012-12-31
966 2012-12-31
967 2012-12-31
968 2012-12-31
969 2012-12-31
970 2012-12-29
971 2012-12-31
972 2012-12-29
973 2012-12-29
...
Les éléments de la colonne sont pandas.tslib.Timestamp.
Je veux juste inclure l'année et le mois. Je pensais qu'il y aurait un moyen simple de le faire, mais je ne peux pas le comprendre.
Voici ce que j'ai essayé:
df['ArrivalDate'].resample('M', how = 'mean')
J'ai eu l'erreur suivante:
Only valid with DatetimeIndex or PeriodIndex
J'ai ensuite essayé:
df['ArrivalDate'].apply(lambda(x):x[:-2])
J'ai eu l'erreur suivante:
'Timestamp' object has no attribute '__getitem__'
Aucune suggestion?
Edit: j'ai en quelque sorte compris.
df.index = df['ArrivalDate']
Ensuite, je peux rééchantillonner une autre colonne en utilisant l'index.
Mais j'aimerais toujours une méthode pour reconfigurer la colonne entière. Des idées?
to_period
: df.date_column.dt.month
(ou .year
, ou .day
) travaux
.dt.month
perd cependant l'année. Et .dt.to_period('M')
change le type de données en quelque chose qui n'est plus un datetime64. J'ai fini par utiliser la réponse de Juan suggérant .astype('datetime64[M]')
de tronquer les valeurs.