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() * 1e9Falls 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 ausIf this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow