Pandas DataFrame at_time() Method
In this tutorial, we will learn the Python pandas DataFrame.at_time()
method. It is used to select values of rows at a particular time of day. If the specified input time is not present in the DataFrame, it returns the empty DataFrame.
It raises the TypeError
if the index is not a DataTimeIndex
.
The below shows the syntax of DataFrame.at_time()
method.
Syntax
DataFrame.at_time(time, asof=False, axis=None)
Parameters:
time: It represents the datetime.time
or str
axis: If it is '0' means ‘index’ and if it is '1' means ‘columns’, and the default value is 0.
Example 1: Getting the values from the DataFrame at a specific time using the DataFrame.at_time()
Method
The below example shows how to get the values of rows by providing a specific time to the DataFrame.at_time()
method. Create a datetime indexed dataframe and get the values at any specific 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'))
Once we run the program we will get the following result.
A B
2021-01-01 00:00:00 1 1
2021-01-01 12:00:00 2 2
2021-01-02 00:00:00 3 3
2021-01-02 12:00:00 4 4
-----Selecting values---------
A B
2021-01-01 12:00:00 2 2
2021-01-02 12:00:00 4 4
Example 2: Getting the values from the DataFrame at a specific time using the DataFrame.at_time()
Method
The below example is similar to the previous one. Change the period and frequency values and get the values from the DataFrame of a specific 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'))
Once we run the program we will get the following result.
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 3
2020-02-01 01:00:00 4 4
2020-02-01 01:20:00 5 5
-----Selecting values---------
A B
2020-02-01 01:00:00 4 4
Example 3: The DataFrame.at_time()
method returns empty DataFrame.
When we try to get the values of rows from the DataFrame of a specific time. If the specified input time is not present in the DataFrame, it returns the 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'))
Once we run the program we will get the following result.
-----Selecting values---------
Empty DataFrame
Columns: [A, B]
Index: []
Example 4: The DataFrame.at_time()
method raises TypeError.
If the index is not a DataTimeIndex
the DataFrame.at_time()
method raises 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'))
Once we run the program we will get the following result.
TypeError: Index must be DatetimeIndex
Conclusion
In this tutorial, we learned the Python pandas DataFrame.at_time()
method. We understood the syntax, the parameter of the function and we solved examples by applying DataFrame.at_time()
method on the DataFrame to get the values of the specified time.