String DateTimes konvertēšana uz Python datetime objektiem

Python

Datuma un laika virkņu apstrāde programmā Python

Strādājot ar lielām datu kopām, bieži rodas datuma un laika informācija, kas tiek glabāta kā virknes. Šo virkņu attēlojumu konvertēšana Python datuma un laika objektos ir būtiska, lai veiktu jebkādas datuma un laika manipulācijas vai analīzes. Šis uzdevums ir vienkāršs, izmantojot Python iebūvētās bibliotēkas, kas nodrošina efektīvus veidus, kā parsēt un konvertēt datuma un laika virknes.

Šajā rakstā mēs izpētīsim, kā pārveidot datuma un laika virknes, piemēram, "Jūn 1 2005 1:33" un "Aug 28, 1999 12:00AM", par Python datuma un laika objektiem. Šis process ir ļoti svarīgs, lai nodrošinātu, ka datuma un laika dati ir formātā, ar kuru var viegli manipulēt un analizēt. Apskatīsim metodes un paraugpraksi šīs reklāmguvuma sasniegšanai.

Komanda Apraksts
datetime.strptime() Parsē virkni datuma un laika objektā, pamatojoties uz noteiktu formātu.
map() Piemēro funkciju visiem ievades saraksta vienumiem.
lambda Izveido anonīmu funkciju īslaicīgai lietošanai.
pd.Series() Pandas formātā no saraksta izveido viendimensionālu masīvam līdzīgu objektu.
pd.to_datetime() Pārvērš argumentu par datumu un laiku pandās, pēc izvēles izmantojot noteiktu formātu.
append() Pievieno elementu saraksta beigām.

Izpratne par konversijas procesu

Pirmajā skriptā mēs izmantojam Python iebūvēto modulis datuma un laika virkņu konvertēšanai objektus. The funkcija tiek izmantota, lai parsētu virkni, pamatojoties uz noteiktu formātu. Šeit mēs definējam formātu kā "%b %d %Y %I:%M%p", kas atbilst norādītajām datuma un laika virknēm. The cilpa atkārto katru datuma un laika virkni sarakstā, pārvērš to par a objektu un pievieno to sarakstu. Šī pieeja ir vienkārša un ideāli piemērota scenārijiem, kur lasāmība un vienkāršība ir vissvarīgākā.

Otrais skripts parāda kodolīgāku metodi un funkciju. Šeit mēs ejam garām a funkciju map(), kas attiecas katram vienumam sadaļā sarakstu. Šī metode ir efektīva un samazina koda daudzvārdību, padarot to par lielisku izvēli pieredzējušākiem izstrādātājiem, kuri meklē kodolīgu risinājumu. Abi skripti sasniedz vienu un to pašu mērķi: datuma un laika virknes pārvērš par objektiem, taču tie piedāvā dažādus stilus, kas piemēroti dažādām kodēšanas vēlmēm.

Pandas izmantošana datuma un laika konvertēšanai

Trešajā skriptā mēs izmantojam bibliotēka, kas ir ļoti efektīva lielu datu kopu apstrādei. Mēs sākam, izveidojot a no datuma un laika virkņu saraksta. The pd.to_datetime() funkcija tiek izmantota, lai pārveidotu uz objektus. Šī metode ir īpaši spēcīga, strādājot ar plašiem datiem, piemēram piedāvā daudzas funkcijas datu apstrādei un analīzei.

Izmantojot vienkāršo datuma un laika datu apstrādes un konvertēšanas procesu, īpaši strādājot ar datu rāmjiem. The funkcija ir daudzpusīga un var apstrādāt dažādus datuma un laika formātus, padarot to par spēcīgu rīku datu zinātniekiem un analītiķiem. Kopumā trīs skripti demonstrē dažādas metodes datuma un laika virkņu konvertēšanai uz objekti Python, kas atbilst dažādām vajadzībām un zināšanu līmeņiem.

Datuma virkņu konvertēšana Python datuma un laika objektos

Python ar datuma un laika moduli

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)

Efektīva datuma un laika virkņu parsēšana programmā Python

Python ar saraksta izpratni un karti

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)




Datuma virkņu pārveidošana par datuma un laika objektiem programmā Python

Python ar pandu bibliotēku

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)



Alternatīvu datu parsēšanas metožu izpēte

Vēl viens svarīgs aspekts, pārveidojot datuma un laika virknes datuma un laika objektos, ir dažādu datuma un laika formātu apstrāde, kas var parādīties jūsu datu kopā. Bieži vien dati no dažādiem avotiem var neatbilst vienam formātam, tāpēc ir nepieciešamas elastīgākas parsēšanas metodes. Viena no šādām metodēm ir izmantot modulis, kas var parsēt dažādus datuma formātus bez nepieciešamības skaidri norādīt formātu. Tas var būt īpaši noderīgi, strādājot ar dažādiem vai nekonsekventiem datu avotiem.

Izmantojot funkcija vienkāršo konvertēšanas procesu, automātiski nosakot datuma formātu. Šī pieeja samazina nepieciešamību pēc iepriekš definētām formāta virknēm un samazina iespējamās kļūdas. Turklāt sarežģītākām datu kopām varat apvienot šo metodi ar kļūdu apstrādes metodēm, lai nodrošinātu stabilu un uzticamu datu apstrādi. Izpētot šīs alternatīvās parsēšanas metodes, izstrādātāji var izveidot daudzpusīgākus un elastīgākus datuma un laika konvertēšanas skriptus, kas atbilst plašākam datu scenāriju klāstam.

  1. Kā vienā sarakstā rīkoties ar dažādiem datuma formātiem?
  2. Jūs varat izmantot funkcija, lai automātiski noteiktu un parsētu dažādus datuma formātus.
  3. Ko darīt, ja sarakstā tiek konstatēts nederīgs datuma formāts?
  4. Izmantojiet try-except blokus ap parsēšanas kodu, lai uztvertu un apstrādātu nederīgu formātu izņēmumus.
  5. Vai es varu konvertēt datumus ar laika joslām?
  6. Jā, var apstrādāt datuma un laika virknes ar laika joslas informāciju.
  7. Kā konvertēt datuma un laika objektu atpakaļ par virkni?
  8. Izmantojiet metode datuma un laika objekta formatēšanai kā virkne.
  9. Vai ir kāds veids, kā paātrināt lielu datuma un laika virkņu sarakstu parsēšanu?
  10. Apsveriet iespēju izmantot vektorizētas darbības ar efektīvai lielu datu kopu apstrādei.
  11. Vai es varu apstrādāt lokalizētus datumu formātus?
  12. Jā, norādiet lokalizāciju parsēšanas funkcijā vai izmantojiet lokalizācijas bibliotēkas, lai apstrādātu lokalizētu datuma formātu.
  13. Ko darīt, ja manās datumu virknēs ir papildu teksts?
  14. Pirms parsēšanas izņemiet datuma daļu, izmantojot regulārās izteiksmes.
  15. Kā rīkoties ar datumiem ar dažādiem atdalītājiem?
  16. The ir elastīgs ar atdalītājiem un var apstrādāt dažādus norobežotājus.
  17. Vai es varu parsēt datumus ar trūkstošiem komponentiem?
  18. Jā, var secināt, ka trūkst komponentu, piemēram, pašreizējais gads, ja tas nav norādīts.

Noslēguma domas par datuma un laika pārveidošanu

Rezumējot, datuma un laika virknes konvertēšanu uz datuma un laika objektiem programmā Python var efektīvi panākt, izmantojot dažādas pieejas, piemēram, datuma un laika moduli, saraksta izpratni un pandas bibliotēku. Katra metode piedāvā unikālas priekšrocības atkarībā no datu kopas sarežģītības un lieluma. Izprotot un izmantojot šīs metodes, izstrādātāji var nodrošināt precīzu un efektīvu datu un laika manipulāciju, kas ir ļoti svarīga datu analīzes un apstrādes uzdevumiem.