Opgelost: kolom geboortedatum omzetten in leeftijd panda's

In de wereld van vandaag is data-analyse steeds belangrijker geworden, en een van de meest populaire tools die worden gebruikt door data-analisten en datawetenschappers is Python met de panda-bibliotheek. Pandas is een krachtig, open-source hulpmiddel voor gegevensanalyse en -manipulatie waarmee gegevensstructuren en -reeksen eenvoudig kunnen worden gemanipuleerd. Een veelvoorkomend probleem dat gebruikers tegenkomen, is het omzetten van geboortedata in leeftijden voor een nauwkeurigere en praktischere analyse. In dit artikel gaan we dieper in op hoe we dit probleem kunnen aanpakken met duidelijke voorbeelden en uitleg van de code-implementatie.

Panda's is een veelzijdige tool waarbij vaak met DateTime-objecten wordt gewerkt - dit is het geval bij geboortedata. De eerste stap om geboortedata om te zetten in leeftijd vereist eenvoudige rekenkunde met de DateTime-bibliotheek. Dit stelt ons in staat om de leeftijd van individuen te vinden door het verschil tussen hun geboortedatum en de huidige datum te berekenen.

Laten we beginnen met het importeren van de benodigde bibliotheken:

import pandas as pd
from datetime import datetime

Overweeg vervolgens een eenvoudige dataset met de volgende gegevens over individuen:

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

In de bovenstaande code converteren we de kolom 'Birth_Date' naar DateTime-objecten.

Leeftijd berekenen

Nu zijn we klaar om de leeftijd van deze personen te berekenen door het verschil te vinden tussen hun geboortedatum en de huidige datum. Volg hiervoor deze stappen:

1. Maak een functie met de naam 'calculate_age' die een geboortedatum als invoer gebruikt en de leeftijd van de persoon retourneert.
2. Pas deze functie toe op de kolom 'Birth_Date' in het DataFrame.

Hier is de code om de bovenstaande logica te implementeren:

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)

In dit codefragment hebben we een functie gemaakt met de naam 'calculate_age' die een geboortedatum als invoer ontvangt, de huidige datum berekent met behulp van datetime.now() en de leeftijd van de persoon berekent door zijn geboortejaar af te trekken van het huidige jaar. Als hun geboortedatum is dit jaar niet gevallen, trekken we een extra jaar af.

Ten slotte passen we deze functie toe op de kolom 'Birth_Date' met behulp van de methode apply() en worden de berekende leeftijden opgeslagen in een nieuwe kolom 'Age' in het DataFrame.

Numpy en Panda's gebruiken voor leeftijdsberekening

Als alternatief kunnen we voor deze taak gebruik maken van de krachtige numpy-bibliotheek in combinatie met panda's. Volg deze stappen om de geboortedata om te zetten in leeftijden met behulp van numpy:

1. Importeer de numpy-bibliotheek.
2. Gebruik de numpy 'vloer'-functie om de leeftijd te berekenen.

Hier is een voorbeeld van hoe u dit kunt doen:

import numpy as np

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

Deze code gebruikt de 'vloer'-functie van numpy om het resultaat van de drijvende-kommadeling naar beneden af ​​te ronden aantal dagen sinds de geboortedatum met 365.25 (rekening houdend met schrikkeljaren).

Samenvattend, door gebruik te maken van bibliotheken zoals panda's en datetime of panda's en numpy, wordt het naadloos om geboortedatumkolommen om te zetten in leeftijd binnen een dataset. Door de uitgelegde stappen te volgen en de code in dit artikel te begrijpen, beschikt u over de kennis om dergelijke gegevens te manipuleren en een efficiëntere en nauwkeurigere analyse uit te voeren.

Gerelateerde berichten:

Laat een bericht achter