Lahendatud: teisenda sünnikuupäeva veerg pandade vanuseks

Tänapäeva maailmas on andmeanalüüs muutunud üha olulisemaks ning üks populaarsemaid tööriistu, mida andmeanalüütikud ja -teadlased kasutavad, on Python koos pandade raamatukoguga. Pandas on võimas avatud lähtekoodiga andmeanalüüsi ja -töötluse tööriist, mis võimaldab andmestruktuuride ja -seeriate hõlpsat manipuleerimist. Üks levinud probleem, millega kasutajad kokku puutuvad, on sünnikuupäevade teisendamine vanuseks täpsema ja praktilisema analüüsi jaoks. Selles artiklis käsitleme selgete näidete ja koodi rakendamise selgitustega, kuidas seda probleemi lahendada.

Pandad on mitmekülgne tööriist, mis hõlmab sageli tööd DateTime objektidega – see on nii sünnikuupäevade käsitlemisel. Esimene samm sünnikuupäevade vanuseks teisendamiseks nõuab DateTime teegiga lihtsat aritmeetikat. See võimaldab meil leida isikute vanuse, arvutades nende sünnikuupäeva ja praeguse kuupäeva erinevuse.

Alustame vajalike teekide importimisega:

import pandas as pd
from datetime import datetime

Järgmisena kaaluge lihtsat andmekogumit, mis sisaldab järgmisi üksikisikute andmeid.

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

Ülaltoodud koodis teisendame veeru „Birth_Date” DateTime objektideks.

Vanuse arvutamine

Nüüd oleme valmis nende inimeste vanuseid arvutama, leides erinevuse nende sünnikuupäeva ja praeguse kuupäeva vahel. Selleks toimige järgmiselt.

1. Looge funktsioon nimega 'calculate_age', mis võtab sisendiks sünnikuupäeva ja tagastab inimese vanuse.
2. Rakendage see funktsioon DataFrame'i veerule "Birth_Date".

Siin on kood ülaltoodud loogika rakendamiseks:

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)

Selle koodilõigu puhul lõime funktsiooni 'calculate_age', mis saab sisendiks sünnikuupäeva, arvutab praeguse kuupäeva kasutades datetime.now() ja arvutab inimese vanuse, lahutades tema sünniaasta jooksvast aastast. Kui nende sünnikuupäeva pole sel aastal olnud, lahutame täiendava aasta.

Lõpuks rakendame selle funktsiooni veerus 'Birth_Date', kasutades meetodit apply () ja arvutatud vanused salvestatakse DataFrame'i uude veergu "Vanus".

Numpy ja Panda kasutamine vanuse arvutamiseks

Teise võimalusena saame selle ülesande jaoks kasutada võimsat numpy raamatukogu koos pandadega. Sünnikuupäevade teisendamiseks numpy abil vanusteks toimige järgmiselt.

1. Importige numpy raamatukogu.
2. Kasutage vanuse arvutamiseks numpy 'põranda' funktsiooni.

Siin on näide selle kohta, kuidas seda teha.

import numpy as np

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

See kood kasutab numbri ujukomajagamise tulemuse allapoole ümardamiseks funktsiooni numpy 'põrand' päevade arv sünnikuupäevast 365.25 võrra (arvestades liigaastasid).

Kokkuvõttes, kasutades selliseid teeke nagu pandas ja datetime või pandas ja numpy, muutub sünnikuupäeva veergude teisendamine andmestiku vanuseks sujuvaks. Selgitatud juhiste järgimine ja selles artiklis esitatud koodi mõistmine annab teile teadmisi selliste andmetega manipuleerimiseks ning tõhusama ja täpsema analüüsi tegemiseks.

Seonduvad postitused:

Jäta kommentaar