Panda's: maak een datumkolom van jaar, maand en dag


U kunt de volgende basissyntaxis gebruiken om een datumkolom te maken op basis van de kolommen jaar, maand en dag in een Panda DataFrame:

 df[' date '] = pd. to_datetime (dict(year=df. year , month=df. month , day=df. day ))

Het volgende voorbeeld laat zien hoe u deze syntaxis in de praktijk kunt gebruiken.

Voorbeeld: Maak een datumkolom van jaar, maand en dag in Pandas

Laten we zeggen dat we de volgende panda’s DataFrame hebben die de verkopen van een bedrijf op verschillende data weergeven:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' year ': [2021, 2022, 2022, 2022, 2022, 2022, 2022, 2022],
                   ' month ': [7, 1, 1, 2, 5, 10, 11, 12],
                   ' day ': [4, 15, 25, 27, 27, 24, 10, 18],
                   ' sales ': [140, 200, 250, 180, 130, 87, 90, 95]})

#view DataFrame
print (df)

   year month day sales
0 2021 7 4 140
1 2022 1 15 200
2 2022 1 25 250
3 2022 2 27 180
4 2022 5 27 130
5 2022 10 24 87
6 2022 11 10 90
7 2022 12 18 95

We kunnen de volgende syntaxis gebruiken om een nieuwe kolom te maken met de naam date , waarin de waarden van de kolommen year , month en day in het DataFrame worden gecombineerd om een datum voor elke rij te maken:

 #create date columns from year, month, and day columns
df[' date '] = pd. to_datetime (dict(year=df. year , month=df. month , day=df. day ))

#view updated DataFrame
print (df)

   year month day sales date
0 2021 7 4 140 2021-07-04
1 2022 1 15 200 2022-01-15
2 2022 1 25 250 2022-01-25
3 2022 2 27 180 2022-02-27
4 2022 5 27 130 2022-05-27
5 2022 10 24 87 2022-10-24
6 2022 11 10 90 2022-11-10
7 2022 12 18 95 2022-12-18

Houd er rekening mee dat de datumkolom datumwaarden bevat op basis van de waarden in de kolommen year , month en day in elke rij.

Als we df.info() gebruiken om informatie over elke kolom in het DataFrame te krijgen, kunnen we zien dat de nieuwe datumkolom een datetime64- gegevenstype heeft:

 #display information about each column in DataFrame
df. info ()

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 8 entries, 0 to 7
Data columns (total 5 columns):
 # Column Non-Null Count Dtype         
--- ------ -------------- -----         
 0 year 8 non-null int64         
 1 month 8 non-null int64         
 2 day 8 non-null int64         
 3 dirty 8 non-null int64         
 4 date 8 non-null datetime64[ns]
dtypes: datetime64[ns](1), int64(4)
memory usage: 388.0 bytes

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende bewerkingen in panda’s kunt uitvoeren:

Dagen optellen en aftrekken van een datum in Pandas
Hoe rijen tussen twee datums in Pandas te selecteren
Hoe het verschil tussen twee datums in panda’s te berekenen

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert