Python Pandas - 对具有毫秒频率的 TimeDeltaIndex 执行向下取整操作


要对具有毫秒频率的 TimeDeltaIndex 执行向下取整操作,请使用 **TimeDeltaIndex.floor()** 方法。对于毫秒频率,请使用 **freq** 参数,其值为 **‘ms’**。

首先,导入所需的库 -

import pandas as pd

创建一个 TimeDeltaIndex 对象。我们使用 'data' 参数设置了类似时间增量的数据 -

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

显示 TimedeltaIndex -

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

对具有毫秒频率的 TimeDeltaIndex 日期执行向下取整操作。对于毫秒频率,我们使用了 'ms' -

print("\nPerforming Floor oper

示例

以下是代码 -

import pandas as pd

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

# 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)

# Floor operation on TimeDeltaIndex date with milliseconds frequency
# For milliseconds frequency, we have used 'ms'
print("\nPerforming Floor operation with milliseconds frequency...\n",
tdIndex.floor(freq='ms'))

输出

这将生成以下代码 -

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

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

Performing Floor operation with milliseconds frequency...
TimedeltaIndex([ '5 days 08:20:00', '0 days 17:42:19.999000',
'7 days 11:16:02', '0 days 22:35:25.999000'],
dtype='timedelta64[ns]', freq=None)

更新于: 2021年10月20日

86 次浏览

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告