Python Pandas - 如何对具有毫秒频率的 DateTimeIndex 执行向上取整运算
要对具有毫秒频率的 DateTimeIndex 执行向上取整运算,请使用 **DateTimeIndex.ceil()** 方法。对于毫秒频率,请使用值为 **‘ms’** 的 **freq** 参数。
首先,导入所需的库:
import pandas as pd
创建一个具有 5 个周期且频率为 S(即秒)的 DatetimeIndex。时区为澳大利亚/阿德莱德:
datetimeindex = pd.date_range('2021-10-18 07:20:32.261811624', periods=5, tz='Australia/Adelaide', freq='40S')
对 DateTimeIndex 日期执行具有毫秒频率的向上取整运算。对于毫秒频率,我们使用了 'ms':
print("\nPerforming ceil operation with milliseconds frequency...\n", datetimeindex.ceil(freq='ms'))
示例
以下是代码:
import pandas as pd # DatetimeIndex with period 5 and frequency as S i.e. seconds # timezone is Australia/Adelaide datetimeindex = pd.date_range('2021-10-18 07:20:32.261811624', periods=5, tz='Australia/Adelaide', freq='40S') # display DateTimeIndex print("DateTimeIndex...\n", datetimeindex) # display DateTimeIndex frequency print("DateTimeIndex frequency...\n", datetimeindex.freq) # Ceil operation on DateTimeIndex date with milliseconds frequency # For milliseconds frequency, we have used 'ms' print("\nPerforming ceil operation with milliseconds frequency...\n", datetimeindex.ceil(freq='ms'))
输出
这将产生以下代码:
DateTimeIndex... DatetimeIndex(['2021-10-18 07:20:32.261811624+10:30', '2021-10-18 07:21:12.261811624+10:30', '2021-10-18 07:21:52.261811624+10:30', '2021-10-18 07:22:32.261811624+10:30', '2021-10-18 07:23:12.261811624+10:30'], dtype='datetime64[ns, Australia/Adelaide]', freq='40S') DateTimeIndex frequency... <40 * Seconds> Performing ceil operation with milliseconds frequency... DatetimeIndex(['2021-10-18 07:20:32.262000+10:30', '2021-10-18 07:21:12.262000+10:30', '2021-10-18 07:21:52.262000+10:30', '2021-10-18 07:22:32.262000+10:30', '2021-10-18 07:23:12.262000+10:30'], dtype='datetime64[ns, Australia/Adelaide]', freq=None)
广告