📅  最后修改于: 2023-12-03 15:19:21.367000             🧑  作者: Mango
Series.at_time()
是Pandas库中的一个函数,用于返回在指定时间的有关指定时间的数据索引。此函数基于时间索引。此功能可用于获取所有在指定时间的行的数据,以及以该特定时间为起点的所有行的数据。
在此之前,请确保已将Python和Pandas安装在您的计算机上。
以下是Series.at_time()函数的语法:
Series.at_time(time, asof=None) → {label / slice}
参数:
time
要获取的特定时间,格式:字符串或者类似datetime.time类型的对象asof
返回该时间之前的最后一行数据,格式同上。返回:
首先,导入必要的库。
import pandas as pd
import numpy as np
创建一个数据帧,以对些示例进行操作:
rng = pd.date_range('1/1/2011', periods=72, freq='H')
df = pd.DataFrame({'value': np.arange(len(rng))}, index=rng)
df.head()
输出:
value
2011-01-01 00:00:00 0
2011-01-01 01:00:00 1
2011-01-01 02:00:00 2
2011-01-01 03:00:00 3
2011-01-01 04:00:00 4
现在,我们将指定时间设置为datetime.time对象:
df.at_time(pd.datetime.time(4, 0))
输出:
value
2011-01-01 04:00:00 4
2011-01-02 04:00:00 28
2011-01-03 04:00:00 52
现在,我们将指定时间设置为字符串并进行操作:
df.at_time('4:00')
输出:
value
2011-01-01 04:00:00 4
2011-01-02 04:00:00 28
2011-01-03 04:00:00 52
如果我们指定asof,则我们将获得指定时间之前的最后一个行数据:
df.at_time(pd.datetime.time(4, 0), asof=pd.Timestamp('2011-01-03 10:00:00'))
输出:
value
2011-01-03 04:00:00 52