Python Pandas - 以秒为频率对 TimeDeltaIndex 执行 floor 操作

pythonserver side programmingprogramming

要以秒为频率对 TimeDeltaIndex 执行 floor 操作,请使用 TimeDeltaIndex.floor() 方法。对于秒频率,请使用 freq 参数,其值为 ‘S’

首先,导入所需的库 −

import pandas as pd

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

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 日期进行 floor 操作。对于秒频率,我们使用了 'S' −

print("\n以秒频率执行 Floor 操作...\n",
tdIndex.floor(freq='S'))

示例

以下是代码 −

import pandas as pd

# 创建 TimeDeltaIndex 对象
# 我们使用 'data' 设置了类似 timedelta 的数据参数
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)

# 返回 TimeDeltas 组件的数据框
print("\nTimeDeltas 组件的 Dataframe...\n", tdIndex.components)

# 对 TimeDeltaIndex 日期进行以秒为频率的 Floor 操作
# 对于秒频率,我们使用了 'S'
print("\n以秒频率执行 Floor 操作......\n",
tdIndex.floor(freq='S'))

输出

这将产生以下代码 −

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)

TimeDeltas 组件的 Dataframe...
  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

以秒频率执行 Floor 操作......
TimedeltaIndex(['5 days 08:20:00', '0 days 17:42:19', '7 days 11:16:02',
'0 days 22:35:25'],
dtype='timedelta64[ns]', freq=None)

相关文章