Python pandas Series.at_time() Method
In this tutorial, we will discuss and learn the python pandas Series.at_time()
method using which we can select values at a particular time of the day. It returns empty Series if the specified time is not there in the index and it raises TypeError
, if the index is not a DatetimeIndex.
The below shows the syntax of the Series.at_time()
method.
Syntax
Series.at_time(time, asof=False, axis=None)
Parameters
time: It is the datetime.time or str.
axis:{0 or ‘index’, 1 or ‘columns’}, default 0.
Example: Select values using the Series.at_time()
method
Let's create a Series of DatatimeIndex and get the values using the Series.at_time()
method. If the specified time present in the index, the Series.at_time()
method returns those rows. See the below example.
#importing pandas as pd
import pandas as pd
Values = pd.date_range('2021-04-01', periods=6, freq='8H')
series = pd.Series([1, 2, 3, 4, 5, 6], index=Values)
print(series)
print("-----Selecting values---------")
print(series.at_time('8:00'))
2021-04-01 00:00:00 1
2021-04-01 08:00:00 2
2021-04-01 16:00:00 3
2021-04-02 00:00:00 4
2021-04-02 08:00:00 5
2021-04-02 16:00:00 6
Freq: 8H, dtype: int64
-----Selecting values---------
2021-04-01 08:00:00 2
2021-04-02 08:00:00 5
Freq: 24H, dtype: int64
Example: Select values using the Series.at_time()
method
This example is similar to the previous one change the periods, frequency and gets the values. See the below example.
#importing pandas as pd
import pandas as pd
Values = pd.date_range('2021-04-01', periods=4, freq='10T')
series = pd.Series([1, 2, 3, 4], index=Values)
print(series)
print("-----Selecting values---------")
print(series.at_time('00:10:00'))
2021-04-01 00:00:00 1
2021-04-01 00:10:00 2
2021-04-01 00:20:00 3
2021-04-01 00:30:00 4
Freq: 10T, dtype: int64
-----Selecting values---------
2021-04-01 00:10:00 2
Freq: 10T, dtype: int64
Example: The Series.at_time()
method returns empty Series
Here, in this example, the Series.at_time()
method returns empty Series because the specified time '10:00'
is not present in the index. See the below example.
#importing pandas as pd
import pandas as pd
Values = pd.date_range('2021-04-01', periods=4, freq='10T')
series = pd.Series([1, 2, 3, 4], index=Values)
print(series)
print("-----Selecting values---------")
print(series.at_time('10:00'))
2021-04-01 00:00:00 1
2021-04-01 00:10:00 2
2021-04-01 00:20:00 3
2021-04-01 00:30:00 4
Freq: 10T, dtype: int64
-----Selecting values---------
Series([], Freq: 10T, dtype: int64)
Example: The Series.at_time()
method raises TypeError
The index of the Series must be a DatetimeIndex otherwise the Series.at_time()
method raises TypeError
while selecting values. See the below example.
#importing pandas as pd
import pandas as pd
series = pd.Series([1, 2, 3, 4])
print(series.at_time('10:00'))
TypeError: Index must be DatetimeIndex
Conclusion
In this tutorial, we learned the Python pandas Series.at_time()
method. We understood the syntax, the parameter of the function and we solved examples by applying Series.at_time()
method on the DataFrame to get the values of the specified time.