Kuxazululiwe: umehluko wedethi ye-pandas ezinyangeni

I-Pandas iwumtapo wezincwadi wePython odumile osiza ukukhohliswa kwedatha nokuhlaziya, enikeza inhlobonhlobo yemisebenzi yokuphatha izinsuku nezikhathi. Isimo esisodwa esivamile sokusetshenziswa ekuhlaziyeni idatha ukubala umehluko phakathi kwamadethi ezinyanga. Kulesi sihloko, sizohlola indlela yokufeza lokhu sisebenzisa amaPanda, kanye nencazelo yesinyathelo nesinyathelo yekhodi. Ngaphezu kwalokho, sizoxoxa ngamanye amalabhulali afanelekile kanye nemisebenzi ukuze sithuthukise ukuqonda kwethu inkinga.

Ukuphatha idatha yedethi nesikhathi kuhlala kuyinselele kubahlaziyi bedatha nabathuthukisi. Umtapo wezincwadi wePython's Pandas wenza lo msebenzi ube lula kakhulu ngokunikeza isethi enamandla neguquguqukayo yemisebenzi yokukhohlisa amadethi, izikhathi, kanye ne-deltas yesikhathi. Kulesi sihloko, sizobonisa indlela yokubala umehluko phakathi kwamadethi amabili ezinyangeni kusetshenziswa ama-Panda.

Isixazululo Senkinga

import pandas as pd

def date_diff_in_months(date1, date2):
    return (date2.year - date1.year) * 12 + (date2.month - date1.month)

date1 = pd.to_datetime("2021-01-01")
date2 = pd.to_datetime("2022-05-01")

months_diff = date_diff_in_months(date1, date2)
print(months_diff)

Incazelo yeKhodi

1. Okokuqala, singenisa umtapo wezincwadi wePandas njenge-pd. Lokhu kusivumela ukuthi sisebenzise uhlelo oluqinile lwemisebenzi ye-Pandas ukuze sisebenze nezinsuku.

2. Sibe sesichaza umsebenzi obizwa ngokuthi `usuku_ukwehluka_ezinyangeni_ezithatha izimpikiswano ezimbili, `usuku1`, kanye `nosuku2`. Lo msebenzi uzobuyisela inani lezinyanga phakathi kwamadethi amabili okufaka.

3. Ngaphakathi komsebenzi, sibala umehluko wezinyanga ngokukhipha izingxenye zonyaka nenyanga `zosuku1` ezingxenyeni zazo ngokulandelana kwazo kokuthi `dethi2`, bese silungisa umphumela womehluko weminyaka.

4. Okulandelayo, sidala izinto ezimbili zesitembu sesikhathi sePandas, `idethi1` kanye `nedethi2`, sisebenzisa umsebenzi othi `pd.to_datetime`. Lezi zimelela izinsuku ezimbili zesampula zecala lethu lokuhlola.

5. Sibiza umsebenzi othi `idethi_diff_in_months` `usuku1` kanye `nosuku2`, sigcina umphumela kokuhluka `kwezinyanga_ezihlukile`.

6. Ekugcineni, siphrinta okuguquguqukayo kokuthi `months_diff`, okuzobonisa inani lezinyanga phakathi kwamadethi amabili okufaka.

AmaPanda nezitembu zesikhathi

Izinto zesitembu sesikhathi sePandas zishintshashintsha ngendlela emangalisayo, zivumela ukukhohliswa kwedethi okungenazihibe nokuqhathanisa. Ngokubiza umsebenzi othi `pd.to_datetime`, singaguqula izinhlobo eziningi zamafomethi edethi zibe izinto zesitembu sesikhathi sePandas. Lezi zinto zingase ziqhathaniswe kalula, zisetshenziswe, futhi zisetshenziselwe ukwenza izibalo eziyinkimbinkimbi. Esixazululweni sethu, sisebenzisa amandla ezinto zesitembu sesikhathi ukubala umehluko phakathi kwedethi ezimbili ezinyangeni.

Eminye Imitapo yolwazi kanye Nemisebenzi

  • numpy: Omunye umtapo wezincwadi wePython odumile wokusebenza nezinsuku nezikhathi yiNumpy. Ngezinto zayo `ze-numpy.datetime64`, i-Numpy inikeza ukusebenza okufanayo nezinto zesitembu sesikhathi sePandas. I-Numpy ihlinzeka ngemisebenzi efana nokuthi `numpy.timedelta64` yokubala umehluko phakathi kwedethi.
  • dateutil: Umtapo wezincwadi we-dateutil iyithuluzi elinamandla lokuhlaziya kanye nokukhohlisa izinsuku ngePython. Ihlinzeka ngesethi ebanzi yemisebenzi namakilasi okuphatha i-arithmetic yedethi, okuhlanganisa umsebenzi othi `dateutil.relativedelta.relativedelta`, owusizo ikakhulukazi ekubaleni umehluko wezinsuku ngokweminyaka, izinyanga, nezinsuku.

Kafushane, ukubala umehluko phakathi kwezinsuku ezimbili ezinyangeni usebenzisa i-Pandas kungafinyelelwa ngendlela elula kodwa ephumelelayo. Singathembela ezintweni zesitembu sesikhathi se-Pandas kanye nomsebenzi wangokwezifiso wokwenza lo msebenzi kalula. Ngaphezu kwalokho, imitapo yolwazi efana ne-Numpy kanye ne-dateutil inikeza ezinye izindlela zokusiza ukubhekana nezinkinga eziningi ezihlobene nesikhathi.

Okuthunyelwe okuhlobene:

Shiya amazwana