Nalutas: pagkakaiba ng petsa ng panda sa mga buwan

Ang Pandas ay isang sikat na library ng Python na nagpapadali sa pagmamanipula at pagsusuri ng data, na nag-aalok ng malawak na hanay ng mga function para sa paghawak ng mga petsa at oras. Ang isang karaniwang kaso ng paggamit sa pagsusuri ng data ay ang pagkalkula ng pagkakaiba sa pagitan ng mga petsa sa mga buwan. Sa artikulong ito, tutuklasin namin ang isang diskarte upang makamit ito gamit ang Pandas, kasama ang sunud-sunod na paliwanag ng code. Bukod dito, tatalakayin natin ang ilang iba pang nauugnay na mga aklatan at mga function upang mapahusay ang ating pag-unawa sa problema.

Ang paghawak sa data ng petsa at oras ay palaging isang hamon para sa mga data analyst at developer. Pinapadali ng Python's Pandas library ang gawaing ito sa pamamagitan ng pagbibigay ng malakas at maraming nalalaman na hanay ng mga function para sa pagmamanipula ng mga petsa, oras, at time delta. Sa artikulong ito, ipapakita namin kung paano kalkulahin ang pagkakaiba sa pagitan ng dalawang petsa sa mga buwan gamit ang Pandas.

Solusyon sa 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)

Paliwanag ng Code

1. Una, ini-import namin ang library ng Pandas bilang pd. Nagbibigay-daan ito sa amin na gamitin ang mahusay na hanay ng mga function ng Pandas para sa pagtatrabaho sa mga petsa.

2. Pagkatapos ay tinukoy namin ang isang function na tinatawag na `date_diff_in_months` na tumatagal ng dalawang argumento, `date1`, at `date2`. Ibabalik ng function na ito ang bilang ng mga buwan sa pagitan ng dalawang petsa ng pag-input.

3. Sa loob ng function, kinukuwenta namin ang pagkakaiba sa mga buwan sa pamamagitan ng pagbabawas ng taon at buwan na mga bahagi ng `date1` mula sa kani-kanilang mga bahagi sa `date2`, pagkatapos ay inaayos ang resulta para sa pagkakaiba sa mga taon.

4. Susunod, gagawa kami ng dalawang bagay ng Pandas Timestamp, `date1` at `date2`, gamit ang function na `pd.to_datetime`. Ang mga ito ay kumakatawan sa dalawang sample na petsa para sa aming test case.

5. Tinatawag namin ang function na `date_diff_in_months` na may `date1` at `date2`, na iniimbak ang resulta sa variable na `months_diff`.

6. Panghuli, ipi-print namin ang variable na `months_diff`, na magpapakita ng bilang ng buwan sa pagitan ng dalawang petsa ng pag-input.

Mga Panda at Timestamp

Ang mga bagay ng Timestamp ng Pandas ay hindi kapani-paniwalang maraming nalalaman, na nagbibigay-daan para sa tuluy-tuloy na pagmamanipula at paghahambing ng datetime. Sa pamamagitan ng pagtawag sa function na `pd.to_datetime`, maaari naming i-convert ang malawak na hanay ng mga format ng petsa sa mga bagay na Pandas Timestamp. Ang mga bagay na ito ay maaaring madaling ihambing, manipulahin, at magamit upang magsagawa ng mga kumplikadong kalkulasyon. Sa aming solusyon, ginagamit namin ang kapangyarihan ng mga bagay sa Timestamp upang kalkulahin ang pagkakaiba sa pagitan ng dalawang petsa sa mga buwan.

Mga Alternatibong Aklatan at Pag-andar

  • numpy: Ang isa pang sikat na library ng Python para sa pagtatrabaho sa mga petsa at oras ay ang Numpy. Gamit ang mga object na `numpy.datetime64` nito, nag-aalok ang Numpy ng maihahambing na functionality sa mga object ng Timestamp ng Pandas. Nagbibigay din ang Numpy ng mga function tulad ng `numpy.timedelta64` para sa pag-compute ng mga pagkakaiba sa pagitan ng mga petsa.
  • dateutil: Ang dateutil library ay isang makapangyarihang tool para sa pag-parse at pagmamanipula ng mga petsa sa Python. Nagbibigay ito ng malawak na hanay ng mga function at klase para sa paghawak ng arithmetic ng petsa, kabilang ang function na `dateutil.relativedelta.relativedelta`, na partikular na kapaki-pakinabang para sa pagkalkula ng mga pagkakaiba sa mga petsa sa mga tuntunin ng mga taon, buwan, at araw.

Sa buod, ang pagkalkula ng pagkakaiba sa pagitan ng dalawang petsa sa mga buwan gamit ang Panda ay maaaring makamit sa pamamagitan ng isang simple ngunit epektibong paraan. Maaari tayong umasa sa mga bagay ng Pandas Timestamp at isang custom na function para sa pagsasagawa ng gawaing ito nang madali. Bukod dito, ang mga alternatibong aklatan tulad ng Numpy at dateutil ay nag-aalok ng mga alternatibong diskarte upang makatulong na harapin ang isang malawak na hanay ng mga problemang nauugnay sa datetime.

Kaugnay na mga post:

Mag-iwan ng komento