Atrisināts: konvertējiet dzimšanas datuma kolonnu par pandu vecumu

Mūsdienu pasaulē datu analīze ir kļuvusi arvien svarīgāka, un viens no populārākajiem datu analītiķu un datu zinātnieku izmantotajiem rīkiem ir Python ar pandu bibliotēku. Pandas ir spēcīgs atvērtā koda datu analīzes un manipulācijas rīks, kas ļauj viegli manipulēt ar datu struktūrām un sērijām. Viena izplatīta problēma, ar ko saskaras lietotāji, ir dzimšanas datumu pārvēršana par vecumu precīzākai un praktiskākai analīzei. Šajā rakstā mēs iedziļināsimies, kā risināt šo problēmu, izmantojot skaidrus piemērus un koda ieviešanas skaidrojumus.

Pandas ir daudzpusīgs rīks, kas bieži ietver darbu ar DateTime objektiem – tas ir gadījumā, ja tiek risināti dzimšanas datumi. Lai veiktu pirmo soli, lai dzimšanas datumus pārvērstu par vecumu, ir nepieciešama vienkārša aritmētika, izmantojot DateTime bibliotēku. Tas ļaus mums noteikt personu vecumu, aprēķinot starpību starp viņu dzimšanas datumu un pašreizējo datumu.

Sāksim ar nepieciešamo bibliotēku importēšanu:

import pandas as pd
from datetime import datetime

Pēc tam apsveriet vienkāršu datu kopu, kurā ir šādi dati par personām:

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

Iepriekš minētajā kodā mēs pārveidojam kolonnu Birth_Date par objektiem DateTime.

Vecuma aprēķināšana

Tagad mēs esam gatavi aprēķināt šo personu vecumu, atrodot atšķirību starp viņu dzimšanas datumu un pašreizējo datumu. Lai to izdarītu, veiciet tālāk norādītās darbības.

1. Izveidojiet funkciju ar nosaukumu “calculate_age”, kas kā ievadi izmanto dzimšanas datumu un atgriež personas vecumu.
2. Lietojiet šo funkciju DataFrame kolonnai Birth_Date.

Lūk, kods iepriekš minētās loģikas ieviešanai:

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)

Šajā koda fragmentā mēs izveidojām funkciju “calculate_age”, kas kā ievadi saņem dzimšanas_datumu, aprēķina pašreizējo datumu, izmantojot parametru datetime.now(), un aprēķina personas vecumu, no pašreizējā gada atņemot dzimšanas gadu. Ja viņu dzimšanas datums šogad nav bijis, mēs atņemam papildu gadu.

Visbeidzot, mēs izmantojam šo funkciju kolonnā Birth_Date, izmantojot metodi apply (), un aprēķinātie vecumi tiek saglabāti jaunā DataFrame kolonnā "Age".

Numpy un Pandas izmantošana vecuma aprēķināšanai

Alternatīvi, šim uzdevumam mēs varam izmantot spēcīgo niecīgo bibliotēku kopā ar pandām. Lai pārvērstu dzimšanas datumus vecumos, izmantojot numpy, rīkojieties šādi:

1. Importējiet numpy bibliotēku.
2. Vecuma aprēķināšanai izmantojiet funkciju “grīda”.

Tālāk ir sniegts piemērs, kā to izdarīt.

import numpy as np

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

Šis kods izmanto numpy “grīdas” funkciju, lai noapaļotu uz leju peldošā komata dalījuma rezultātu dienu skaits kopš dzimšanas datuma par 365.25 (ņemot vērā garos gadus).

Rezumējot, izmantojot tādas bibliotēkas kā pandas un datetime vai pandas un numpy, ir nemanāmi konvertēt dzimšanas datuma kolonnas uz vecumu datu kopā. Veicot paskaidrotās darbības un izprotot šajā rakstā sniegto kodu, jūs iegūsit zināšanas, lai manipulētu ar šādiem datiem un veiktu efektīvāku un precīzāku analīzi.

Related posts:

Leave a Comment