从datetime列中提取唯一的月周期

2024-05-06 18:19:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这样一个日期栏。你知道吗

2012-01-28
2012-01-28
2012-01-28
2012-01-28
2012-01-28
2012-01-28
2012-01-28
2012-01-28
2012-01-28
2012-01-28
2012-01-28
2012-01-28
2012-01-29
2012-01-29
2012-01-29
2012-01-29
2012-01-29
2012-01-29

....
2016-12-31
2016-12-31
2016-12-31
2016-12-31

我想把它转换成以下任何一种格式:即得到唯一的yyyy-mm

2012-01  or 2012-Jan   or Jan
2012-02  or 2012-Feb   or Feb
2012-03 
...
2016-12   or 2012-Dec  or Dec

Tags: or格式janfebdecmmyyyy
1条回答
网友
1楼 · 发布于 2024-05-06 18:19:25

使用DatetimeIndex.to_period

pd.DatetimeIndex(df['date']).to_period('M').unique()
#  PeriodIndex(['2012-01', '2016-12'], dtype='period[M]', name='date', freq='M')

如果需要月份名称,请使用strftime

df['date'].dt.strftime('%Y-%b').unique()
# array(['2012-Jan', '2016-Dec'], dtype=object)

如果需要序列格式,请使用drop_duplicates

df['date'].dt.strftime('%Y-%b').drop_duplicates()

0     2012-Jan
18    2016-Dec
Name: date, dtype: object

相关问题 更多 >