Как сравнить частоты / частоты дискретизации в пандах?
Есть ли способ сказать, что "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