Python 分组日期时间的时段列表

Python 分组日期时间的时段列表,python,pandas,datetime,Python,Pandas,Datetime,我对熊猫很陌生,我想做以下事情,但在groupby上遇到了一些麻烦。请帮忙 我有一个包含许多列的数据框,其中一列是date。 我需要一份不同月份和年份的清单 df = pd.DataFrame(['02 Jan 2018', '02 Feb 2018', '02 Feb 2018', '02 Mar 2018'], columns=['date']) datelist = pd.to_datetime(df.date) datelist = datelist.groupby([datelist.

我对熊猫很陌生,我想做以下事情,但在groupby上遇到了一些麻烦。请帮忙

我有一个包含许多列的数据框,其中一列是date。 我需要一份不同月份和年份的清单

df = pd.DataFrame(['02 Jan 2018', '02 Feb 2018', '02 Feb 2018', '02 Mar 2018'], columns=['date'])
datelist = pd.to_datetime(df.date)
datelist = datelist.groupby([datelist.dt.month, datelist.dt.year])
当我执行
datelist.all()
时,我得到以下结果:

date  date
1     2018         True
2     2018         True
Name: date, dtype: bool
我需要像
['2018年1月','2018年2月']

我非常感谢你的帮助

感谢使用,然后使用转换为自定义字符串,获取值,最后转换为
字符串
s:

datelist = pd.to_datetime(df.date).dt.strftime('%b %Y').unique().tolist()
print (datelist)
['Jan 2018', 'Feb 2018', 'Mar 2018']
另一种解决方案是,如果datetimes的输入格式为2018年1月2日的
02
被第一个空格分割,则选择第二个值并获取
unique
值:

datelist = df['date'].str.split(n=1).str[1].unique().tolist()
您可以使用(对于系列,这将是):

请提供
In [11]: datelist.to_period("M")
Out[11]:
PeriodIndex(['2019-01', '2019-01', '2019-01', '2019-01', '2019-01', '2019-01',
             ...
             '2019-02', '2019-02', '2019-02', '2019-02', '2019-02'],
            dtype='period[M]', freq='M')

In [12]: datelist.to_period("M").unique()
Out[12]: PeriodIndex(['2019-01', '2019-02'], dtype='period[M]', freq='M')

In [13]: [str(m) for m in datelist.to_period("M").unique()]
Out[13]: ['2019-01', '2019-02']