Pandas til dags dato

Pandas til dags dato
“I denne artikkelen lærer du hvordan du konverterer en DataFrame -kolonne til dags dato og tid ved å bruke Pandas til DateTime -funksjonen. Å håndtere datoer i pandaer er svært allsidig på grunn av de mange funksjonene og metodene levert av Pandas. Data leser ikke alltid nøyaktig, skjønt.”

Etter å ha fullført denne opplæringen, vil du vite:

  • Hvordan endre en kolonne med DataFrame til dags dato ved hjelp av Pandas til DateTime -funksjonen.
  • Hvordan spesifisere datoformat for å endre forskjellige strengformater.
  • Konverter sekunder og datoer som heltall til Pandas DateTime.

Denne artikkelen vil lære deg hvordan du formaterer en strengkolonne som en dato, formater flere strengkolonner som datoer, og til slutt formater alle datoholdige strengkolonner som datetime-kolonner.

Hvordan du konverterer eller endrer DataFrame -kolonner til DateTime i Pandas?

I denne opplæringen vil vi bruke TO_DateTime () -funksjonen. La oss først undersøke Pandas to_DateTime () -metoden, som tar en Pandas -serie eller kolonne og konverterer den til en datetime. Funksjonen tilbyr et bredt spekter av fleksible parametere som lar deg endre resultatene.

Syntaks: Pandas.to_datetime (arg, feil = 'heve', dagfirst = falsk, årfirst = falsk, utc = ingen, boks = true, format = ingen, nøyaktig = true, enhet = ingen, infer_datetime_format = falsk, opprinnelse = 'unix', cache = Falsk)

Parametere

Arg: Et heltallflyt, streng, liste eller ordboksobjekt som skal konverteres til et datetime -objekt.

DayFirst: En boolverdi. Det er sant som standard.

år først: Boolsk verdi. Hvis sant, vil året bli plassert først.

Utc: Boolsk verdi, hvis den er satt til sann, returnerer den tiden i UTC.

format: Posisjon på dag, måned og år indikeres med en strenginngang.

Returtype: DateTime Series.

Eksempel 1: Konverter en strengkolonne til DateTime

Vi vil først opprette en DataFrame ved hjelp av en ordbok for å demonstrere dette eksemplet. Her lager vi en ordbok. Vi importerer pandaer først, og deretter passerer vi ordboken som et argument inne i PD.DataFrame -klasse.

Vi har opprettet vår dataaframe. DataFrame består av fire kolonner “ID”, “Navn”, “Lønn” og sammenhengende_dato. ID -kolonnen lagrer strengverdier (1001, 1002, 1003, 1004, 1005, 1006), mens kolonnene “Navn” og “lønn” inneholder verdiene (“Kiara”, “Sam”, “Cara”, “Brian ”,“ Henry ”,“ Bill ”) og (henholdsvis 12000, 10000, 9000, 9900, 11500, 11000). I kolonnen "Joining_date" har vi lagret datoverdiene som strengdata (“1/5/2019”, “3/10/2019”, “3/10/2019”, “5/2/2021”, “4 /4/2021 ”,“ 10/4/2021 ”).

Nå for å endre kolonnen "Joining_date" til DateTime, vil vi bruke til_datetime () -metoden.

Vi har passert kolonnen Joining_date til to_dateTime () -funksjonen. La oss nå sjekke om kolonnen er konvertert til DateTime eller ikke ved å bruke info () -funksjonen på DataFrame.

I DTTYPE -delen/kolonnen kan du se at kolonnen Join_Date er konvertert til DateTime.

Eksempel nr. 2: Konverter en numerisk kolonne til DateTime

Vi har sett i eksempel nr. 1 hvordan du konverterer en kolonne med datoverdier som en streng til en datatime. Nå vil vi opprette en DataFrame med minst en kolonne som har datoverdier som en streng, og så vil vi konvertere den til DateTime ved å bruke TO_DATETIME () -funksjonen.

Vi har opprettet vår DataFrame med fire kolonner “ID”, “Navn”, “Age” og “Task_Date”. Dataverdiene (1011, 1022, 1033, 1044, 1055, 1066), (“Tom”, “Mandy”, “Sara”, “Bran”, “Lucy”, “Blake”), og (24, 21, 23 , 25, 21, 23) lagres i henholdsvis kolonnene "ID", "Navn" og "Alder". I kolonnen "Task_date" har vi lagret datadataene som numeriske verdier (20220410, 20220412, 20220415, 20220501, 20220515, 20220610). Igjen vil vi bruke DTYPES -attributtet for å bestemme datatypene til hver kolonne i DataFrame.

For øyeblikket er datatypen til kolonnen “task_date” int64. For å konvertere det til datetime, vil vi bruke to_datetime () -metoden.

Vi har konvertert heltallkolonnen til DateTime ved hjelp av TO_DateTime () -funksjonen. Info () -metoden kan brukes til å bekrefte resultatet.

I stedet for å lagre datetiden i samme kolonne, kan vi lagre datetimeverdiene i en ny kolonne.

Datatypen til den nye kolonnetatetiden kan bestemmes ved hjelp av DTYPES -attributtet.

Eksempel nr. 3: Konverter strengkolonnen til DateTime med yyyymmdd -format

Vi kan endre datoformatet for datostrengverdier etter å ha konvertert verdiene til DateTime ved å bruke TO_DATEMTIME () -funksjonen og spesifisere formatparameteren som et gyldig format. Vi vil først opprette en dataaframe som består av minst en kolonne med datoverdier som strenger.

I DataFrame over har vi laget to kolonner “Salg” og “Sales_date” med dataverdier (3, 2, 4, 10, 5, 6) og (“220110”, “210215”, “210330”, “210401” , “210510”, “210620”). Foreløpig vil datatypen til kolonnen “Sales_date” være “Objekt”.

Du kan se at kolonnen "Salgsdato" i DataFrame har datatypen "Objekt", som indikerer at det er en streng. Nå vil vi bruke formatparameteren til TO_DateTime () -metoden for å konvertere datatypen til Datetime (“Yyyy-Mm-DD”) -formatet.

Det kan sees at Sales_date -kolonnen vår blir konvertert til datetime og formatert i%y%m%d -format.

Eksempel 4: Konverter flere kolonner til DateTime

Du kan bruke Pandas Apply () og To_DateTime () -metoder for å konvertere flere kolonner i pandaer til DateTime. Apply () -funksjonen vil bli brukt på en liste med etiketter med kolonner, og funksjonen til_datetime () vil bli bestått som en inngang i Apply () -funksjonen. Først trenger vi en DataFrame med flere kolonner som inneholder datadata.

Vi har opprettet den nødvendige DataFrame med kolonnene “Task”, “Assign_date” og “Due_date”. I kolonnen "Oppgave" har vi dataverdier (2, 4, 5, 2, 4, 3), i kolonnen "Assign_date" har vi lagret strengverdiene ("13/02/2022", "3/03 /2019 ”,“ 5/04/2019 ”,“ 7/05/2021 ”,“ 10/06/2021 ”,“ 12/07/2021 ”), og i kolonnen“ Due_date ”er dataverdiene (“ 18/02/2022 ”,“ 10/03/2022 ”,“ 8/04/2022 ”,“ 12/05/2022 ”,“ 15/06/2022 ”,“ 21/07/2022). La oss nå konvertere datakolonnene til datetime.

Vi har valgt kolonnene “Assign_date” og “Due_date” og deretter brukt Apply () -funksjonen for å bruke til_datetime () -funksjonen på begge kolonnene. La oss sjekke dytene til kolonnene for å bekrefte om kolonnene er konvertert til datetime.

Begge kolonnene blir vellykket konvertert til datetime, som det kan sees ovenfor i dtype -kolonnen.

Eksempel 5: Konverter UNIX -heltalldagene til DateTime

Konverteringen av heltalldata til UNIX -dager er en annen kraftig konvertering som pandaer tilbys. En heltallkolonne kan legges inn i TO_DATETIME () -funksjonen. For å gjøre dette, må vi spesifisere “D” som verdien av UNIX -parameteren, noe som gjør at heltallverdien representerer en dag fra et gitt opprinnelse. La oss opprette en DataFrame som har en heltallkolonne som representerer datadata.

Vi har opprettet en dataaframe som bare har en kolonne, "Dato", lagret dataverdiene som heltall (12642, 23345, 25322, 14536, 13455). La oss nå konvertere kolonnen vår til DateTime.

Ved å spesifisere UNIX = “D” inne i To_DateTime () -funksjonen, har vi konvertert Unix Days (heltall) til DateTime. Vi spesifiserte ikke opprinnelsesparameteren fordi den er standard satt til “Unix”.

Andre metoder som Astypes () kan også brukes til å konvertere kolonnen til DataFrame til DateTime. Men å bruke til_datetime () -metoden er en bedre og mer autentisk måte å utføre denne konverteringen.

Konklusjon

I denne opplæringen har vi diskutert hvordan Pandas -kolonnen eller serien kan konverteres til Datatime -objektet. Vi har brukt til_datetime -funksjonen i denne opplæringen for å utføre konvertering fra pandaer til datetime. Vi så syntaksen til funksjonen sammen med dens parametere for å forstå dens arbeid og funksjonalitet. I eksemplene på dette innlegget prøvde vi å lære deg hvordan du konverterer en strengkolonne, en numerisk kolonne og flere kolonner til DateTime. Vi diskuterte også metoder og parametere for å endre datoformatene.