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


若要对具有小时频率的 TimeDeltaIndex 执行向下取整操作,请使用 TimeDeltaIndex.floor() 方法。对于小时频率,请使用 freq 参数,其值‘H’

首先,导入必要的库 −

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)

向下取整带有小时频率的时间间隔索引日期。对于小时频率,我们已使用'H' −

print("\nPerforming Floor operation with hourly frequency...\n",
tdIndex.floor(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 =['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 hourly frequency
# For hourly frequency, we have used 'H'
print("\nPerforming Floor operation with hourly frequency...\n",
tdIndex.floor(freq='H'))

输出

这将生成以下代码 −

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 hourly frequency...
TimedeltaIndex(['5 days 08:00:00', '0 days 17:00:00', '7 days 11:00:00',
'0 days 22:00:00'],
dtype='timedelta64[ns]', freq=None)

更新日期:2021-10-20

71 次浏览

开启你的职业生涯

完成课程获得认证

开始
广告
© . All rights reserved.