Как сравнить частоты / частоты дискретизации в пандах?

Есть ли способ сказать, что "13Min" это> "59S" и "2H", используя частотную запись в пандах?

2 ответа

Решение
In [4]: from pandas.tseries.frequencies import to_offset

In [5]: to_offset('59s') < to_offset('1T')
Out[5]: True

In [6]: to_offset('13T') > to_offset('59s')
Out[6]: True

In [7]: to_offset('13T') < to_offset('59s')
Out[7]: False

In [8]: to_offset('13T') > to_offset('2H')
Out[8]: False

In [10]: to_offset('13T') < to_offset('2H')
Out[10]: True

Другой способ - добавить обе частоты к одной общей дате и сравнить полученные Timestamp, Это также относится к комментарию @rixmit.

In [2]: import pandas as pd
In [3]: from pandas.tseries.frequencies import to_offset

In [4]: common_dt = pd.to_datetime("2000-01-01")
In [5]: f_a = common_dt + to_offset('59s')
In [6]: f_b = common_dt + to_offset('1T')
In [7]: f_a > f_b
Out[8]: False

In [9]: f_a = common_dt + to_offset('M')
In [9]: f_b = common_dt + to_offset('W')
In [10]: f_a > f_b
Out[10]: True
Другие вопросы по тегам