Python Pandas - 如何用秒频率对 TimeDeltaIndex 进行舍入

pythonserver side programmingprogramming更新于 2026/1/26 21:32:17

要用秒频率对 TimeDeltaIndex 进行舍入,请使用 TimeDeltaIndex.round() 方法。对于秒频率,请使用值为 ‘S’ 的 freq 参数。

首先,导入所需的库 −

import pandas as pd

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

tdIndex = pd.TimedeltaIndex(data =['10 day 5h 2 min 3us 10ns', '+22:39:19.999999',
'2 day 4h 03:08:02.000045', '+21:15:45.999999'])

显示 TimedeltaIndex −

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

以秒为频率对 TimeDeltaIndex 日期进行舍入运算。对于秒频率,我们使用了 'S' −

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

示例

以下是代码 −

import pandas as pd

# 创建 TimeDeltaIndex 对象
# 我们使用 'data' 设置了类似 timedelta 的数据参数
tdIndex = pd.TimedeltaIndex(data =['10 day 5h 2 min 3us 10ns', '+22:39:19.999999',
'2 day 4h 03:08:02.000045', '+21:15:45.999999'])

# 显示 TimedeltaIndex
print("TimedeltaIndex...\n", tdIndex)

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

# 使用秒频率对 TimeDeltaIndex 日期进行舍入操作
# 对于秒频率,我们使用了 'S'
print("\nPerforming round operation with seconds frequency...\n",
tdIndex.round(freq='S'))

输出

这将产生以下代码 −

TimedeltaIndex...
TimedeltaIndex(['10 days 05:02:00.000003010', '0 days 22:39:19.999999',
'2 days 07:08:02.000045', '0 days 21:15:45.999999'],
dtype='timedelta64[ns]', freq=None)

TimeDeltas 组件的 Dataframe...
   days hours minutes seconds milliseconds microseconds nanoseconds
0    10    5      2       0           0            3           10
1     0   22     39      19         999          999            0
2     2    7      8       2           0           45            0
3     0   21     15      45         999          999            0

Performing round operation with seconds frequency...
TimedeltaIndex(['10 days 05:02:00', '0 days 22:39:20', '2 days 07:08:02',
'0 days 21:15:46'],
dtype='timedelta64[ns]', freq=None)

相关文章


有用资源