Pandy: jak wybrać wiersze między dwiema datami


Możesz użyć następującej składni, aby wybrać wiersze pomiędzy dwiema określonymi datami w ramce DataFrame pandy:

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

W tym konkretnym przykładzie zaznaczone są wszystkie wiersze w ramce danych między 01.02.2022 a 01.06.2022.

Poniższy przykład pokazuje, jak zastosować tę składnię w praktyce.

Przykład: wybierz wiersze pomiędzy dwiema datami w Pandach

Załóżmy, że mamy następującą ramkę DataFrame pand:

 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

Możemy użyć następującej składni, aby wybrać tylko wiersze między datą 01.02.2022 a 01.06.2022:

 #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

Należy pamiętać, że wybrane są tylko wiersze pomiędzy datami 2022-01-02 i 2022-01-06.

Jeśli chcesz, możesz także ustawić daty początkowe i końcowe poza funkcją Between() :

 #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

Daje to ten sam wynik.

Pamiętaj, że jeśli kolumna daty nie jest w rozpoznawalnym formacie datetime, konieczne może być najpierw użycie poniższego kodu w celu przekonwertowania jej na format datetime:

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

Gdy już to zrobisz, możesz użyć funkcji Between() , aby wybrać wiersze pomiędzy określonymi datami.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje na pandach:

Jak utworzyć zakres dat w Pandach
Jak wyodrębnić miesiąc z daty w Pandach
Jak przekonwertować znacznik czasu na datę/godzinę w Pandach

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *