An warware: canza ginshiƙin ranar haihuwa zuwa pandas na shekaru

A cikin duniyar yau, nazarin bayanai ya ƙara zama mahimmanci, kuma ɗayan shahararrun kayan aikin da masu nazarin bayanai da masana kimiyya ke amfani da su shine Python tare da ɗakin karatu na pandas. Pandas mai ƙarfi ne, buɗaɗɗen bayanan bayanan bayanan da kayan aikin magudi wanda ke ba da damar yin amfani da sauƙin tsarin bayanai da jeri. Matsala ɗaya ta gama gari da masu amfani ke ci karo da ita ita ce canza ranar haihuwa zuwa shekaru don ƙarin ingantaccen bincike mai amfani. A cikin wannan labarin, za mu bincika yadda za a magance wannan batu tare da bayyanannun misalai da bayanin aiwatar da lambar.

Pandas kayan aiki ne na yau da kullun wanda galibi ya ƙunshi aiki tare da abubuwan DateTime - wannan shine yanayin lokacin da ake hulɗa da kwanakin haihuwa. Mataki na farko don canza kwanakin haihuwa zuwa shekaru yana buƙatar lissafi mai sauƙi tare da ɗakin karatu na DateTime. Wannan zai ba mu damar gano shekarun daidaikun mutane ta hanyar ƙididdige bambanci tsakanin ranar haihuwarsu da kwanan wata.

Mu fara da shigo da dakunan karatu da ake bukata:

import pandas as pd
from datetime import datetime

Na gaba, yi la'akari da ƙayyadaddun bayanai mai sauƙi wanda ke ɗauke da bayanai masu zuwa game da daidaikun mutane:

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

A cikin lambar da ke sama, muna canza shafi na 'Birth_Date' zuwa abubuwan DateTime.

Lissafin Shekaru

Yanzu, a shirye muke mu ƙididdige shekarun waɗannan mutane ta hanyar gano bambanci tsakanin ranar haihuwarsu da kwanan wata na yanzu. Don yin wannan, bi waɗannan matakan:

1. Ƙirƙiri wani aiki mai suna 'calculate_age' wanda ke ɗaukar ranar haihuwa azaman shigarwa kuma ya dawo da shekarun mutum.
2. Aiwatar da wannan aikin zuwa shafi na 'Birth_Date' a cikin DataFrame.

Ga lambar don aiwatar da dabaru na sama:

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)

A cikin wannan snippet code, mun ƙirƙiri wani aiki mai suna 'calculate_age' wanda ke karɓar ranar haihuwa a matsayin shigarwa, ana ƙididdige kwanan watan ta amfani da datetime.now(), kuma muna ƙididdige shekarun mutum ta hanyar rage shekarun haihuwarsa daga shekarar da muke ciki. Idan su ranar haihuwa ba a yi wannan shekara ba, mun rage ƙarin shekara.

A ƙarshe, muna amfani da wannan aikin akan ginshiƙin 'Birth_Date' ta amfani da hanyar apply(), kuma ana adana shekarun ƙididdiga a cikin sabon shafi na 'Shekaru' a cikin DataFrame.

Amfani da Numpy da Pandas don Kididdigar Shekaru

A madadin, za mu iya yin amfani da ƙaƙƙarfan labura mai lamba tare da pandas don wannan aikin. Don canza kwanakin haihuwa zuwa shekaru ta amfani da numpy, bi waɗannan matakan:

1. Shigo da labura mai lamba.
2. Yi amfani da aikin 'bene' mai lamba don ƙididdige shekaru.

Ga misalin yadda ake yin haka:

import numpy as np

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

Wannan lambar tana amfani da aikin 'bene' na numpy don ƙaddamar da sakamakon rabon-maki-mai iyo adadin kwanaki tun daga ranar haihuwa ta 365.25 (la'akari da shekarun tsalle).

A taƙaice, ta hanyar yin amfani da dakunan karatu kamar pandas da kwanan wata ko pandas da ƙididdigewa, ya zama marar lahani don canza ginshiƙan ranar haihuwa zuwa shekaru a cikin tsarin bayanai. Bin matakan da aka bayyana da kuma fahimtar lambar da aka bayar a cikin wannan labarin zai ba ku ilimi don sarrafa irin waɗannan bayanai da aiwatar da ingantaccen bincike mai inganci.

Shafi posts:

Leave a Comment