Python Pandas - Create a Series from TimeDeltaIndex

PythonServer Side ProgrammingProgramming

Use the to_series() method to create a series from TimeDeltaIndex in Pandas.

At first, import the required libraries −

import pandas as pd

Create a TimeDeltaIndex object. We have set the timedelta-like data using the 'data' parameter −

tdIndex = pd.TimedeltaIndex(data =['10 day 5h 2 min 3us 10ns', '+22:39:19.999999',
'2 day 4h 03:08:02.000045', '+21:15:45.999999'])

Convert TimeDeltaIndex to Series −

print("
TimeDeltaIndex to series...
", tdIndex.to_series())

Example

Following is the code −

import pandas as pd

# Create a TimeDeltaIndex object
# We have set the timedelta-like data using the 'data' parameter
tdIndex = pd.TimedeltaIndex(data =['10 day 5h 2 min 3us 10ns', '+22:39:19.999999',
'2 day 4h 03:08:02.000045', '+21:15:45.999999'])

# display TimedeltaIndex
print("TimedeltaIndex...
", tdIndex) # Return a dataframe of the components of TimeDeltas print("
The Dataframe of the components of TimeDeltas...
", tdIndex.components) # Return TimeDeltaIndex as object ndarray print("
Return TimeDeltaIndex as object ndarray of datetime.datetime objects...
", tdIndex.to_pytimedelta()) # Convert TimeDeltaIndex to Series print("
TimeDeltaIndex to series...
", tdIndex.to_series())

Output

This will produce the following code −

TimedeltaIndex...
TimedeltaIndex(['10 days 05:02:00.000003010', '0 days 22:39:19.999999',
'2 days 07:08:02.000045', '0 days 21:15:45.999999'],
dtype='timedelta64[ns]', freq=None)

The Dataframe of the components of TimeDeltas...
  days hours minutes seconds milliseconds microseconds nanoseconds
0 10    5      2       0        0             3            10
1 0    22      39      19      999           999            0
2 2    7       8       2        0            45             0
3 0    21     15      45       999           999            0

Return TimeDeltaIndex as object ndarray of datetime.datetime objects...
[datetime.timedelta(days=10, seconds=18120, microseconds=3)
datetime.timedelta(seconds=81559, microseconds=999999)
datetime.timedelta(days=2, seconds=25682, microseconds=45)
datetime.timedelta(seconds=76545, microseconds=999999)]

TimeDeltaIndex to series...
10 days 05:02:00.000003010 10 days 05:02:00.000003010
0 days 22:39:19.999999 0 days 22:39:19.999999
2 days 07:08:02.000045 2 days 07:08:02.000045
0 days 21:15:45.999999 0 days 21:15:45.999999
dtype: timedelta64[ns]
raja
Updated on 19-Oct-2021 11:10:11

Advertisements