Nanosekunden aus pandas.Timedelta-Objekt erhalten

English Deutsch

Wenn du ein pandas.Timedelta-Objekt hast, kannst du Timedelta.total_seconds() verwenden, um die Sekunden als Gleitkommazahl mit Nanosekunden-Auflösung zu erhalten und dann mit einer Milliarde (1e9, die Anzahl der Nanosekunden in einer Sekunde) zu multiplizieren, um die Anzahl der Nanosekunden im Timedelta zu erhalten:

timedelta_get_nanoseconds.py
timedelta.total_seconds() * 1e9

Falls du einen Integer möchtest, verwende

timedelta_nanoseconds_int.py
int(round(timedelta.total_seconds() * 1e9))

Beachte, dass die Verwendung von round() hier erforderlich ist, um Fehler aufgrund der Gleitkommagenauigkeit zu vermeiden.

oder verwende diese Funktionsdefinition:

nanoseconds_from_timedelta.py
def nanoseconds_from_timedelta(timedelta):
    """Berechnet die Nanosekunden in einem Timedelta als Gleitkommazahl"""
    return timedelta.total_seconds() * 1e9

def nanoseconds_from_timedelta_integer(timedelta):
    """Berechnet die Nanosekunden in einem Timedelta als Integer"""
    return int(round(timedelta.total_seconds() * 1e9))

# Verwendungsbeispiel:
ns = nanoseconds_from_timedelta(timedelta)
print(ns) # Gibt 2000751999.9999998 aus

ns = nanoseconds_from_timedelta_integer(timedelta)
print(ns) # Gibt 2000752000 aus

Check out similar posts by category: Pandas, Python