Yakagadziriswa: shandura zuva rekuzvarwa koramu kuita zera pandas

Munyika yanhasi, kuongororwa kwedata kwave kuwedzera kukosha, uye chimwe chezvishandiso zvakakurumbira zvinoshandiswa nevanoongorora data uye data masayendisiti iPython ine pandas raibhurari. Pandas ine simba, yakavhurika-sosi yekuongorora dhata uye manipulation chishandiso chinobvumira kunyengera kuri nyore kwe data zvimiro uye nhevedzano. Rimwe dambudziko rinowanzosangana nevashandisi nderekushandura mazuva ekuzvarwa kuti ave mazera kuti anyatsoongorora uye anoshanda. Muchikamu chino, tichaongorora maitiro ekugadzirisa nyaya iyi nemienzaniso yakajeka uye tsananguro dzekushandiswa kwekodhi.

Pandas chishandiso chinogoneka chinowanzo batanidza kushanda neDateTime zvinhu - ndizvo zvazviri kana uchibata nemazuva ekuzvarwa. Danho rekutanga rekushandura mazuva ekuzvarwa kuita zera rinoda arithmetic iri nyore neDateTime library. Izvi zvichatigonesa kuwana zera revanhu nekuverenga mutsauko uripo pakati pezuva ravo rekuzvarwa nerizvino.

Ngatitange nekuunza kunze ma library anodiwa:

import pandas as pd
from datetime import datetime

Tevere, funga yakapusa dhataset ine inotevera data nezve vanhu:

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

Mune kodhi iri pamusoro, tiri kushandura iyo 'Birth_Date' column kuita DateTime zvinhu.

Kuverenga Zera

Zvino, tagadzirira kuverenga mazera evanhu ava nekutsvaga mutsauko uripo pakati pezuva ravo rekuzvarwa nezuva razvino. Kuti uite izvi, tevera matanho aya:

1. Gadzira chinhu chinonzi 'calculate_age' chinotora zuva rekuzvarwa sekuisa uye chinodzosa zera remunhu.
2. Isa basa iri kune 'Birth_Date' column muDataFrame.

Heino kodhi yekushandisa iyo iri pamusoro logic:

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)

Muchidimbu chekodhi iyi, takagadzira chinhu chinodaidzwa kuti 'calculate_age' chinogashira zuva rekuzvarwa sekuisa, kuverenga zuva razvino tichishandisa datetime.now(), uye kuverenga zera remunhu nekubvisa gore raakaberekwa kubva pagore razvino. Kana zvavo zuva rekuzvarwa harina kuitika gore rino, tinobvisa rimwe gore.

Chekupedzisira, isu tinoisa basa iri pane iyo 'Birth_Date' column tichishandisa application() nzira, uye mazera akaverengerwa anochengetwa mune nyowani 'Zera' muDataFrame.

Kushandisa Numpy uye Pandas Yekuverengera Zera

Neimwe nzira, isu tinogona kushandisa iyo ine simba numpy raibhurari musanganiswa nemapandas ebasa iri. Kushandura mazuva ekuzvarwa kuita mazera uchishandisa numpy, tevera matanho aya:

1. Kupinza raibhurari numpy.
2. Shandisa numpy 'floor' basa kuverenga zera.

Heino muenzaniso wekuita izvi:

import numpy as np

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

Iyi kodhi inoshandisa numpy's 'floor' basa kutenderedza pasi inoyangarara-point division mhedzisiro ye kuwanda kwemazuva kubva zuva rekuzvarwa ne365.25 (tichifunga nezvemakore ekusvetuka).

Muchidimbu, nekusimudzira maraibhurari senge pandas uye datetime kana pandas uye numpy, zvinova zvisina musono kushandura mazuva ekuzvarwa makoramu kuti ave zera mukati medataset. Kutevera matanho akatsanangurwa uye kunzwisisa kodhi yakapihwa muchinyorwa chino kuchakupa iwe neruzivo rwekushandisa data rakadaro uye kuita ongororo yakanyatsoshanda uye yakarurama.

Related posts:

Leave a Comment