English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Beispiel für Operationen mit Pandas Timedelta
Zeitsteigerung ist die Zeitdifferenz, in der Differenzeneinheit ausgedrückt, z.B. Tag, Stunde, Minute, Sekunde. Sie können sowohl positiv als auch negativ sein.
Durch Übergeben eines Zeichenkettentextes können wir ein timedelta-Objekt erstellen.
Wir können Timedelta-Objekte mit verschiedenen Parametern erstellen, wie z.B.-
import pandas as pd print(pd.Timedelta('2 days 2 Stunden 15 Minuten 30 Sekunden'))
The running results are as follows:
2 Tage 02:15:30
Durch Übergeben eines整数值 für die Einheit wird ein Timedelta-Objekt erstellt.
import pandas as pd print(pd.Timedelta(6,unit='h'))
The running results are as follows:
0 Tage 06:00:00
Datenabstand (z.B.-Woche, Tag, Stunde, Minute, Sekunde, Millisekunde, Mikrosekunde, Nanosekunde) können auch bei der Konstruktion verwendet werden.
import pandas as pd print(pd.Timedelta(days=2))
The running results are as follows:
2 days 00:00:00
Verwenden Sie pd.to_timedelta, um Skalare, Arrays, Listen oder Sequenzen aus anerkannten timedelta-Formaten/Der Wert wird in den Typ Timedelta umgewandelt. Wenn der Eingang eine Series ist, wird eine Series konstruiert; wenn der Eingang ein Skalar ist, wird ein Skalar konstruiert; sonst wird ein TimedeltaIndex ausgegeben.
import pandas as pd print(pd.Timedelta(days=2))
The running results are as follows:
2 days 00:00:00
You can operate on Series / DataFrame operations, and by comparing datetime64 [ns] Series or Timestamps to perform subtraction operations to construct timedelta64 [ns] Series .
Now let's create a DataFrame with Timedelta and datetime objects and perform some arithmetic operations on it-
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)
The running results are as follows:
A B 0 2012-01-01 0 days 1 2012-01-02 1 days 2 2012-01-03 2 days
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)
The running results are as follows:
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
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)
The running results are as follows:
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