Panda's: dataframe-rijen selecteren op tijdstempel


U kunt de volgende basissyntaxis gebruiken om rijen tussen twee tijdstempels in een Panda DataFrame te selecteren:

 df[(df[' tstamp '] > ' 2022-10-25 04:30:00 ') & (df[' tstamp '] < ' 2022-10-27 11:00:00 ')]

Deze syntaxis gaat ervan uit dat tstamp al een datetime-type heeft.

Als dit niet het geval is, kunt u de volgende syntaxis gebruiken om deze naar een datetime-kolom te converteren:

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

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

Voorbeeld: selecteer Pandas DataFrame-rijen op tijdstempel

Stel dat we het volgende panda’s DataFrame hebben dat informatie bevat over de verkopen in een winkel:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' tstamp ': ['2022-10-25 04:00:00', '2022-10-25 11:55:12',
                                 '2022-10-26 02:00:00', '2022-10-27 10:30:00',
                                 '2022-10-27 14:25:00', '2022-10-28 01:15:27'],
                   ' sales ': [18, 22, 19, 14, 14, 11]})

#view DataFrame
print (df)

                tstamp sales
0 2022-10-25 04:00:00 18
1 2022-10-25 11:55:12 22
2 2022-10-26 02:00:00 19
3 2022-10-27 10:30:00 14
4 2022-10-27 14:25:00 14
5 2022-10-28 01:15:27 11

Stel dat we alleen de rijen tussen de volgende twee tijdstempels willen selecteren:

  • 25-10-2022 04:30:00
  • 27-10-2022 11:00:00

We kunnen hiervoor de volgende syntaxis gebruiken:

 #convert timestamp column to datetime dtype
df[' tstamp '] = pd. to_datetime (df[' tstamp '])

#select rows between two timestamps
df[(df[' tstamp '] > ' 2022-10-25 04:30:00 ') & (df[' tstamp '] < ' 2022-10-27 11:00:00 ')]

	tstamp sales
1 2022-10-25 11:55:12 22
2 2022-10-26 02:00:00 19
3 2022-10-27 10:30:00 14

Houd er rekening mee dat alleen de regels tussen de twee tijdstempels die we hebben opgegeven, zijn geselecteerd.

Houd er ook rekening mee dat u rijen kunt selecteren op tijdstempel met alleen een datumwaarde.

We kunnen bijvoorbeeld de volgende code gebruiken om alle rijen te selecteren met een tijdstempel groter dan 27-10-2022:

 #convert timestamp column to datetime dtype
df[' tstamp '] = pd. to_datetime (df[' tstamp '])

#select rows with timestamp after 2022-10-27
df[df[' tstamp '] > ' 2022-10-27 ']

	tstamp sales
3 2022-10-27 10:30:00 14
4 2022-10-27 14:25:00 14
5 2022-10-28 01:15:27 11

Houd er rekening mee dat alleen rijen waarvan de waarde in de tsamp- kolom later is dan 27-10-2022 worden geselecteerd.

Aanvullende bronnen

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

Hoe DateTime naar datum te converteren in Pandas
Hoe kolommen naar DateTime in Pandas te converteren
Hoe een Pandas DataFrame op datum te sorteren

Einen Kommentar hinzufügen

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