Python Pandas - 从 TimeDeltaIndex 创建一个系列并设置结果系列的索引

pythonserver side programmingprogramming更新于 2026/1/26 19:56:17

使用 to_series() 方法在 Pandas 中从 TimeDeltaIndex 创建一个系列。index 参数用于设置结果系列的索引。

首先,导入所需的库 −

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 转换为 Series 并设置结果系列的索引。我们已经使用"index" 参数 −设置了索引

print("\nTimeDeltaIndex to series with new index...\n",
tdIndex.to_series(index=['Date1','Date2','Date3','Date4']))

示例

以下是代码 −

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 组件的数据框...\n", tdIndex.components)

# 返回 TimeDeltaIndex 作为对象 ndarray
print("\n返回 TimeDeltaIndex 作为 datetime.datetime 的对象 ndarray对象...\n",
tdIndex.to_pytimedelta())

# 将 TimeDeltaIndex 转换为 Series 并设置结果系列的索引
# 我们使用"index" 参数设置了索引
print("\nTimeDeltaIndex to series with new index...\n",
tdIndex.to_series(index=['Date1','Date2','Date3','Date4']))

输出

这将产生以下代码 −

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)

The Dataframe of the components of TimeDeltas...
   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

Return TimeDeltaIndex as object ndarray of datetime.datetime objects...
[datetime.timedelta(days=10, seconds=18120, microseconds=3)
datetime.timedelta(seconds=81559, microseconds=999999)
datetime.timedelta(days=2, seconds=25682, microseconds=45)
datetime.timedelta(seconds=76545, microseconds=999999)]

TimeDeltaIndex to series with new index...
Date1 10 days 05:02:00.000003010
Date2 0 days 22:39:19.999999
Date3 2 days 07:08:02.000045
Date4 0 days 21:15:45.999999
dtype: timedelta64[ns]

相关文章


有用资源