English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Timedelta في Pandas

مثال على عمليات Pandas Timedelta

زيادة الوقت هي الفرق في الوقت، مكتوبة بالوحدة الديناميكية، مثل، يوم، ساعة، دقيقة، ثانية. يمكن أن تكون إيجابية أو سلبية.

من خلال إرسال نص مكتوب، يمكننا إنشاء Timedelta object.

النص

يمكننا إنشاء Timedelta object باستخدام مجموعة متنوعة من المعلمات، مثلما هو موضح أدناه-

import pandas as pd
print(pd.Timedelta('2 days 2 hours 15 minutes 30 seconds'))

النتيجة التالية:

 2 يوم 02:15:30

العدد

من خلال إرسال قيمة صحيحة كاملة، سيتم إنشاء Timedelta object.

import pandas as pd
print(pd.Timedelta(6,unit='h'))

النتيجة التالية:

 0 يوم 06:00:00

إزاحة البيانات

يمكن استخدام إزاحة البيانات (مثل -أسبوع، يوم، ساعة، دقيقة، ثانية، ميللي ثانية، ميكرو ثانية، نانو ثانية) أيضًا في بناء.

import pandas as pd
print(pd.Timedelta(days=2))

النتيجة التالية:

2 يوم 00:00:00

to_timedelta()

باستخدام pd.to_timedelta، يمكنك تحويل المقياس، المجموعات، القوائم أو المجموعات من صيغة أو قيمة timedelta المعروفة إلى نوع Timedelta. إذا كان الإدخال Series، فإنه سيتم بناء Series؛ إذا كان المقياس، فإنه سيتم بناء مقياس؛ وإلا، سيتم إرجاع TimedeltaIndex.

import pandas as pd
print(pd.Timedelta(days=2))

النتيجة التالية:

2 يوم 00:00:00

التحركات المحددة

يمكنك عمل عمليات على Series / DataFrame من خلال تنفيذ عمليات الحساب على Series أو Timestamps من نوع datetime64 [ns] أو Timestamps لإنشاء Series أو Timedelta64 [ns] .
الآن دعونا نخلق DataFrame يحتوي على Timedelta وdatetime ونقوم ببعض العمليات الحسابية-

 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)

النتيجة التالية:

          A      B
0  2012-01-01 0 يوم
1  2012-01-02 1 يوم
2  2012-01-03 2 يوم

العمليات الحسابية الإضافية

 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)

النتيجة التالية:

         A          B                C
0 2012-01-01 0 أيام 2012-01-01
1 2012-01-02 1 يوم 2012-01-03
2 2012-01-03 2 أيام 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)

النتيجة التالية:

         A          B                C                D
0 2012-01-01 0 أيام 2012-01-01 2012-01-01
1 2012-01-02 1 يوم 2012-01-03 2012-01-04
2 2012-01-03 2 أيام 2012-01-05 2012-01-07