Wanneer een CSV-bestand wordt geïmporteerd en een Data Frame wordt gemaakt, worden de Date-time-objecten in het bestand gelezen als een string-object in plaats van als een Date Time-object. Daarom is het erg moeilijk om bewerkingen zoals Tijdsverschil uit te voeren op een string in plaats van een Date Time-object. voorwerp. De methode Pandas to_datetime() helpt bij het converteren van de tekenreeks Datumtijd naar Python Datum-tijd-object.
Pandas.to_datetime() Syntaxis
Syntaxis: pandas.to_datetime(arg, fouten='raise', dayfirst=False, yearfirst=False, utc=None, box=True, format=None, exact=True, unit=None, infer_datetime_format=False, origin='unix', cache=Onwaar)
Parameters:
- arg: Een geheel getal, tekenreeks, float, lijst of dict-object dat moet worden omgezet in een Datum/tijd-object.
- eerste dag: Booleaanse waarde, plaatst de dag eerst als True.
- jaareerst: Booleaanse waarde, waarbij het jaar eerst wordt geplaatst indien True.
- UTC: Booleaanse waarde, retourneert tijd in UTC indien waar.
- formaat: Stringinvoer om de positie van de dag, de maand en het jaar aan te geven.
Retourtype: Datum Tijd
Pandas.to_datetime() in Pandas-voorbeeld
Panda's to_datetime() wordt gebruikt om verschillende gegevenstypen om te zetten in datetime-objecten. We zullen verschillende voorbeelden zien van hoe u het kunt gebruiken:
Converteer een Pandas-tekenreeks naar Datetime
Gebruik Pandas.to_datetime() om datum- en tijdgegevens die als tekst zijn opgeslagen, om te zetten in datetime-objecten. Het formaat bestaat uit de datum en tijd.
Python3
import> pandas as pd> # date string> d_string>=> '2023-09-17 14:30:00'> # Convert the string to datetime> dt_obj>=> pd.to_datetime(d_string)> print>(dt_obj)> |
>
prestatietesten
>
Uitgang:
2023-09-17 14:30:00>
Converteer Panda's Numerieke waarden naar Datetime
De datetime-objecten kunnen worden gemaakt op basis van numerieke getallen die de tijd vertegenwoordigen, zoals seconden sinds het Unix-tijdperk. We kunnen de eenheid van de invoergegevens specificeren met behulp van het unit-argument.
Python3
import> pandas as pd> # Sample numerical value representing seconds since the Unix epoch> unix_timestamp>=> 1721700500> # Convert to datetime using 's' (seconds) as the unit> dt_obj>=> pd.to_datetime(unix_timestamp, unit>=>'s'>)> print>(dt_obj)> |
>
>
Uitgang:
2024-07-23 02:08:20>
Converteer Panda's-kolom naar DateTime
Hierin wordt uitgelegd hoe u met datum- en tijdgegevens kunt werken met behulp van de Panda's bibliotheek. Het hoofddoel is om datum- en tijdinformatie uit een CSV-bestand om te zetten in een formaat dat de analyse gemakkelijker te begrijpen en nuttiger maakt.
pinda versus aardnoot
Voor de link naar het gebruikte CSV-bestand: Klik hier .
Voorbeeld 1: Datumformaat converteren met behulp van panda's
String naar datum In het volgende voorbeeld wordt een csv-bestand gelezen en wordt de datumkolom van Dataframe vanuit een stringobject geconverteerd naar Date Time-object.
Python3
# Importing the pandas package> import> pandas as pd> # Making a data frame from a CSV file> data>=> pd.read_csv(>'/content/todatetime.csv'>)> # Overwriting data after changing the 'Date' format> data[>'Date'>]>=> pd.to_datetime(data[>'Date'>])># Corrected: Added quotes around 'Date'> # Info of the data> data.info()> # Display the data> print>(data.head())> |
>
>
Uitgang:
taakbeheer voor Linux
RangeIndex: 1000 entries, 0 to 999 Data columns (total 2 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 Date 1000 non-null datetime64[ns] 1 Time 1000 non-null object dtypes: datetime64[ns](1), object(1) memory usage: 15.8+ KB Date Time 0 1993-08-06 12:42 PM 1 1996-03-31 6:53 AM 2 1993-04-23 11:17 AM 3 2005-03-04 1:00 PM 4 1998-01-24 4:47 PM>
Zoals weergegeven in de afbeelding, was de kolom Gegevenstype Datum een object, maar na gebruik van to_datetime() werd deze geconverteerd naar een datum-tijd-object.
Voorbeeld 2: Tijdformaat converteren met Panda's
Uitzondering tijdens conversie Tijdobject kan ook met deze methode worden geconverteerd. Maar aangezien er in de kolom Tijd geen datum is gespecificeerd, zullen Panda's deze datum plaatsen De datum van vandaag automatisch in dat geval.
Python3
# importing pandas package> import> pandas as pd> # making data frame from csv file> data>=> pd.read_csv(>'/content/todatetime.csv'>)> # overwriting data after changing format> data[>'Time'>]>=> pd.to_datetime(data[>'Time'>])> # info of data> data.info()> # display> print>(data.head())> |
>
>
Uitgang:
RangeIndex: 1000 entries, 0 to 999 Data columns (total 2 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 Date 1000 non-null object 1 Time 1000 non-null datetime64[ns] dtypes: datetime64[ns](1), object(1) memory usage: 15.8+ KB Date Time 0 8/6/1993 2023-10-12 12:42:00 1 3/31/1996 2023-10-12 06:53:00 2 4/23/1993 2023-10-12 11:17:00 3 3/4/2005 2023-10-12 13:00:00 4 1/24/1998 2023-10-12 16:47:00>
Zoals u in de uitvoer ziet, is er al een datum (07-07-2018) die de datum van vandaag is, toegevoegd met het object Datum/tijd.