Python Pandas - Extract the Number of nanoseconds for each element from TimeDeltaIndex

To extract the number of nanoseconds for each element from a TimeDeltaIndex object, use the TimedeltaIndex.nanoseconds property. This property returns only the nanosecond component (0-999) from each timedelta, not the total nanoseconds.

Syntax

TimedeltaIndex.nanoseconds

Creating a TimeDeltaIndex

First, let's create a TimeDeltaIndex with various time components including nanoseconds ?

import pandas as pd

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

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

Extracting Nanoseconds

Use the nanoseconds property to get the nanosecond component from each timedelta ?

import pandas as pd

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

# Extract nanoseconds component
nanoseconds = tdIndex.nanoseconds
print("Nanoseconds component:")
print(nanoseconds)
Nanoseconds component:
Index([10, 0, 0, 0], dtype='int64')

Understanding the Components

To better understand how nanoseconds fit with other time components, let's view all components together ?

import pandas as pd

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

# Display all components including nanoseconds
components = tdIndex.components
print("All time components:")
print(components)

print("\nJust the nanoseconds:")
print(tdIndex.nanoseconds)
All time components:
   days  hours  minutes  seconds  milliseconds  microseconds  nanoseconds
0    10      5        2       35             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

Just the nanoseconds:
Index([10, 0, 0, 0], dtype='int64')

Key Points

  • The nanoseconds property returns only the nanosecond component (0-999 range)
  • It does not return the total nanoseconds in the entire timedelta
  • Only the first timedelta has nanoseconds (10ns) in our example
  • Use components to see all time unit breakdowns together

Conclusion

The TimedeltaIndex.nanoseconds property extracts just the nanosecond component from each timedelta element. Use components to view all time units together for better analysis.

Updated on: 2026-03-26T17:40:17+05:30

176 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements