English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
مثال على عمليات 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
باستخدام 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