Millisekunden 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 Millisekunden-Auflösung zu erhalten und dann mit tausend (1e3, die Anzahl der Millisekunden in einer Sekunde) zu multiplizieren, um die Anzahl der Millisekunden im Timedelta zu erhalten:

timedelta_get_milliseconds.py
timedelta.total_seconds() * 1e3

Falls du einen Integer möchtest, verwende

timedelta_milliseconds_int.py
int(round(timedelta.total_seconds() * 1e3))

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

oder verwende diese Funktionsdefinition:

milliseconds_from_timedelta.py
def milliseconds_from_timedelta(timedelta):
    """Berechnet die Millisekunden in einem Timedelta als Gleitkommazahl"""
    return timedelta.total_seconds() * 1e3

def milliseconds_from_timedelta_integer(timedelta):
    """Berechnet die Millisekunden in einem Timedelta als Integer"""
    return int(round(timedelta.total_seconds() * 1e3))

# Verwendungsbeispiel:
ms = milliseconds_from_timedelta(timedelta)
print(ms) # Gibt 2000.752 aus
ms = milliseconds_from_timedelta_integer(timedelta)
print(ms) # Gibt 2001 aus

Check out similar posts by category: Pandas, Python