Atrisināts: pandas datuma atšķirība mēnešos

Pandas ir populāra Python bibliotēka, kas atvieglo datu manipulācijas un analīzi, piedāvājot plašu datu un laika apstrādes funkciju klāstu. Viens izplatīts datu analīzes gadījums ir datumu starpības aprēķināšana mēnešos. Šajā rakstā mēs izpētīsim pieeju, kā to panākt, izmantojot Pandas, kā arī soli pa solim sniegtu koda skaidrojumu. Turklāt mēs apspriedīsim dažas citas atbilstošas ​​bibliotēkas un funkcijas, lai uzlabotu mūsu izpratni par problēmu.

Datuma un laika datu apstrāde vienmēr ir izaicinājums datu analītiķiem un izstrādātājiem. Python Pandas bibliotēka padara šo uzdevumu daudz vienkāršāku, nodrošinot jaudīgu un daudzpusīgu funkciju kopumu, lai manipulētu ar datumiem, laikiem un laika deltas. Šajā rakstā mēs parādīsim, kā aprēķināt atšķirību starp diviem datumiem mēnešos, izmantojot Pandas.

Problēmas risinājums

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)

Kodeksa skaidrojums

1. Pirmkārt, mēs importējam Pandas bibliotēku kā pd. Tas ļauj mums izmantot Pandas spēcīgo funkciju komplektu darbam ar datumiem.

2. Pēc tam mēs definējam funkciju “date_diff_in_months”, kas izmanto divus argumentus — datums1 un datums2. Šī funkcija atgriezīs mēnešu skaitu starp diviem ievades datumiem.

3. Funkcijā mēs aprēķinām starpību mēnešos, atņemot gada un mēneša komponentus, kas norādīti 'date1', no to attiecīgajiem komponentiem 'date2', pēc tam koriģējot rezultātu, ņemot vērā starpību gados.

4. Pēc tam mēs izveidojam divus Pandas Timestamp objektus — datums1 un datums2, izmantojot funkciju pd.to_datetime. Tie ir divi mūsu pārbaudes gadījuma datu paraugi.

5. Funkciju “date_diff_in_months” izsaucam ar “date1” un “date2”, saglabājot rezultātu mainīgajā “months_diff”.

6. Visbeidzot, tiek izdrukāts mainīgais "months_diff", kas parādīs mēnešu skaitu starp diviem ievades datumiem.

Pandas un laikspiedoli

Pandas laika zīmogu objekti ir neticami daudzpusīgi, ļaujot netraucēti manipulēt ar datumu un laiku un salīdzināt. Izsaucot funkciju `pd.to_datetime`, mēs varam pārvērst plašu datuma formātu klāstu Pandas Timestamp objektos. Pēc tam šos objektus var viegli salīdzināt, manipulēt un izmantot sarežģītu aprēķinu veikšanai. Mūsu risinājumā mēs izmantojam Timestamp objektu jaudu, lai aprēķinātu atšķirību starp diviem datumiem mēnešos.

Alternatīvas bibliotēkas un funkcijas

  • Bezjēdzīgs: Vēl viena populāra Python bibliotēka darbam ar datumiem un laikiem ir Numpy. Ar saviem `numpy.datetime64` objektiem Numpy piedāvā salīdzināmu funkcionalitāti ar Pandas Timestamp objektiem. Numpy papildus nodrošina tādas funkcijas kā "numpy.timedelta64", lai aprēķinātu atšķirības starp datumiem.
  • dateutil: Dateutil bibliotēka ir spēcīgs rīks datu parsēšanai un manipulēšanai Python. Tas nodrošina plašu funkciju un klašu kopumu datuma aritmētikas apstrādei, tostarp funkciju `dateutil.relativedelta.relativedelta', kas ir īpaši noderīga datumu atšķirību aprēķināšanai gados, mēnešos un dienās.

Rezumējot, var aprēķināt atšķirību starp diviem datumiem mēnešos, izmantojot Pandas, izmantojot vienkāršu, bet efektīvu metodi. Mēs varam paļauties uz Pandas Timestamp objektiem un pielāgotu funkciju, lai viegli veiktu šo uzdevumu. Turklāt alternatīvās bibliotēkas, piemēram, Numpy un dateutil, piedāvā alternatīvas pieejas, lai palīdzētu risināt dažādas ar datumu un laiku saistītas problēmas.

Related posts:

Leave a Comment