我有一份 Pandas 时间戳列表。应该间隔 15 分钟,但由于测量中的一些错误,可能会在几分钟内出现错误。
我想将时间戳四舍五入到下一个最接近的 15 分钟。
我知道我可以使用 pandas 的 Timestamp.round()
来舍入时间戳。但它的问题是它四舍五入到最近的 15 分钟。我总是想在接下来的 15 分钟内结束。
例如,
如果我有如下所示的时间戳,
ts = pd.Timestamp('2017-12-31 23:50:00+0530')
rounded = ts.round(freq='15T')
我将得到的结果是 Timestamp('2017-12-31 23:45:00+0530', tz='pytz.FixedOffset(330)')
。
我不希望发生这种情况,我希望结果是下一个 15 分钟的时间戳,即它必须是
Timestamp('2018-01-01 00:00:00+0530', tz='pytz.FixedOffset(330)')
同时,我会有形式的时间戳
Timestamp('2018-01-01 00:00:00+0530', tz='pytz.FixedOffset(330)')
如果我出于我的目的使用 Timestamp.ceil
,我将得到这样的输出
Timestamp('2018-01-01 00:15:00+0530', tz='pytz.FixedOffset(330)')
我不希望它发生。
输出必须是
Timestamp('2018-01-01 00:00:00+0530', tz='pytz.FixedOffset(330)')
简而言之,如果时间戳是正确的,则不必进行封顶,如果时间戳不是 15 分钟,则必须封顶。
我怎样才能轻松地用 pandas 做到这一点?
最佳答案
你想要ceil
,而不是round
:
ts.ceil(freq='15T')
Timestamp('2018-01-01 00:00:00+0530', tz='pytz.FixedOffset(330)')
关于python - 汇总 Pandas 时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51997618/