Løst: konverter fødselsdatokolonnen til alderspandaer

I dagens verden har dataanalyse blitt stadig viktigere, og et av de mest populære verktøyene som brukes av dataanalytikere og dataforskere er Python med pandasbiblioteket. Pandas er et kraftig, åpen kildekode-dataanalyse- og manipulasjonsverktøy som gjør det enkelt å manipulere datastrukturer og serier. Et vanlig problem som brukere støter på, er å konvertere fødselsdatoer til alder for mer nøyaktig og praktisk analyse. I denne artikkelen vil vi fordype oss i hvordan du kan takle dette problemet med klare eksempler og forklaringer på kodeimplementeringen.

Pandas er et allsidig verktøy som ofte involverer arbeid med DateTime-objekter – dette er tilfellet når man arbeider med fødselsdatoer. Det første trinnet for å konvertere fødselsdatoer til alder krever enkel aritmetikk med DateTime-biblioteket. Dette vil gjøre oss i stand til å finne alderen på individer ved å beregne forskjellen mellom fødselsdatoen deres og gjeldende dato.

La oss starte med å importere de nødvendige bibliotekene:

import pandas as pd
from datetime import datetime

Deretter bør du vurdere et enkelt datasett som inneholder følgende data om enkeltpersoner:

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 ovenfor konverterer vi 'Birth_Date'-kolonnen til DateTime-objekter.

Beregner alder

Nå er vi klare til å beregne alderen til disse individene ved å finne forskjellen mellom deres fødselsdato og gjeldende dato. For å gjøre dette, følg disse trinnene:

1. Lag en funksjon kalt 'beregn_alder' som tar en fødselsdato som input og returnerer personens alder.
2. Bruk denne funksjonen på 'Birth_Date'-kolonnen i DataFrame.

Her er koden for å implementere logikken ovenfor:

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 denne kodebiten laget vi en funksjon kalt 'calculate_age' som mottar en fødselsdato som input, beregner gjeldende dato ved å bruke datetime.now(), og beregner personens alder ved å trekke fødselsåret fra det gjeldende året. Hvis deres fødselsdato har ikke funnet sted i år, trekker vi fra et ekstra år.

Til slutt bruker vi denne funksjonen på 'Birth_Date'-kolonnen ved å bruke application()-metoden, og de beregnede alderen lagres i en ny 'Age'-kolonne i DataFrame.

Bruke Numpy og Pandas for aldersberegning

Alternativt kan vi bruke det kraftige numpy-biblioteket i kombinasjon med pandaer for denne oppgaven. Følg disse trinnene for å konvertere fødselsdatoene til aldre ved å bruke numpy:

1. Importer numpy-biblioteket.
2. Bruk den numpy 'gulv'-funksjonen for å beregne alderen.

Her er et eksempel på hvordan du gjør dette:

import numpy as np

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

Denne koden bruker numpys 'gulv'-funksjon for å runde ned flyttallsdivisjonsresultatet til antall dager siden fødselsdatoen med 365.25 (hensyntatt skuddår).

Oppsummert, ved å utnytte biblioteker som pandaer og datetime eller pandaer og numpy, blir det sømløst å konvertere fødselsdatokolonner til alder i et datasett. Å følge de forklarte trinnene og forstå koden som er gitt i denne artikkelen, vil gi deg kunnskapen til å manipulere slike data og utføre en mer effektiv og nøyaktig analyse.

Relaterte innlegg:

Legg igjen en kommentar