To return numpy array of python datetime.time objects, use the datetimeindex.time property in Pandas.
At first, import the required libraries −
import pandas as pd
Create a DatetimeIndex with period 3 and frequency as us i.e. nanoseconds. The timezone is Australia/Sydney −
datetimeindex = pd.date_range('2021-10-20 02:30:50', periods=3, tz='Australia/Sydney', freq='ns')
Display DateTimeIndex −
print("DateTimeIndex...\n", datetimeindex)
Returns only the time part of Timestamps without timezone information −
print("\nThe numpy array (time part)..\n",datetimeindex.time)
Example
Following is the code −
import pandas as pd # DatetimeIndex with period 3 and frequency as us i.e. nanoseconds # The timezone is Australia/Sydney datetimeindex = pd.date_range('2021-10-20 02:30:50', periods=3, tz='Australia/Sydney', freq='ns') # display DateTimeIndex print("DateTimeIndex...\n", datetimeindex) # Returns only the date part of Timestamps without timezone information print("\nThe numpy array (date part)..\n",datetimeindex.date) # Returns only the time part of Timestamps without timezone information print("\nThe numpy array (time part)..\n",datetimeindex.time)
Output
This will produce the following code −
DateTimeIndex... DatetimeIndex([ '2021-10-20 02:30:50+11:00', '2021-10-20 02:30:50.000000001+11:00', '2021-10-20 02:30:50.000000002+11:00'], dtype='datetime64[ns, Australia/Sydney]', freq='N') The numpy array (date part).. [datetime.date(2021, 10, 20) datetime.date(2021, 10, 20) datetime.date(2021, 10, 20)] The numpy array (time part).. [datetime.time(2, 30, 50) datetime.time(2, 30, 50) datetime.time(2, 30, 50)]