Merkkijonon DateTimes muuntaminen Python datetime -objekteiksi

Python

DateTime-merkkijonojen käsittely Pythonissa

Kun työskentelet suurten tietojoukkojen kanssa, on tavallista kohdata merkkijonoina tallennettuja päivämäärä- ja aikatietoja. Näiden merkkijonoesitysten muuntaminen Python-päivämäärä-aika-objekteiksi on välttämätöntä minkä tahansa päivämäärän ja ajan käsittelyn tai analyysin suorittamiseksi. Tämä tehtävä on yksinkertainen käyttämällä Pythonin sisäänrakennettuja kirjastoja, jotka tarjoavat tehokkaita tapoja jäsentää ja muuntaa päivämäärä-aika-merkkijonoja.

Tässä artikkelissa tutkimme, kuinka päivämäärä-aika-merkkijonot, kuten "1. kesäkuuta 2005 1:33" ja "28. elokuuta 1999 12:00 AM" muunnetaan Python-päivämäärä-aika-objekteiksi. Tämä prosessi on ratkaisevan tärkeä sen varmistamiseksi, että päivämäärä-aikatiedot ovat muodossa, jota voidaan helposti käsitellä ja analysoida. Sukellaanpa menetelmiin ja parhaisiin käytäntöihin tämän muuntamisen saavuttamiseksi.

Komento Kuvaus
datetime.strptime() Jäsentää merkkijonon päivämäärä-aika-objektiksi määritetyn muodon perusteella.
map() Käyttää funktiota kaikkiin syöttöluettelon kohteisiin.
lambda Luo nimettömän toiminnon lyhytaikaista käyttöä varten.
pd.Series() Luo yksiulotteisen taulukon kaltaisen objektin luettelosta pandassa.
pd.to_datetime() Muuntaa argumentin datetimeksi pandassa, valinnaisesti käyttämällä määritettyä muotoa.
append() Lisää elementin luettelon loppuun.

Muunnosprosessin ymmärtäminen

Ensimmäisessä skriptissä hyödynnämme Pythonin sisäänrakennettua moduuli muuntaa päivämäärä-aika-merkkijonot muotoiksi esineitä. The -funktiota käytetään jäsentämään merkkijono tietyn muodon perusteella. Tässä määrittelemme muodon muodossa "%b %d %Y %I:%M%p", joka vastaa annettuja päivämäärä-aika-merkkijonoja. The silmukka iteroi jokaisen luettelon päivämäärä-aika-merkkijonon yli, muuntaa sen a:ksi objektiin ja liittää sen lista. Tämä lähestymistapa on suoraviivainen ja ihanteellinen skenaarioihin, joissa luettavuus ja yksinkertaisuus ovat ensiarvoisen tärkeitä.

Toinen kirjoitus esittelee tiiviimmän menetelmän ja toiminto. Tässä ohitamme a toimia map(), joka pätee jokaiseen kohtaan lista. Tämä menetelmä on tehokas ja vähentää koodin monisanaisuutta, joten se on erinomainen valinta kokeneemmille kehittäjille, jotka etsivät ytimekkäää ratkaisua. Molemmat skriptit saavuttavat saman tavoitteen: muuntaa päivämäärä-aika-merkkijonot muotoiksi objektit, mutta ne tarjoavat erilaisia ​​tyylejä, jotka sopivat erilaisiin koodaustarpeisiin.

Pandan hyödyntäminen päivämäärän ja ajan muuntamiseen

Kolmannessa skriptissä käytämme kirjasto, joka on erittäin tehokas suurten tietojoukkojen käsittelyssä. Aloitamme luomalla a päivämäärä-aika-merkkijonojen luettelosta. The pd.to_datetime() funktiota käytetään sitten muuttamaan kohtaan esineitä. Tämä menetelmä on erityisen tehokas käsiteltäessä laajoja tietoja, kuten tarjoaa lukuisia toimintoja tietojen käsittelyyn ja analysointiin.

Käyttämällä yksinkertaistaa päivämäärä- ja aikatietojen käsittelyä ja muuntamista, varsinkin kun työskentelet tietokehysten kanssa. The toiminto on monipuolinen ja pystyy käsittelemään erilaisia ​​päivämäärä-aikamuotoja, mikä tekee siitä vankan työkalun datatieteilijöille ja analyytikoille. Kaiken kaikkiaan kolme skriptiä esittelevät erilaisia ​​​​menetelmiä päivämäärä-aika-merkkijonojen muuntamiseen Pythonissa eri tarpeisiin ja osaamistasoihin sopivia esineitä.

Päivämäärämerkkijonojen muuntaminen Python-päivämäärä-objekteiksi

Python datetime-moduulilla

from datetime import datetime

date_strings = ["Jun 1 2005 1:33PM", "Aug 28 1999 12:00AM"]
datetime_objects = []

for date_str in date_strings:
    dt_obj = datetime.strptime(date_str, "%b %d %Y %I:%M%p")
    datetime_objects.append(dt_obj)

print(datetime_objects)

DateTime-merkkijonojen jäsentäminen tehokkaasti Pythonissa

Python luettelon ymmärtämisellä ja kartalla

from datetime import datetime

date_strings = ["Jun 1 2005 1:33PM", "Aug 28 1999 12:00AM"]

datetime_objects = list(map(lambda x: datetime.strptime(x, "%b %d %Y %I:%M%p"), date_strings))

print(datetime_objects)




Päivämäärämerkkijonojen muuntaminen datetime-objekteiksi Pythonissa

Python pandakirjastolla

import pandas as pd

date_strings = ["Jun 1 2005 1:33PM", "Aug 28 1999 12:00AM"]
date_series = pd.Series(date_strings)

datetime_objects = pd.to_datetime(date_series, format="%b %d %Y %I:%M%p")

print(datetime_objects)



Vaihtoehtoisten päivämäärän jäsennystekniikoiden tutkiminen

Toinen tärkeä näkökohta päivämäärä-aika-merkkijonojen muuntamisessa päivämäärä-aika-objekteiksi on käsitellä erilaisia ​​päivämäärä-aikamuotoja, jotka saattavat näkyä tietojoukossasi. Usein eri lähteistä tulevat tiedot eivät välttämättä ole yhden muodon mukaisia, mikä vaatii joustavampia jäsennysmenetelmiä. Yksi tällainen menetelmä on käyttää moduuli, joka voi jäsentää useita päivämäärämuotoja ilman, että muotoa tarvitsee erikseen määrittää. Tämä voi olla erityisen hyödyllistä, kun käsitellään erilaisia ​​tai epäjohdonmukaisia ​​tietolähteitä.

Käyttämällä toiminto yksinkertaistaa muunnosprosessia tunnistamalla automaattisesti päivämäärämuodon. Tämä lähestymistapa minimoi ennalta määritettyjen muotomerkkijonojen tarpeen ja vähentää mahdollisia virheitä. Lisäksi monimutkaisempia tietojoukkoja varten voit yhdistää tämän menetelmän virheenkäsittelytekniikoihin varmistaaksesi vankan ja luotettavan tietojenkäsittelyn. Tutkimalla näitä vaihtoehtoisia jäsennystekniikoita kehittäjät voivat luoda monipuolisempia ja kestävämpiä päivämäärän ja ajan muunnoskomentosarjoja, jotka sopivat useampaan tietoskenaarioon.

  1. Kuinka käsittelen eri päivämäärämuotoja samassa luettelossa?
  2. Voit käyttää toiminto tunnistaa ja jäsentää automaattisesti erilaisia ​​päivämäärämuotoja.
  3. Entä jos huomaan luettelossa virheellisen päivämäärämuodon?
  4. Käytä jäsennyskoodin ympärillä try-except-lohkoja saadaksesi kiinni ja käsitelläksesi virheellisten muotojen poikkeuksia.
  5. Voinko muuntaa päivämäärät aikavyöhykkeillä?
  6. Kyllä voi käsitellä päivämäärä-aika merkkijonoja aikavyöhyketietojen kanssa.
  7. Kuinka voin muuntaa datetime-objektin takaisin merkkijonoksi?
  8. Käytä menetelmä muotoilla datetime-objekti merkkijonoksi.
  9. Onko olemassa tapaa nopeuttaa suurten päivämäärä-aika-merkkijonoluetteloiden jäsentämistä?
  10. Harkitse vektorisoitujen operaatioiden käyttöä suurten tietojoukkojen tehokkaaseen käsittelyyn.
  11. Voinko käsitellä lokalisoituja päivämäärämuotoja?
  12. Kyllä, määritä kielialue jäsennysfunktiossa tai käytä kielikohtaisia ​​kirjastoja lokalisoitujen päivämäärämuotojen käsittelyyn.
  13. Mitä jos päivämäärämerkkijonoissani on lisätekstiä?
  14. Pura päivämääräosa käyttämällä säännöllisiä lausekkeita ennen jäsentämistä.
  15. Kuinka käsittelen päivämääriä eri erottimilla?
  16. The on joustava erottimien kanssa ja pystyy käsittelemään erilaisia ​​erottimia.
  17. Voinko jäsentää päivämääriä puuttuvista komponenteista?
  18. Kyllä voi päätellä puuttuvia komponentteja, kuten kuluvan vuoden, jos niitä ei ole annettu.

Lopulliset ajatukset päivämäärän ja ajan muuntamisesta

Yhteenvetona voidaan todeta, että päivämäärä-aika-merkkijonojen muuntaminen datetime-objekteiksi Pythonissa voidaan saavuttaa tehokkaasti käyttämällä erilaisia ​​lähestymistapoja, kuten päivämäärä-aika-moduulia, luetteloiden ymmärtämistä ja pandakirjastoa. Jokainen menetelmä tarjoaa ainutlaatuisia etuja tietojoukon monimutkaisuudesta ja koosta riippuen. Ymmärtämällä ja hyödyntämällä näitä tekniikoita kehittäjät voivat varmistaa tarkan ja tehokkaan päivämäärän ja ajan manipuloinnin, mikä on ratkaisevan tärkeää tietojen analysointi- ja käsittelytehtävissä.