تحويل سلسلة DateTimes إلى كائنات وقت بايثون

Python

التعامل مع سلاسل التاريخ والوقت في بيثون

عند العمل مع مجموعات بيانات كبيرة، من الشائع أن تواجه معلومات التاريخ والوقت المخزنة كسلاسل. يعد تحويل تمثيلات السلسلة هذه إلى كائنات وقت وتاريخ Python أمرًا ضروريًا لإجراء أي معالجة أو تحليل للتاريخ والوقت. هذه المهمة واضحة ومباشرة باستخدام مكتبات Python المضمنة، والتي توفر طرقًا فعالة لتحليل وتحويل سلاسل التاريخ والوقت.

في هذه المقالة، سنستكشف كيفية تحويل سلاسل التاريخ والوقت، مثل "1 يونيو 2005 الساعة 1:33 مساءً" و"28 أغسطس 1999 الساعة 12:00 صباحًا،" إلى كائنات وقت وتاريخ في Python. تعتبر هذه العملية ضرورية لضمان أن بيانات التاريخ والوقت بتنسيق يمكن معالجته وتحليله بسهولة. دعونا نتعمق في الأساليب وأفضل الممارسات لتحقيق هذا التحويل.

يأمر وصف
datetime.strptime() يوزع سلسلة إلى كائن وقت وتاريخ بناءً على تنسيق محدد.
map() تطبيق دالة على كافة العناصر الموجودة في قائمة الإدخال.
lambda ينشئ وظيفة مجهولة للاستخدام على المدى القصير.
pd.Series() ينشئ كائنًا يشبه المصفوفة أحادي البعد من قائمة في الباندا.
pd.to_datetime() يحول الوسيطة إلى وقت التاريخ في الباندا، اختياريًا باستخدام تنسيق محدد.
append() لإضافة عنصر إلى نهاية القائمة.

فهم عملية التحويل

في النص الأول، نستخدم لغة بايثون المدمجة وحدة لتحويل سلاسل التاريخ والوقت إلى أشياء. ال يتم استخدام الدالة لتحليل سلسلة بناءً على تنسيق محدد. وهنا نحدد التنسيق كما يلي: "%b %d %Y %I:%M%p"، والذي يتوافق مع سلاسل التاريخ والوقت المحددة. ال تتكرر الحلقة على كل سلسلة تاريخ/وقت في القائمة، وتحولها إلى ملف الكائن، وإلحاقه بـ قائمة. يعد هذا النهج مباشرًا ومثاليًا للسيناريوهات التي تكون فيها سهولة القراءة والبساطة أمرًا بالغ الأهمية.

يعرض النص الثاني طريقة أكثر إيجازًا باستخدام و ال وظيفة. وهنا نمر أ وظيفة ل map()، الذي ينطبق لكل عنصر في قائمة. تتميز هذه الطريقة بالكفاءة وتقلل من إسهاب التعليمات البرمجية، مما يجعلها خيارًا ممتازًا للمطورين الأكثر خبرة الذين يبحثون عن حل موجز. يحقق كلا البرنامجين نفس الهدف: تحويل سلاسل التاريخ والوقت إلى الكائنات، ولكنها تقدم أنماطًا مختلفة تناسب تفضيلات البرمجة المختلفة.

الاستفادة من الباندا لتحويل DateTime

في النص الثالث، نستخدم مكتبة ذات كفاءة عالية في التعامل مع مجموعات البيانات الكبيرة. نبدأ بإنشاء من قائمة سلاسل التاريخ والوقت. ال pd.to_datetime() ثم يتم استخدام الدالة لتحويل ل أشياء. تعتبر هذه الطريقة فعالة بشكل خاص عند التعامل مع البيانات الشاملة، مثل يقدم العديد من الوظائف لمعالجة البيانات وتحليلها.

استخدام يبسط عملية معالجة وتحويل بيانات التاريخ والوقت، خاصة عند العمل مع إطارات البيانات. ال تتميز الوظيفة بأنها متعددة الاستخدامات ويمكنها التعامل مع تنسيقات التاريخ والوقت المختلفة، مما يجعلها أداة قوية لعلماء البيانات ومحلليها. بشكل عام، توضح البرامج النصية الثلاثة طرقًا مختلفة لتحويل سلاسل التاريخ والوقت إلى كائنات في بايثون، تلبي مختلف الاحتياجات ومستويات الخبرة.

تحويل سلاسل التاريخ إلى كائنات وقت بايثون

بايثون مع وحدة التاريخ والوقت

from datetime import datetime

date_strings = ["Jun 1 2005 1:33PM", "Aug 28 1999 12:00AM"]
datetime_objects = []

for date_str in date_strings:
    dt_obj = datetime.strptime(date_str, "%b %d %Y %I:%M%p")
    datetime_objects.append(dt_obj)

print(datetime_objects)

تحليل سلاسل DateTime بكفاءة في بايثون

بايثون مع فهم القائمة والخريطة

from datetime import datetime

date_strings = ["Jun 1 2005 1:33PM", "Aug 28 1999 12:00AM"]

datetime_objects = list(map(lambda x: datetime.strptime(x, "%b %d %Y %I:%M%p"), date_strings))

print(datetime_objects)




تحويل سلاسل التاريخ إلى كائنات التاريخ في بيثون

بايثون مع مكتبة الباندا

import pandas as pd

date_strings = ["Jun 1 2005 1:33PM", "Aug 28 1999 12:00AM"]
date_series = pd.Series(date_strings)

datetime_objects = pd.to_datetime(date_series, format="%b %d %Y %I:%M%p")

print(datetime_objects)



استكشاف تقنيات تحليل التاريخ البديلة

جانب آخر مهم لتحويل سلاسل التاريخ والوقت إلى كائنات التاريخ والوقت هو التعامل مع تنسيقات التاريخ والوقت المختلفة التي قد تظهر في مجموعة البيانات الخاصة بك. في كثير من الأحيان، قد لا تتوافق البيانات الواردة من مصادر مختلفة مع تنسيق واحد، مما يتطلب أساليب تحليل أكثر مرونة. إحدى هذه الطرق هي استخدام الوحدة النمطية، والتي يمكنها تحليل مجموعة متنوعة من تنسيقات التاريخ دون الحاجة إلى تحديد التنسيق بشكل صريح. يمكن أن يكون هذا مفيدًا بشكل خاص عند التعامل مع مصادر بيانات متنوعة أو غير متناسقة.

باستخدام تعمل الوظيفة على تبسيط عملية التحويل عن طريق الكشف تلقائيًا عن تنسيق التاريخ. يقلل هذا الأسلوب من الحاجة إلى سلاسل تنسيق محددة مسبقًا ويقلل من الأخطاء المحتملة. بالإضافة إلى ذلك، بالنسبة لمجموعات البيانات الأكثر تعقيدًا، يمكنك دمج هذه الطريقة مع تقنيات معالجة الأخطاء لضمان معالجة بيانات قوية وموثوقة. من خلال استكشاف تقنيات التحليل البديلة هذه، يمكن للمطورين إنشاء برامج نصية لتحويل التاريخ والوقت أكثر تنوعًا ومرونة تلبي نطاقًا أوسع من سيناريوهات البيانات.

  1. كيف أتعامل مع تنسيقات التاريخ المختلفة في نفس القائمة؟
  2. يمكنك استخدام ال وظيفة للكشف عن تنسيقات التاريخ المختلفة وتحليلها تلقائيًا.
  3. ماذا لو واجهت تنسيق تاريخ غير صالح في القائمة؟
  4. استخدم كتل المحاولة باستثناء تعليمات التحليل البرمجية الخاصة بك لالتقاط ومعالجة الاستثناءات الخاصة بالتنسيقات غير الصالحة.
  5. هل يمكنني تحويل التواريخ مع المناطق الزمنية؟
  6. نعم يمكن التعامل مع سلاسل التاريخ والوقت مع معلومات المنطقة الزمنية.
  7. كيف يمكنني تحويل كائن التاريخ والوقت مرة أخرى إلى سلسلة؟
  8. استخدم ال طريقة لتنسيق كائن التاريخ والوقت كسلسلة.
  9. هل هناك طريقة لتسريع تحليل قوائم كبيرة من سلاسل التاريخ والوقت؟
  10. فكر في استخدام العمليات الموجهة مع للمعالجة الفعالة لمجموعات البيانات الكبيرة.
  11. هل يمكنني التعامل مع تنسيقات التاريخ المترجمة؟
  12. نعم، حدد اللغة في وظيفة التحليل أو استخدم مكتبات خاصة بالإعدادات المحلية للتعامل مع تنسيقات التاريخ المترجمة.
  13. ماذا لو كانت سلاسل التاريخ الخاصة بي تحتوي على نص إضافي؟
  14. قم باستخراج جزء التاريخ باستخدام التعبيرات العادية قبل التحليل.
  15. كيف يمكنني التعامل مع التواريخ بفواصل مختلفة؟
  16. ال مرن مع الفواصل ويمكنه التعامل مع المحددات المختلفة.
  17. هل يمكنني تحليل التواريخ ذات المكونات المفقودة؟
  18. نعم يمكن استنتاج المكونات المفقودة مثل العام الحالي إذا لم يتم توفيرها.

الأفكار الختامية حول تحويل التاريخ والوقت

باختصار، يمكن تحويل سلاسل التاريخ والوقت إلى كائنات التاريخ والوقت في بايثون بكفاءة باستخدام أساليب مختلفة مثل وحدة التاريخ والوقت، وفهم القائمة، ومكتبة الباندا. توفر كل طريقة مزايا فريدة اعتمادًا على مدى تعقيد مجموعة البيانات وحجمها. ومن خلال فهم هذه التقنيات واستخدامها، يمكن للمطورين ضمان معالجة دقيقة وفعالة للتاريخ والوقت، وهو أمر بالغ الأهمية لتحليل البيانات ومهام المعالجة.