ستجد حلا: تحويل عمود تاريخ الميلاد إلى عمر الباندا

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

Pandas هي أداة متعددة الاستخدامات تتضمن غالبًا العمل مع كائنات DateTime - وهذا هو الحال عند التعامل مع تواريخ الميلاد. تتطلب الخطوة الأولى لتحويل تواريخ الميلاد إلى عمر عملية حسابية بسيطة باستخدام مكتبة DateTime. سيمكننا ذلك من العثور على عمر الأفراد من خلال حساب الفرق بين تاريخ ميلادهم والتاريخ الحالي.

لنبدأ باستيراد المكتبات الضرورية:

import pandas as pd
from datetime import datetime

بعد ذلك ، ضع في اعتبارك مجموعة بيانات بسيطة تحتوي على البيانات التالية حول الأفراد:

data = {'Name': ['John', 'Paul', 'George', 'Ringo'],
        'Birth_Date': ['1940-10-09', '1942-06-18', '1943-02-25', '1940-07-07']
       }

df = pd.DataFrame(data)
df['Birth_Date'] = pd.to_datetime(df['Birth_Date'])

في الكود أعلاه ، نقوم بتحويل عمود "تاريخ الميلاد" إلى كائنات التاريخ والوقت.

حساب العمر

الآن ، نحن جاهزون لحساب أعمار هؤلاء الأفراد من خلال إيجاد الفرق بين تاريخ ميلادهم والتاريخ الحالي. لكي تفعل هذا، اتبع هذه الخطوات:

1. قم بإنشاء دالة تسمى "calculate_age" والتي تأخذ تاريخ الميلاد كمدخل وتعيد عمر الشخص.
2. قم بتطبيق هذه الوظيفة على عمود "Birth_Date" في DataFrame.

إليك الكود لتنفيذ المنطق أعلاه:

def calculate_age(birth_date):
    today = datetime.now()
    age = today.year - birth_date.year - ((today.month, today.day) <
                                          (birth_date.month, birth_date.day))
    return age

df['Age'] = df['Birth_Date'].apply(calculate_age)

في مقتطف الشفرة هذا ، أنشأنا دالة تسمى "calculate_age" التي تتلقى تاريخ الميلاد كمدخلات ، وتحسب التاريخ الحالي باستخدام datetime.now () ، وتحسب عمر الشخص عن طريق طرح سنة ميلاده من السنة الحالية. إذا كان تاريخ الميلاد لم يحدث هذا العام، نطرح سنة إضافية.

أخيرًا ، نطبق هذه الوظيفة على عمود "تاريخ الميلاد" باستخدام طريقة application () ، ويتم تخزين الأعمار المحسوبة في عمود "Age" جديد في DataFrame.

استخدام Numpy و Pandas لحساب العمر

بدلاً من ذلك ، يمكننا الاستفادة من مكتبة numpy القوية مع الباندا لهذه المهمة. لتحويل تواريخ الميلاد إلى أعمار باستخدام numpy ، اتبع الخطوات التالية:

1. استيراد مكتبة numpy.
2. استخدم وظيفة "أرضية" لحساب العمر.

فيما يلي مثال على كيفية القيام بذلك:

import numpy as np

df['Age'] = np.floor((datetime.now() - df['Birth_Date']).dt.days / 365.25)

يستخدم هذا الكود وظيفة "الأرضية" في numpy لتقريب نتيجة قسمة الفاصلة العائمة لـ عدد الأيام منذ تاريخ الميلاد بمقدار 365.25 (مع مراعاة السنوات الكبيسة).

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

الوظائف ذات الصلة:

اترك تعليق