Pandas 数据帧at_time()方法

原文:https://www.studytonight.com/pandas/pandas-dataframe-at_time-method

在本教程中,我们将学习 PandasDataFrame.at_time()方法。它用于选择一天中特定时间的行值。如果数据帧中不存在指定的输入时间,则返回empty DataFrame.,如果索引不是DataTimeIndex,则提升TypeError

下图显示了DataFrame.at_time()方法的语法。

句法

DataFrame.at_time(time, asof=False, axis=None)

参数:

时间:代表datetime.time或 str

轴:如果是【0】表示【索引】,如果是【1】表示【列】,默认值为 0。

示例 1:使用DataFrame.at_time()方法从数据帧中获取特定时间的值

下面的例子展示了如何通过给DataFrame.at_time()方法提供一个特定的时间来获取行的值。创建日期时间索引数据帧,并在任何特定时间获取值。

import pandas as pd
Values = pd.date_range('2021-01-01', periods=4, freq='12H')
df = pd.DataFrame({'A': [1, 2, 3, 4],'B': [1, 2, 3, 4]}, index=Values)
print(df)
print("-----Selecting values---------")
print(df.at_time('12:00'))

一旦我们运行程序,我们将得到以下结果。

A B 2021-01-01 00:00:00 1 1 2021-01-01 12:00:00 2 2021-01-02 00:00 3 2021-01-02 12:00:00 4 -选择值- A B 2021-01-01 12:00

示例 2:使用DataFrame.at_time()方法从数据帧中获取特定时间的值

下面的例子类似于前面的例子。更改周期和频率值,并从特定时间的数据帧中获取值。

import pandas as pd
Values = pd.date_range('2020-02-01', periods=5, freq='20T')
df = pd.DataFrame({'A': [1, 2, 3, 4,5],'B': [1, 2, 3, 4,5]}, index=Values)
print(df)
print("-----Selecting values---------")
print(df.at_time('1:00'))

一旦我们运行程序,我们将得到以下结果。

A B 2020-02-01 00:00:00 1 1 2020-02-01 00:20:00 2 2 2020-02-01 00:40:00 3 2020-02-01 01:00 4 2020-02-01 01:20:00 5 -选择值

示例 3:DataFrame.at_time()方法返回空的数据帧。

当我们试图从特定时间的数据帧中获取行的值时。如果数据帧中没有指定的输入时间,则返回empty DataFrame

import pandas as pd
Values = pd.date_range('2020-02-01', periods=5, freq='20T')
df = pd.DataFrame({'A': [1, 2, 3, 4,5],'B': [1, 2, 3, 4,5]}, index=Values)
print("-----Selecting values---------")
print(df.at_time('1:30'))

一旦我们运行程序,我们将得到以下结果。

-选择值- 空数据帧 列:[A,B] 索引:[]

示例 4:DataFrame.at_time()方法引发类型错误。

如果指数不是DataTimeIndexDataFrame.at_time()方法会提高TypeError.

import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3, 4],'B': [1, 2, 3, 4]}, index=[1,2,3,4])
print("-----Selecting values---------")
print(df.at_time('12:00'))

一旦我们运行程序,我们将得到以下结果。

类型错误:索引必须是日期时间索引

结论

在本教程中,我们学习了 PandasDataFrame.at_time()方法。我们理解了函数的语法和参数,并通过在数据帧上应用DataFrame.at_time()方法来获得指定时间的值来解决示例。