У меня есть серия, называемая «счетами», с индексом datetime.
Я хочу разделить его на quarter
и year
псевдокодом: series.loc['q2 of 2013']
На данный момент попыток: s.dt.quarter
AttributeError: может использовать аксессор .dt только со значениями, подобными datetime.
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']
Я ожидаю, что есть способ сделать это без преобразования в набор данных, принудительного использования индекса в datetime, а затем получения из него Series.
Что мне не хватает, и каков элегантный способ сделать это в серии Pandas?
s.index.quarter
. - person shivsn   schedule 25.07.2016scores.ix[scores.index.quarter==2]
. - person shivsn   schedule 25.07.2016dt
штуку. - person sapo_cosmico   schedule 25.07.2016