Löst: konvertera kolumnen födelsedatum till åldrande pandor

I dagens värld har dataanalys blivit allt viktigare, och ett av de mest populära verktygen som används av dataanalytiker och dataforskare är Python med pandasbiblioteket. Pandas är ett kraftfullt verktyg för dataanalys och manipulering med öppen källkod som möjliggör enkel manipulering av datastrukturer och serier. Ett vanligt problem som användare stöter på är att konvertera födelsedatum till åldrar för mer exakt och praktisk analys. I den här artikeln kommer vi att fördjupa oss i hur man tacklar detta problem med tydliga exempel och förklaringar av kodimplementeringen.

Pandas är ett mångsidigt verktyg som ofta involverar arbete med DateTime-objekt – detta är fallet när det gäller födelsedatum. Det första steget för att konvertera födelsedatum till ålder kräver enkel aritmetik med DateTime-biblioteket. Detta gör det möjligt för oss att hitta individers ålder genom att beräkna skillnaden mellan deras födelsedatum och det aktuella datumet.

Låt oss börja med att importera de nödvändiga biblioteken:

import pandas as pd
from datetime import datetime

Överväg sedan en enkel datauppsättning som innehåller följande data om individer:

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'])

I koden ovan konverterar vi kolumnen 'Födelsedatum' till DateTime-objekt.

Beräknar ålder

Nu är vi redo att beräkna åldern på dessa individer genom att hitta skillnaden mellan deras födelsedatum och det aktuella datumet. För att göra detta, följ dessa steg:

1. Skapa en funktion som heter 'beräkna_ålder' som tar ett födelsedatum som indata och returnerar personens ålder.
2. Använd denna funktion på kolumnen 'Födelsedatum' i DataFrame.

Här är koden för att implementera ovanstående logik:

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)

I det här kodavsnittet skapade vi en funktion som heter 'calculate_age' som får ett födelsedatum som indata, beräknar det aktuella datumet med datetime.now() och beräknar personens ålder genom att subtrahera deras födelseår från det aktuella året. Om deras födelsedatum har inte inträffat i år, drar vi av ytterligare ett år.

Slutligen tillämpar vi den här funktionen på kolumnen 'Födelsedatum' med metoden applicera() och de beräknade åldrarna lagras i en ny kolumn 'Ålder' i DataFrame.

Använda Numpy och Pandas för åldersberäkning

Alternativt kan vi använda det kraftfulla numpy-biblioteket i kombination med pandor för denna uppgift. För att konvertera födelsedatumen till åldrar med hjälp av numpy, följ dessa steg:

1. Importera numpy-biblioteket.
2. Använd den numpy 'golv'-funktionen för att beräkna åldern.

Här är ett exempel på hur du gör detta:

import numpy as np

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

Den här koden använder numpys "golv"-funktion för att avrunda flyttalsdivisionsresultatet av antal dagar sedan födelsedatumet med 365.25 (med hänsyn till skottår).

Sammanfattningsvis, genom att utnyttja bibliotek som pandor och datetime eller pandor och numpy, blir det sömlöst att konvertera födelsedatumkolumner till ålder inom en datamängd. Genom att följa de förklarade stegen och förstå koden som tillhandahålls i den här artikeln kommer du att beväpna dig med kunskapen för att manipulera sådan data och utföra en mer effektiv och korrekt analys.

Relaterade inlägg:

Lämna en kommentar