נפתרה: המרת עמודת תאריך לידה לפנדות גיל

בעולם של היום, ניתוח נתונים הפך להיות חשוב יותר ויותר, ואחד הכלים הפופולריים ביותר שבהם משתמשים מנתחי נתונים ומדעני נתונים הוא 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'])

בקוד לעיל, אנו ממירים את העמודה 'Birth_Date' לאובייקטים DateTime.

חישוב גיל

כעת, אנו מוכנים לחשב את הגילאים של אנשים אלה על ידי מציאת ההבדל בין תאריך הלידה שלהם לתאריך הנוכחי. לשם כך, בצע את השלבים הבאים:

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(), ומחשבת את גילו של האדם על ידי הפחתת שנת הלידה שלו מהשנה הנוכחית. אם שלהם תאריך הלידה לא התרחש השנה, אנו מפחיתים שנה נוספת.

לבסוף, אנו מיישמים פונקציה זו על העמודה 'Birth_Date' באמצעות שיטת application() והגילאים המחושבים מאוחסנים בעמודה 'Age' חדשה ב-DataFrame.

שימוש ב-Numpy ו-Pandas לחישוב גיל

לחלופין, אנו יכולים לעשות שימוש בספריית numpy רבת עוצמה בשילוב עם פנדות למשימה זו. כדי להמיר את תאריכי הלידה לגילאים באמצעות numpy, בצע את השלבים הבאים:

1. ייבא את ספריית numpy.
2. השתמש בפונקציית 'קומה' numpy כדי לחשב את הגיל.

הנה דוגמה כיצד לעשות זאת:

import numpy as np

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

קוד זה משתמש בפונקציית 'קומה' של numpy כדי לעגל למטה את תוצאת חלוקת הנקודה הצפה של מספר ימים מאז תאריך הלידה עד 365.25 (בהתחשב בשנים מעוברות).

לסיכום, על ידי מינוף ספריות כמו פנדות ותאריך תאריך או פנדה ו-numpy, זה הופך חלק להמיר עמודות תאריך לידה לגיל בתוך מערך נתונים. ביצוע השלבים המפורטים והבנת הקוד המסופק במאמר זה יחמש אותך בידע לתמרן נתונים כאלה ולבצע ניתוח יעיל ומדויק יותר.

הודעות קשורות:

השאירו תגובה