В Pandas существует ли групповая операция для группировки значений в течение нескольких лет, когда остальная часть метки времени одинакова?Pandas dataframe: группа через годы
Например, 12:00:00 01.01.2000, 12:00:00 01/01/2001 и 12:00:00 01/01/2002 сформирует группу, а также 15:00:00 01.01.2000, 15:00:00 01.01.2001 15:00:00 и 01/01/2002 ... и т.д.
Я вроде этого добиться с:
group = pd.groupby(timeseries, by=[timeseries.index.minute, timeseries.index.hour, timeseries.index.day, timeseries.index.month])
, но это действительно уродливое и не гибкое для формата входного времени. То, что я действительно хочу, - это способ исключить год из группы, но включая все остальное.
Не уверен, что это некрасиво и не гибкий здесь, не могли бы вы уточнить ваш вопрос почему он не работает достаточно хорошо? – Boud
Негибким и уродливым я действительно имел в виду тот факт, что если разрешение данных временных рядов меньше минуты, скажем, второе, это не сработает, так как будет сгруппировано несколько данных. Хотя маловероятно в моем использовании, я хочу попытаться охватить как можно больше потенциальных ситуаций. Очевидно, что я мог бы просто включить timeseries.index.second на фронт (и т. Д.), Но для меньшего и меньшего разрешения он становится немного глупым. Я надеялся на более элегантный способ сделать это, что не зависит от разрешения входных данных. – EngStan