Išspręsta: konvertuoti gimimo datos stulpelį į pandų amžių

Šiuolaikiniame pasaulyje duomenų analizė tampa vis svarbesnė, o vienas iš populiariausių duomenų analitikų ir duomenų mokslininkų naudojamų įrankių yra Python su pandų biblioteka. Pandas yra galingas atvirojo kodo duomenų analizės ir manipuliavimo įrankis, leidžiantis lengvai manipuliuoti duomenų struktūromis ir serijomis. Viena dažna problema, su kuria susiduria vartotojai, yra gimimo datų konvertavimas į amžių, kad būtų galima atlikti tikslesnę ir praktiškesnę analizę. Šiame straipsnyje pateiksime aiškius kodo diegimo pavyzdžius ir paaiškinimus, kaip išspręsti šią problemą.

Pandos yra universalus įrankis, kuris dažnai apima darbą su DateTime objektais – taip yra kalbant apie gimimo datas. Pirmas žingsnis norint konvertuoti gimimo datas į amžių reikalauja paprastos aritmetikos naudojant DateTime biblioteką. Tai leis mums nustatyti asmenų amžių apskaičiuojant skirtumą tarp jų gimimo datos ir dabartinės datos.

Pradėkime importuodami reikalingas bibliotekas:

import pandas as pd
from datetime import datetime

Tada apsvarstykite paprastą duomenų rinkinį, kuriame yra šie duomenys apie asmenis:

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

Aukščiau pateiktame kode stulpelį „Gimimo_data“ konvertuojame į DateTime objektus.

Amžiaus skaičiavimas

Dabar esame pasirengę apskaičiuoti šių asmenų amžių, nustatydami skirtumą tarp jų gimimo datos ir dabartinės datos. Norėdami tai padaryti, atlikite šiuos veiksmus:

1. Sukurkite funkciją, pavadintą „calculate_age“, kuri kaip įvestį paima gimimo datą ir grąžina asmens amžių.
2. Taikykite šią funkciją DataFrame stulpeliui „Gimimo_data“.

Štai kodas, skirtas aukščiau nurodytai logikai įgyvendinti:

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)

Šiame kodo fragmente sukūrėme funkciją, pavadintą „calculate_age“, kuri kaip įvestį gauna gimimo_datą, apskaičiuoja dabartinę datą naudojant datetime.now() ir apskaičiuoja asmens amžių iš einamųjų metų atimdama jo gimimo metus. Jei jų gimimo data šiais metais nebuvo, atimame papildomus metus.

Galiausiai šią funkciją pritaikome stulpelyje „Gimimo_data“ naudodami taikomąjį () metodą, o apskaičiuotas amžius išsaugomas naujame „DataFrame“ stulpelyje „Amžius“.

Numpy ir Pandas naudojimas amžiaus skaičiavimui

Arba šiai užduočiai galime panaudoti galingą numpy biblioteką kartu su pandomis. Norėdami konvertuoti gimimo datas į amžių naudodami numpy, atlikite šiuos veiksmus:

1. Importuokite numpy biblioteką.
2. Amžiui apskaičiuoti naudokite numpy „grindų“ funkciją.

Štai pavyzdys, kaip tai padaryti:

import numpy as np

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

Šiame kode naudojama numpy 'grindys' funkcija, kad suapvalintų slankiojo kablelio padalijimo rezultatą. dienų skaičius nuo gimimo datos 365.25 (atsižvelgiant į keliamuosius metus).

Apibendrinant galima pasakyti, kad naudojant tokias bibliotekas kaip pandos ir datetime arba pandos ir numpy, tampa sklandžiai konvertuoti gimimo datos stulpelius į amžių duomenų rinkinyje. Atlikę paaiškintus veiksmus ir supratę šiame straipsnyje pateiktą kodą, turėsite žinių, kaip valdyti tokius duomenis ir atlikti veiksmingesnę bei tikslesnę analizę.

Susijusios naujienos:

Palikite komentarą