【发布时间】:2017-03-11 22:36:13
【问题描述】:
我有一个时间戳
tstamp = pd.to_datetime('01/11/2017')
tstamp
->> Timestamp('2017-01-11 00:00:00')
我有月经
per = pd.Period('01/03/2017', 'M')
per
->> Period('2017-01', 'M')
我想知道我的时间戳是否在我的经期内。例如是 2017 年 1 月 11 日(我的 tstamp)在 2017 年 1 月期间(我的 per)
tstamp in per # doesn't work
pd.Series(tstamp).isin([per])
->> TypeError: object of type 'pandas._period.Period' has no len()
似乎无法弄清楚,我宁愿不做类似的事情:
tstamp < per.to_timestamp()+pd.Timedelta(1,'M') & tstamp > per.to_timestamp()
只是因为它不适用于我在其余时间对数据进行的计算。
【问题讨论】:
-
如果您将 Period 转换为名为 ival 的 pandas 间隔,则表达式“tstamp in ival”可以满足您的需求。
标签: python pandas timestamp period