الباندا: كيفية تحويل الفهرس إلى التاريخ/الوقت
يمكنك استخدام بناء الجملة التالي لتحويل عمود فهرس لـ pandas DataFrame إلى تنسيق التاريخ والوقت:
df. index = pd. to_datetime ( df.index )
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
مثال: تحويل عمود الفهرس إلى Datetime في Pandas
لنفترض أن لدينا DataFrame الباندا التالية التي تحتوي على معلومات حول مبيعات المنتجات في المتجر:
import pandas as pd #createDataFrame df = pd. DataFrame ({' time ': ['4-15-2022 10:15', '5-19-2022 7:14', '8-01-2022 1:14', '6-14-2022 9:45', '10-24-2022 2:58', '12-13-2022 11:03'], ' product ': ['A', 'B', 'C', 'D', 'E', 'F'], ' sales ': [12, 25, 23, 18, 14, 10]}) #set 'time' column as index df = df. set_index (' time ') #view DataFrame print (df) product sales time 4-15-2022 10:15 A 12 5-19-2022 7:14 B 25 8-01-2022 1:14 C 23 6-14-2022 9:45 D 18 10-24-2022 2:58 E 14 12-13-2022 11:03 F 10
لنفترض الآن أننا نحاول إنشاء عمود جديد يحتوي على الوقت في عمود الفهرس:
#attempt to create new column that contains hour of index column
df[' hour '] = df. index . hour
AttributeError: 'Index' object has no attribute 'hour'
لقد نتلقى خطأً لأن عمود الفهرس ليس بتنسيق التاريخ والوقت حاليًا، وبالتالي لا يحتوي على سمة “الوقت”.
لتجنب هذا الخطأ، يمكننا استخدام الدالة pandas to_datetime() لتحويل عمود الفهرس إلى تنسيق التاريخ والوقت:
#convert index column to datetime format
df. index = pd. to_datetime ( df.index )
#create new column that contains hour of index column
df[' hour '] = df. index . hour
#view updated DataFrame
print (df)
product sales hour
time
2022-04-15 10:15:00 At 12 10
2022-05-19 07:14:00 B 25 7
2022-08-01 01:14:00 C 23 1
2022-06-14 09:45:00 D 18 9
2022-10-24 02:58:00 E 14 2
2022-12-13 11:03:00 F 10 11
باستخدام الدالة to_datetime() يمكننا تحويل عمود الفهرس إلى تنسيق التاريخ والوقت.
لذلك، تمكنا بنجاح من إنشاء عمود جديد يسمى الوقت والذي يحتوي على الوقت بالساعة في عمود الفهرس دون تلقي أي خطأ.
ملاحظة : يمكنك العثور على الوثائق الكاملة لوظيفة pandas to_datetime() هنا .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في الباندا:
كيفية إنشاء نطاق زمني في الباندا
كيفية تحويل الطابع الزمني إلى التاريخ/الوقت في Pandas
كيفية حساب الفرق بين تاريخين في الباندا