我有一个名为“分数”的系列,带有日期时间索引。
我希望通过
伪代码对其quarter
进行子集化:year
series.loc['q2 of 2013']
迄今为止的尝试:
s.dt.quarter
AttributeError:只能将 .dt 访问器与 datetimelike 值一起使用
s.index.dt.quarter
AttributeError:“DatetimeIndex”对象没有属性“dt”
这有效(受此答案启发),但我不敢相信这是在 Pandas 中执行此操作的正确方法:
d = pd.DataFrame(s)
d['date'] = pd.to_datetime(d.index)
d.loc[(d['date'].dt.quarter == 2) & (d['date'].dt.year == 2013)]['scores']
我希望有一种方法可以做到这一点,而无需转换为数据集,将索引强制为日期时间,然后从中获取系列。
我错过了什么,在 Pandas 系列中执行此操作的优雅方式是什么?