Pandas: cara memilih baris antara dua tanggal


Anda dapat menggunakan sintaks berikut untuk memilih baris antara dua tanggal tertentu di pandas DataFrame:

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

Contoh khusus ini memilih semua baris di DataFrame antara 01/02/2022 dan 01/06/2022.

Contoh berikut menunjukkan cara menggunakan sintaksis ini dalam praktiknya.

Contoh: pilih baris antara dua tanggal di Pandas

Misalkan kita memiliki panda DataFrame berikut:

 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

Kita dapat menggunakan sintaks berikut untuk memilih hanya baris antara tanggal 01/02/2022 dan 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

Perhatikan bahwa hanya baris antara tanggal 02-01-2022 dan 06-01-2022 yang dipilih.

Jika mau, Anda juga dapat mengatur tanggal mulai dan berakhir di luar fungsi 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

Ini menghasilkan hasil yang sama.

Perhatikan bahwa jika kolom tanggal Anda tidak dalam format tanggal-waktu yang dapat dikenali, Anda mungkin perlu menggunakan kode berikut terlebih dahulu untuk mengonversinya ke format tanggal-waktu:

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

Setelah Anda selesai melakukannya, Anda dapat menggunakan fungsi between() untuk memilih baris di antara tanggal tertentu.

Sumber daya tambahan

Tutorial berikut menjelaskan cara melakukan operasi umum lainnya di panda:

Cara membuat rentang tanggal di Pandas
Cara mengekstrak bulan dari tanggal di Pandas
Bagaimana cara mengubah stempel waktu menjadi tanggal/waktu di Pandas

Tambahkan komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *