Python Pandas - Timedelta
Zeitdeltas sind Zeitunterschiede, ausgedrückt in Differenzeinheiten, z. B. Tage, Stunden, Minuten, Sekunden. Sie können sowohl positiv als auch negativ sein.
Wir können Timedelta-Objekte mit verschiedenen Argumenten erstellen, wie unten gezeigt -
String
Durch Übergeben eines Zeichenfolgenliteral können wir ein Zeitdelta-Objekt erstellen.
import pandas as pd
print pd.Timedelta('2 days 2 hours 15 minutes 30 seconds')
Es ist output ist wie folgt -
2 days 02:15:30
Ganze Zahl
Durch Übergeben eines ganzzahligen Werts an die Einheit erstellt ein Argument ein Timedelta-Objekt.
import pandas as pd
print pd.Timedelta(6,unit='h')
Es ist output ist wie folgt -
0 days 06:00:00
Datenversätze
Datenversätze wie - Wochen, Tage, Stunden, Minuten, Sekunden, Millisekunden, Mikrosekunden, Nanosekunden können ebenfalls im Bauwesen verwendet werden.
import pandas as pd
print pd.Timedelta(days=2)
Es ist output ist wie folgt -
2 days 00:00:00
to_timedelta ()
Verwenden der obersten Ebene pd.to_timedeltakönnen Sie einen Skalar, ein Array, eine Liste oder eine Serie von einem erkannten Timedelta-Format / Wert in einen Timedelta-Typ konvertieren. Es wird eine Serie erstellt, wenn die Eingabe eine Serie ist, ein Skalar, wenn die Eingabe skalarartig ist, andernfalls wird a ausgegebenTimedeltaIndex.
import pandas as pd
print pd.Timedelta(days=2)
Es ist output ist wie folgt -
2 days 00:00:00
Operationen
Sie können Serien / DataFrames bearbeiten und konstruieren timedelta64[ns] Serie durch Subtraktionsoperationen auf datetime64[ns] Serien oder Zeitstempel.
Lassen Sie uns nun einen DataFrame mit Timedelta- und datetime-Objekten erstellen und einige arithmetische Operationen daran ausführen -
import pandas as pd
s = pd.Series(pd.date_range('2012-1-1', periods=3, freq='D'))
td = pd.Series([ pd.Timedelta(days=i) for i in range(3) ])
df = pd.DataFrame(dict(A = s, B = td))
print df
Es ist output ist wie folgt -
A B
0 2012-01-01 0 days
1 2012-01-02 1 days
2 2012-01-03 2 days
Additionsoperationen
import pandas as pd
s = pd.Series(pd.date_range('2012-1-1', periods=3, freq='D'))
td = pd.Series([ pd.Timedelta(days=i) for i in range(3) ])
df = pd.DataFrame(dict(A = s, B = td))
df['C']=df['A']+df['B']
print df
Es ist output ist wie folgt -
A B C
0 2012-01-01 0 days 2012-01-01
1 2012-01-02 1 days 2012-01-03
2 2012-01-03 2 days 2012-01-05
Subtraktionsoperation
import pandas as pd
s = pd.Series(pd.date_range('2012-1-1', periods=3, freq='D'))
td = pd.Series([ pd.Timedelta(days=i) for i in range(3) ])
df = pd.DataFrame(dict(A = s, B = td))
df['C']=df['A']+df['B']
df['D']=df['C']+df['B']
print df
Es ist output ist wie folgt -
A B C D
0 2012-01-01 0 days 2012-01-01 2012-01-01
1 2012-01-02 1 days 2012-01-03 2012-01-04
2 2012-01-03 2 days 2012-01-05 2012-01-07