📜  Python|熊猫系列.dt.floor(1)

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

Python|熊猫系列.dt.floor

简介

在Python的pandas库中,dt.floor是一个日期和时间函数,它可以将给定的日期时间向下取整到各种时间频率中的最近一次。

语法

Series.dt.floor(freq, ambiguous='raise')

  • freq:表示要向下取整到的时间频率,可以是一个字符串或一个pandas Timedelta对象。
  • ambiguous:可选参数,当有模糊时间戳时,指定如何处理。默认值为raise,表示引发一个AmbiguousTimeError异常。当设置为NaT,模糊时间戳将转换为NaT。当设置为infer时,它将尝试猜测哪个时区更适合模糊时间戳,并使用该时区进行转换。
示例
import pandas as pd
dates = ['2021-07-01 12:45:23', '2021-07-02 12:45:23', '2021-07-03 12:45:23']
s = pd.Series(dates)
print(s)

# 0    2021-07-01 12:45:23
# 1    2021-07-02 12:45:23
# 2    2021-07-03 12:45:23
# dtype: object

s = pd.to_datetime(s)
print(s.dt.floor('D'))

# 0   2021-07-01
# 1   2021-07-02
# 2   2021-07-03
# dtype: datetime64[ns]

这里我们先构造一个字符串类型的Series,然后使用pd.to_datetime将其转换为一个DatetimeIndex类型的Series。我们接着使用dt.floor('D')将其向下取整到天,并得到一个新的DatetimeIndex类型的Series。

适用场景

dt.floor通常用于将时间戳规范化为给定的时间频率。例如,我们有许多不同的时间戳,需要将它们都规范化为整小时的时间戳。在这种情况下,我们可以使用dt.floor('H')来实现。