Išspręsta: pandos datos skirtumas mėnesiais

Pandas yra populiari Python biblioteka, palengvinanti duomenų manipuliavimą ir analizę, siūlanti daugybę funkcijų, skirtų datoms ir laikui tvarkyti. Vienas dažnas duomenų analizės atvejis yra datų skirtumo apskaičiavimas mėnesiais. Šiame straipsnyje mes išnagrinėsime metodą, kaip tai pasiekti naudojant Pandas, kartu su nuosekliu kodo paaiškinimu. Be to, aptarsime kai kurias kitas susijusias bibliotekas ir funkcijas, kad galėtume geriau suprasti problemą.

Datos ir laiko duomenų tvarkymas visada yra iššūkis duomenų analitikams ir kūrėjams. Python Pandas biblioteka palengvina šią užduotį, nes suteikia galingą ir universalų funkcijų rinkinį, skirtą valdyti datas, laiką ir laiko deltus. Šiame straipsnyje parodysime, kaip apskaičiuoti skirtumą tarp dviejų datų mėnesiais naudojant Pandas.

Problemos sprendimas

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)

Kodekso paaiškinimas

1. Pirmiausia importuojame Pandas biblioteką kaip pd. Tai leidžia mums naudoti tvirtą Pandas funkcijų rinkinį dirbant su datomis.

2. Tada apibrėžiame funkciją, vadinamą „data_diff_in_months“, kuriai naudojami du argumentai „data1“ ir „data2“. Ši funkcija grąžins mėnesių skaičių tarp dviejų įvesties datų.

3. Funkcijoje apskaičiuojame skirtumą mėnesiais, atimdami metų ir mėnesio komponentus „data1“ iš atitinkamų „data2“ komponentų, tada pakoreguodami rezultatą pagal skirtumą metais.

4. Tada sukuriame du Pandas Timestamp objektus „date1“ ir „date2“, naudodami funkciją „pd.to_datetime“. Tai yra dvi mūsų bandomojo atvejo pavyzdinės datos.

5. Funkciją „date_diff_in_months“ iškviečiame su „data1“ ir „date2“, išsaugodami rezultatą kintamajame „months_diff“.

6. Galiausiai išspausdiname kintamąjį „months_diff“, kuris parodys mėnesių skaičių tarp dviejų įvesties datų.

Pandos ir laiko žymos

Pandų laiko žymos objektai yra neįtikėtinai universalūs, todėl juos galima sklandžiai valdyti ir palyginti. Iškvietę funkciją "pd.to_datetime", galime konvertuoti daugybę datos formatų į Pandas Timestamp objektus. Tada šiuos objektus galima lengvai palyginti, jais manipuliuoti ir atlikti sudėtingus skaičiavimus. Savo sprendime mes panaudojame laiko žymos objektų galią, norėdami apskaičiuoti skirtumą tarp dviejų datų mėnesiais.

Alternatyvios bibliotekos ir funkcijos

  • Nešvankus: Kita populiari Python biblioteka, skirta dirbti su datomis ir laiku, yra Numpy. Su savo `numpy.datetime64` objektais, Numpy siūlo panašias funkcijas kaip Pandos Timestamp objektai. „Numpy“ papildomai teikia tokias funkcijas kaip „numpy.timedelta64“, skirtas datų skirtumams apskaičiuoti.
  • dateutil: Dateutil biblioteka yra galingas įrankis, skirtas analizuoti ir apdoroti datas Python. Jame pateikiamas platus funkcijų ir klasių rinkinys, skirtas datos aritmetikai tvarkyti, įskaitant funkciją „dateutil.relativedelta.relativedelta“, kuri ypač naudinga skaičiuojant datų skirtumus metais, mėnesiais ir dienomis.

Apibendrinant galima pasakyti, kad naudojant Pandas galima apskaičiuoti skirtumą tarp dviejų datų mėnesiais naudojant paprastą, bet veiksmingą metodą. Galime pasikliauti Pandas Timestamp objektais ir pasirinktine funkcija, kad galėtume lengvai atlikti šią užduotį. Be to, alternatyvios bibliotekos, tokios kaip Numpy ir dateutil, siūlo alternatyvius metodus, padedančius išspręsti įvairias su data ir laiku susijusias problemas.

Susijusios naujienos:

Palikite komentarą