Pandas 如何使用at_time()方法从Series对象中选择值

Pandas 如何使用at_time()方法从Series对象中选择值

使用Pandas Series的at_time()方法可以选择给定系列对象中特定时间的值。at_time()方法接受时间参数并返回一个包含选定值的系列对象。

如果给定系列对象的索引中不存在指定的时间,则at_time方法将返回一个空的Series对象,并且如果输入系列对象的索引不具有DatetimeIndex,它会引发TypeError。

让我们创建一个带有Datetime索引的pandas Series对象,并使用Series.at_time()方法获取值。如果给定输入系列对象的索引中存在指定的时间,它将返回一个具有这些行值的系列对象。

示例1

import pandas as pd

# create the index
index = pd.date_range('2021-01-1', periods=10, freq='6H')

#creating pandas Series with date-time index
series = pd.Series([1,2,3,4,5,6,7,8,9,10], index=index)

print(series)

# selecting values
print("Selecting values:", series.at_time("6:00"))

说明

在下面的示例中,我们使用pandas的DateTime索引和一些整数值创建了一个系列。然后,我们使用at_time()方法获取时间为“6:00”的值。

输出

2021-01-01 00:00:00  1
2021-01-01 06:00:00  2
2021-01-01 12:00:00  3
2021-01-01 18:00:00  4
2021-01-02 00:00:00  5
2021-01-02 06:00:00  6
2021-01-02 12:00:00  7
2021-01-02 18:00:00  8
2021-01-03 00:00:00  9
2021-01-03 06:00:00 10
Freq: 6H, dtype: int64

Selecting values:
2021-01-01 06:00:00  2
2021-01-02 06:00:00  6
2021-01-03 06:00:00 10
Freq: 24H, dtype: int64

在这个示例中,我们成功地从给定的series对象中选择了3行,这3行的索引标签上的时间是“6:00”小时。

示例2

import pandas as pd

# create the index
index = pd.date_range('2021-01-1', periods=10, freq='30T')

#creating pandas Series with date-time index
series = pd.Series([1,2,3,4,5,6,7,8,9,10], index=index)

print(series)

# selecting values
print("Selecting values:", series.at_time("00:10:00"))

解释

同样地,我们创建了一个带有 pandas DateTime 索引的 pandas 对象。然后,我们尝试在时间“00:10:00”获取系列的值。

输出

2021-01-01 00:00:00  1
2021-01-01 00:30:00  2
2021-01-01 01:00:00  3
2021-01-01 01:30:00  4
2021-01-01 02:00:00  5
2021-01-01 02:30:00  6
2021-01-01 03:00:00  7
2021-01-01 03:30:00  8
2021-01-01 04:00:00  9
2021-01-01 04:30:00 10
Freq: 30T, dtype: int64

Selecting values:
Series([], Freq: 30T, dtype: int64)

下面示例的输出是一个空的系列对象,这是因为请求时间在给定系列对象的索引中不存在。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程

Pandas 精选笔记