Aşağıdaki sütun ile bir Dataframe, df var:
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
...
Sütunun elemanları pandas.tslib.Timestamp'tır.
Sadece yılı ve ayı dahil etmek istiyorum. Bunu yapmanın basit bir yolu olacağını düşündüm, ama çözemiyorum.
İşte denedim:
df['ArrivalDate'].resample('M', how = 'mean')
Aşağıdaki hatayı aldım:
Only valid with DatetimeIndex or PeriodIndex
Sonra denedim:
df['ArrivalDate'].apply(lambda(x):x[:-2])
Aşağıdaki hatayı aldım:
'Timestamp' object has no attribute '__getitem__'
Baska öneri?
Düzenleme: Ben bunu anladım.
df.index = df['ArrivalDate']
Ardından, dizini kullanarak başka bir sütunu yeniden örnekleyebilirim.
Ancak yine de tüm sütunu yeniden yapılandırmak için bir yöntem istiyorum. Herhangi bir fikir?
to_period
: df.date_column.dt.month
(veya .year
, veya .day
) çalışıyor
.dt.month
yılı kaybeder. Ve .dt.to_period('M')
veri türünü artık datetime64 olmayan bir şeye değiştirir. Ben kullanarak sona erdi Juan'ın cevabı düşündüren .astype('datetime64[M]')
değerlerini kesecek.