Das Subtrahieren von Zeilen durch Pandas führt zu einem falschen Ergebnis

Kredizian

Mein Pandas-Datenrahmen besteht aus einer Spalte "timeStamp", deren Elemente vom Typ datetime.datetime sind. Ich versuche, die Differenz zwischen zwei aufeinander folgenden Zeilen dieser Spalte zu ermitteln, um die in Sekunden verbrachte Zeit zu ermitteln. Ich benutze den folgenden Code dafür.

df["Time"] = df["timeStamp"].diff(0).dt.total_seconds()

Im Allgemeinen funktioniert es einwandfrei, aber ich erhalte aufgrund dieser Operation in einigen Fällen immer wieder 0.0, auch wenn dies nicht der Fall ist.

Beispielwerte, die zu 0.0 führen:

import pandas as pd
import datetime
import numpy as np

df = pd.DataFrame({'S.No.': [1, 2, 3, 4], 'ABC': [datetime.datetime(2019,2,25,11,49,50), datetime.datetime(2019,2,25,11,50,0),datetime.datetime(2019,2,25,11,50,7),datetime.datetime(2019,2,25,11,50,12)]})

df["Time"] = df["ABC"].diff(0).dt.seconds

print df

Hinweis: Verwenden von Python2.7

anky

Versuche dies:

print(df["timestamp"].diff().fillna(0).dt.seconds)

0     0
1    10
2     7
3     5

df['difference']=df["timestamp"].diff().fillna(0).dt.seconds
print(df)

            timestamp  difference
0 2019-02-25 11:49:50           0
1 2019-02-25 11:50:00          10
2 2019-02-25 11:50:07           7
3 2019-02-25 11:50:12           5

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

Der Versuch, einen Wert von der Funktion TODAY () zu subtrahieren, führt zu einem falschen Ergebnis

Dart - Das Subtrahieren einiger Doppelwerte führt zu einem falschen Ergebnis

Das Subtrahieren von zwei IPv6-Adressen führt zu einem falschen Wert

Das Teilen einer großen Zahl durch 10 in Python führt zu einem falschen Ergebnis

Das Abrufen von High / Low Byte von ushort führt zu einem falschen Ergebnis

Python: Der Aufruf von list () für das Generatorobjekt führt zu einem falschen Ergebnis

c #: Das Hinzufügen von zwei großen Ganzzahlen führt zu einem falschen Ergebnis

Das Arbeiten mit dem Speicher zum Abrufen von Zeichenfolgen führt zu einem falschen Ergebnis

Das Konvertieren von String in DateTime führt zu einem falschen Ergebnis

Das unvorhersehbare Drehen von SDL_Surface führt zu einem falschen Ergebnis

Das Multiplizieren von zwei großen ganzzahligen Werten führt zu einem falschen Ergebnis

Warum führt das folgende Schleifenabrollen zu einem falschen Ergebnis?

Das Dekodieren von Base64 in C # führt manchmal zu einem falschen Ergebnis mit einem zusätzlichen Füllzeichen

Das Abrufen des Farbtonwerts (HSV / HSB) von RGB mit Emgu C # führt zu einem falschen Ergebnis

Blender 2.8 Python, das Teilen des Objekts in zwei Hälften unter Verwendung von Halbierung führt zu einem falschen Ergebnis

Das Umreißen eines Objekts mit einem Schablonenpuffer führt zu einem falschen Ergebnis

Das Hinzufügen einer Partition zu einer vorhandenen Tabelle in MySQL führt zu einem falschen Ergebnis

Warum führt das Subtrahieren dieser beiden Male (1927) zu einem seltsamen Ergebnis?

Das Subtrahieren von zwei uint32_t-Variablen führt zu einer Art übergelaufenem Ergebnis?

Das Überprüfen eines Datums zwischen zwei Daten führt zu einem falschen Ergebnis

Das Hinzufügen des: vor der Variablen führt zu einem falschen Ergebnis

Das Instrumentieren der Java-String-Objektgröße führt zu einem falschen Ergebnis

python-crontab: Das Finden vorhandener Cron-Jobs führt zu einem falschen Ergebnis

Das Konvertieren einer for-Schleife in ein Listenverständnis führt zu einem falschen Ergebnis

Das Hinzufügen der Uhrzeit zum Kalenderdatum unter Linux führt zu einem falschen Ergebnis

Das Plotten einer Funktion mit einer Summation führt zu einem falschen Ergebnis

Das Iterieren über Zeilen in einer Datei führt zu einer falschen Anzahl von Zeilen

Das Lesen von JSON-Dateien von s3 zum Kleben von pyspark mit glueContext.read.json führt zu einem falschen Ergebnis

Der Vergleich von 2 gleichen Dezimalzahlen führt jedoch zu einem falschen Ergebnis