Python Pandas - 对具有小时频率的 TimeDeltaIndex 对象执行向上取整运算


要对具有小时频率的 TimeDeltaIndex 执行向上取整运算,请使用 **TimeDeltaIndex.ceil()** 方法。对于小时频率,请使用值为 **‘H’** 的 **freq** 参数。

首先,导入所需的库:

import pandas as pd

创建一个 TimeDeltaIndex 对象。我们使用 'data' 参数设置了类似 timedelta 的数据:

tdIndex = pd.TimedeltaIndex(data =['4 day 8h 20min 35us 45ns', '+17:42:19.999999',
'9 day 3h 08:16:02.000055', '+22:35:25.000075'])

显示 TimedeltaIndex:

print("TimedeltaIndex...\n", tdIndex)

对 TimeDeltaIndex 日期执行向上取整运算,频率为小时。对于小时频率,我们使用了 'H':

print("\nPerforming Ceil operation with hourly frequency...\n",
tdIndex.ceil(freq='H'))

示例

以下是代码:

import pandas as pd

# Create a TimeDeltaIndex object
# We have set the timedelta-like data using the 'data' parameter
tdIndex = pd.TimedeltaIndex(data =['4 day 8h 20min 35us 45ns', '+17:42:19.999999',
'9 day 3h 08:16:02.000055', '+22:35:25.000075'])

# display TimedeltaIndex
print("TimedeltaIndex...\n", tdIndex)

# Return a dataframe of the components of TimeDeltas
print("\nThe Dataframe of the components of TimeDeltas...\n", tdIndex.components)

# Ceil operation on TimeDeltaIndex date with hourly frequency
# For hourly frequency, we have used 'H'
print("\nPerforming Ceil operation with hourly frequency...\n",
tdIndex.ceil(freq='H'))

输出

这将产生以下代码:

TimedeltaIndex...
TimedeltaIndex(['4 days 08:20:00.000035045', '0 days 17:42:19.999999',
'9 days 11:16:02.000055', '0 days 22:35:25.000075'],
dtype='timedelta64[ns]', freq=None)

The Dataframe of the components of TimeDeltas...
   days hours minutes seconds milliseconds microseconds nanoseconds
0    4     8     20        0         0            35           45
1    0    17     42       19       999           999            0
2    9    11     16        2         0            55            0
3    0    22     35       25         0            75            0

Performing Ceil operation with hourly frequency...
TimedeltaIndex(['4 days 09:00:00', '0 days 18:00:00', '9 days 12:00:00',
'0 days 23:00:00'],
dtype='timedelta64[ns]', freq=None)

更新于:2021年10月20日

60 次浏览

启动你的职业生涯

完成课程获得认证

开始学习
广告