اذهب إلى المحتوى

السؤال

نشر

لدي بيانات تحتوى على التاريخ كالتالي:

import pandas as pd

data = {'start_date': [pd.Timestamp('2021-01-24 13:03:12.050000'), pd.Timestamp('2021-01-27 11:57:18.240000'), pd.Timestamp('2021-01-23 10:07:47.660000')],
        'end_date': [pd.Timestamp('2021-01-26 23:41:21.870000'), pd.Timestamp('2021-01-27 15:38:22.540000'), pd.Timestamp('2021-01-23 18:50:41.420000')]}

df = pd.DataFrame(data)

قمت بعمل عمود لحساب الفرق بين تاريخين كالتالي:

df['diff'] = df['end_date'] - df['start_date']

لكنة يظهر لي خانة تدعى "days" عندما يكون الفرق بين التاريخين أكبر من 24 ساعة:

          start_date            end_ date             diff
0 2021-01-24 13:03:12.050 2021-01-26 23:41:21.870 2 days 10:38:09.820000
1 2021-01-27 11:57:18.240 2021-01-27 15:38:22.540 0 days 03:41:04.300000
2 2021-01-23 10:07:47.660 2021-01-23 18:50:41.420 0 days 08:42:53.760000

كيف يمكنني حساب الفرق بين الأيام دون ظهور العمود days، بحيث يكون الفرق فقط في شكل ساعات ودقائق؟

Recommended Posts

  • 0
نشر

يمكنك استخدام as_type لتغيير شكل الخرج "الفرق" للشكل الذي تريده ببساطة كالتالي:

import pandas
df = pandas.DataFrame(columns=['start_date','end_date','ans'])
df.start_date = [pandas.Timestamp('2021-01-24 13:03:12.050000'), pandas.Timestamp('2021-01-27 11:57:18.240000'), pandas.Timestamp('2021-01-23 10:07:47.660000')]
df.end_date = [pandas.Timestamp('2021-01-26 23:41:21.870000'), pandas.Timestamp('2021-01-27 15:38:22.540000'), pandas.Timestamp('2021-01-23 18:50:41.420000')]
(df.end_date-df.start_date).astype('timedelta64[h]')

وتكون الإجابة على الشكل التالي:

0    58
1     3
2     8
dtype: float64

لاحظ أنه لا وجود للعمود days وانما تم تحويلها الى ساعات.

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...