Panda's: rijen tussen twee datums selecteren


U kunt de volgende syntaxis gebruiken om rijen tussen twee specifieke datums in een Panda DataFrame te selecteren:

 df[df. date . between (' 2022-01-02 ', ' 2022-01-06 ')]

In dit specifieke voorbeeld worden alle rijen in het DataFrame tussen 01/02/2022 en 01/06/2022 geselecteerd.

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

Voorbeeld: selecteer rijen tussen twee datums in Panda’s

Stel dat we de volgende panda’s DataFrame hebben:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' date ': pd. date_range (start=' 1/1/2022 ', periods= 8 ),
                   ' sales ': [18, 20, 15, 14, 10, 9, 8, 12],
                   ' returns ': [5, 7, 7, 9, 12, 3, 2, 4]})

#view DataFrame
print (df)

        date sales returns
0 2022-01-01 18 5
1 2022-01-02 20 7
2 2022-01-03 15 7
3 2022-01-04 14 9
4 2022-01-05 10 12
5 2022-01-06 9 3
6 2022-01-07 8 2
7 2022-01-08 12 4

We kunnen de volgende syntaxis gebruiken om alleen rijen tussen de datum 01/02/2022 en 01/06/2022 te selecteren:

 #select all rows where date is between 2022-01-02 and 2022-01-06
df[df. date . between (' 2022-01-02 ', ' 2022-01-06 ')]

              date sales returns
1 2022-01-02 20 7
2 2022-01-03 15 7
3 2022-01-04 14 9
4 2022-01-05 10 12
5 2022-01-06 9 3

Houd er rekening mee dat alleen rijen tussen de datums 02-01-2022 en 06-01-2022 zijn geselecteerd.

Als je wilt, kun je de begin- en einddatum ook buiten de functie between() instellen:

 #define start and end dates
start_date = ' 2022-01-02 '
end_date = ' 2022-01-06 '

#select all rows where date is between start and end
df[df. date . between (start_date, end_date)]


              date sales returns
1 2022-01-02 20 7
2 2022-01-03 15 7
3 2022-01-04 14 9
4 2022-01-05 10 12
5 2022-01-06 9 3

Dit levert hetzelfde resultaat op.

Houd er rekening mee dat als uw datumkolom geen herkenbaar datum/tijd-formaat heeft, u mogelijk eerst de volgende code moet gebruiken om deze naar het datum/tijd-formaat te converteren:

 df[' date '] = pd. to_datetime (df[' date ']) 

Zodra u dat heeft gedaan, kunt u de functie between() gebruiken om rijen tussen specifieke datums te selecteren.

Aanvullende bronnen

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

Hoe u een datumbereik in Pandas maakt
Hoe maand uit datum te extraheren in Panda’s
Hoe tijdstempel naar datum/tijd in Panda’s te converteren

Einen Kommentar hinzufügen

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