Ratkaistu: muunna syntymäaikasarake pandoiksi

Nykymaailmassa data-analyysistä on tullut yhä tärkeämpää, ja yksi suosituimmista data-analyytikkojen ja datatieteilijöiden käyttämistä työkaluista on Python pandakirjaston kanssa. Pandas on tehokas avoimen lähdekoodin tietojen analysointi- ja käsittelytyökalu, joka mahdollistaa tietorakenteiden ja -sarjojen helpon käsittelyn. Yksi yleinen ongelma, jonka käyttäjät kohtaavat, on syntymäpäivien muuntaminen iäksi tarkempaa ja käytännöllisempää analysointia varten. Tässä artikkelissa perehdymme siihen, miten tämä ongelma ratkaistaan ​​selkeiden esimerkkien ja koodin toteutuksen selitysten avulla.

Pandat on monipuolinen työkalu, joka sisältää usein työskentelyn DateTime-objektien kanssa – tämä on tilanne, kun käsitellään syntymäpäiviä. Ensimmäinen vaihe syntymäpäivien muuntamiseksi ikään edellyttää yksinkertaista aritmetiikkaa DateTime-kirjaston avulla. Näin voimme selvittää yksilöiden iän laskemalla heidän syntymäaikansa ja nykyisen päivämäärän välisen eron.

Aloitetaan tuomalla tarvittavat kirjastot:

import pandas as pd
from datetime import datetime

Harkitse seuraavaksi yksinkertaista tietojoukkoa, joka sisältää seuraavat tiedot henkilöistä:

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

Yllä olevassa koodissa muunnamme Birth_Date-sarakkeen DateTime-objekteiksi.

Iän laskeminen

Nyt olemme valmiita laskemaan näiden henkilöiden iät etsimällä eron heidän syntymäaikansa ja nykyisen päivämäärän välillä. Voit tehdä tämän seuraavasti:

1. Luo funktio nimeltä 'calculate_age', joka syöttää syntymäpäivän ja palauttaa henkilön iän.
2. Käytä tätä funktiota DataFramen Birth_Date-sarakkeessa.

Tässä on koodi yllä olevan logiikan toteuttamiseksi:

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)

Tässä koodinpätkässä loimme funktion nimeltä 'calculate_age', joka saa syötteenä syntymäpäivämäärän, laskee nykyisen päivämäärän käyttämällä datetime.now()-komentoa ja laskee henkilön iän vähentämällä hänen syntymävuotensa kuluvasta vuodesta. Jos heidän syntymäpäivää ei ole tänä vuonna, vähennämme lisävuoden.

Lopuksi käytämme tätä funktiota Birth_Date-sarakkeessa käyttämällä apply()-menetelmää, ja lasketut iät tallennetaan DataFrame-kehyksen uuteen 'Ikä'-sarakkeeseen.

Numpyn ja Pandan käyttäminen iän laskemiseen

Vaihtoehtoisesti voimme käyttää tähän tehtävään tehokasta numpy-kirjastoa yhdessä pantojen kanssa. Voit muuntaa syntymäpäivät iäksi numpy-toiminnolla seuraavasti:

1. Tuo numpy-kirjasto.
2. Laske ikä käyttämällä numpy-lattiafunktiota.

Tässä on esimerkki siitä, miten tämä tehdään:

import numpy as np

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

Tämä koodi käyttää numpyn "lattia"-funktiota pyöristämään alaspäin liukulukujakotulosta päivien määrä syntymäpäivästä lähtien 365.25 (karkausvuodet huomioon ottaen).

Yhteenvetona voidaan todeta, että hyödyntämällä kirjastoja, kuten pandas ja datetime tai pandas ja numpy, on saumatonta muuntaa syntymäaikasarakkeet ikään tietojoukossa. Selitettyjen vaiheiden noudattaminen ja tässä artikkelissa esitetyn koodin ymmärtäminen antaa sinulle tietoa tällaisten tietojen käsittelystä ja tehokkaamman ja tarkemman analyysin suorittamisesta.

Related viestiä:

Jätä kommentti