📜  Python熊猫-Timedelta(1)

📅  最后修改于: 2023-12-03 15:19:34.367000             🧑  作者: Mango

Python熊猫 - Timedelta

Python熊猫(Pandas)是一个强大的数据分析工具,其中Timedelta是一个表示一段时间间隔的数据类型。

Timedelta的创建和使用

使用Pandas中的Timedelta创建一个时间间隔非常简单:

import pandas as pd

delta = pd.Timedelta(days=1, hours=12, minutes=30)
print(delta)

输出:

1 day 12:30:00

我们可以通过几种方式使用Timedelta类型:

时间计算
import pandas as pd

delta1 = pd.Timedelta(days=2, hours=3)
delta2 = pd.Timedelta(hours=2, minutes=30)

print(delta1 + delta2) # 2 days 05:30:00
时间转换
import pandas as pd
import numpy as np

timestamp = pd.Timestamp('2020-01-01')
delta = pd.Timedelta(np.timedelta64(1, 'D'))

print(timestamp + delta) # 2020-01-02 00:00:00
从Series中创建
import pandas as pd

s = pd.Series(pd.to_timedelta(['1 days', '2 hours', '30 minutes', '1 hours']))
print(s)

输出:

0     1 days
1    02:00:00
2    00:30:00
3    01:00:00
dtype: timedelta64[ns]
属性和方法

Timedelta对象拥有多个属性和方法,下面列举了一些常用的:

  • days: 时间间隔中的天数
  • seconds: 时间间隔中的秒数(不包括天数)
  • total_seconds(): 时间间隔中的总秒数
  • ceil(): 上舍入到最接近的整数秒
  • floor(): 下舍入到最接近的整数秒
  • round(): 四舍五入到最接近的整数秒
import pandas as pd

delta = pd.Timedelta('1 days 2 hours 30 minutes 15 seconds')

print(delta.days) # 1
print(delta.seconds) # 90015
print(delta.total_seconds()) # 101415.0
print(delta.ceil('5 minutes')) # 1 days 02:35:00
print(delta.floor('5 minutes')) # 1 days 02:30:00
print(delta.round('5 minutes')) # 1 days 02:30:00
结论

Timedelta类型是Python熊猫中一个强大且灵活的工具,它有助于进行各种有关时间间隔的计算和转换。在处理时间数据时,Timedelta类型是非常有用的。