Riješeno: razlika datuma pandi u mjesecima

Pandas je popularna Python biblioteka koja olakšava manipulaciju i analizu podataka, nudeći širok raspon funkcija za rukovanje datumima i vremenima. Jedan uobičajeni slučaj upotrebe u analizi podataka je izračunavanje razlike između datuma u mjesecima. U ovom ćemo članku istražiti pristup kako to postići korištenjem Panda, zajedno s objašnjenjem koda korak po korak. Štoviše, raspravljat ćemo o nekim drugim relevantnim bibliotekama i funkcijama kako bismo poboljšali naše razumijevanje problema.

Rukovanje podacima o datumu i vremenu uvijek je izazov za analitičare podataka i programere. Pythonova biblioteka Pandas čini ovaj zadatak mnogo lakšim pružajući snažan i svestran skup funkcija za manipuliranje datumima, vremenima i vremenskim razlikama. U ovom ćemo članku pokazati kako izračunati razliku između dva datuma u mjesecima pomoću programa Pandas.

Rješenje problema

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)

Objašnjenje Kodeksa

1. Prvo uvozimo biblioteku Pandas kao pd. To nam omogućuje korištenje Pandinog robusnog skupa funkcija za rad s datumima.

2. Zatim definiramo funkciju pod nazivom `date_diff_in_months` koja uzima dva argumenta, `date1` i `date2`. Ova funkcija će vratiti broj mjeseci između dva ulazna datuma.

3. Unutar funkcije izračunavamo razliku u mjesecima oduzimanjem komponenti godine i mjeseca za "datum1" od njihovih odgovarajućih komponenti za "datum2", a zatim prilagođavamo rezultat za razliku u godinama.

4. Zatim stvaramo dva objekta Pandas Timestamp, `date1` i `date2`, koristeći funkciju `pd.to_datetime`. Ovo predstavljaju dva uzorka datuma za naš test slučaj.

5. Pozivamo funkciju `date_diff_in_months` s `date1` i `date2`, pohranjujući rezultat u varijablu `months_diff`.

6. Na kraju, ispisujemo varijablu `months_diff`, koja će prikazati broj mjeseci između dva ulazna datuma.

Pande i vremenske oznake

Pandas' Timestamp objekti su nevjerojatno svestrani, omogućujući besprijekornu manipulaciju i usporedbu datuma i vremena. Pozivanjem funkcije `pd.to_datetime`, možemo pretvoriti širok raspon formata datuma u Pandas Timestamp objekte. Ti se objekti tada mogu lako usporediti, manipulirati i koristiti za izvođenje složenih izračuna. U našem rješenju koristimo snagu objekata Timestamp za izračunavanje razlike između dva datuma u mjesecima.

Alternativne biblioteke i funkcije

  • numpy: Još jedna popularna Python biblioteka za rad s datumima i vremenima je Numpy. Sa svojim objektima `numpy.datetime64`, Numpy nudi usporedivu funkcionalnost s objektima Pandas Timestamp. Numpy dodatno pruža funkcije poput `numpy.timedelta64` za izračunavanje razlika između datuma.
  • dateutil: Biblioteka dateutil moćan je alat za raščlanjivanje i manipuliranje datumima u Pythonu. Pruža opsežan skup funkcija i klasa za rukovanje aritmetikom datuma, uključujući funkciju `dateutil.relativedelta.relativedelta`, koja je posebno korisna za izračunavanje razlika u datumima u smislu godina, mjeseci i dana.

Ukratko, izračunavanje razlike između dva datuma u mjesecima pomoću Panda može se postići jednostavnom, ali učinkovitom metodom. Možemo se osloniti na objekte Pandas Timestamp i prilagođenu funkciju za jednostavno obavljanje ovog zadatka. Štoviše, alternativne biblioteke kao što su Numpy i dateutil nude alternativne pristupe koji pomažu u rješavanju širokog spektra problema povezanih s datumom i vremenom.

Povezani postovi:

Ostavite komentar