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.