python - 汇总 Pandas 时间戳

标签 python pandas

我有一份 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/

相关文章:

python - 如何在 Django 中获取 ContentType 的类名

python - pandas - 如何检查日期的连续顺序并复制它们的组?

python - 了解 xarray.apply_ufunc

python - 一个类需要实现什么才能用作参数元组?

python - Pandas:根据另一列中的标志连接列中的字符串,直到标志更改

python - 通过将某些列转置为行来 reshape pandas 数据框

python - 以每列仅包含 Pandas 中的相同值的方式对列进行排序

python - pandas python 中的欧几里得最小生成树

pandas - 如何重命名pandas中的一批列?

python - 如何将时间戳四舍五入到最接近的秒数?