Python 分组日期时间的时段列表
我对熊猫很陌生,我想做以下事情,但在groupby上遇到了一些麻烦。请帮忙 我有一个包含许多列的数据框,其中一列是date。 我需要一份不同月份和年份的清单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.
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']