To return numpy array of python datetime.time objects with timezone information, use the datetimeindex.timetz property.
At first, import the required libraries −
import pandas as pd
Create a DatetimeIndex with period 5 and frequency as us i.e. nanoseconds −
datetimeindex = pd.date_range('2021-10-20 02:30:50', periods=5, tz='Australia/Sydney', freq='ns')
Display DateTimeIndex −
print("DateTimeIndex...\n", datetimeindex)
Returns only the time part of Timestamp with timezone information −
print("\nThe numpy array (time part with timezone)..\n",datetimeindex.timetz)
Example
Following is the code −
import pandas as pd # DatetimeIndex with period 5 and frequency as us i.e. nanoseconds # The timezone is Australia/Sydney datetimeindex = pd.date_range('2021-10-20 02:30:50', periods=5, tz='Australia/Sydney', freq='ns') # display DateTimeIndex print("DateTimeIndex...\n", datetimeindex) # Returns only the time part of Timestamp with timezone information print("\nThe numpy array (time part with timezone)..\n",datetimeindex.timetz)
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', '2021-10-20 02:30:50.000000003+11:00', '2021-10-20 02:30:50.000000004+11:00'], dtype='datetime64[ns, Australia/Sydney]', freq='N') The numpy array (time part with timezone).. [datetime.time(2, 30, 50, tzinfo=<DstTzInfo 'Australia/Sydney' AEDT+11:00:00 DST>) datetime.time(2, 30, 50, tzinfo=<DstTzInfo 'Australia/Sydney' AEDT+11:00:00 DST>) datetime.time(2, 30, 50, tzinfo=<DstTzInfo 'Australia/Sydney' AEDT+11:00:00 DST>) datetime.time(2, 30, 50, tzinfo=<DstTzInfo 'Australia/Sydney' AEDT+11:00:00 DST>) datetime.time(2, 30, 50, tzinfo=<DstTzInfo 'Australia/Sydney' AEDT+11:00:00 DST>)]