Pandalar: dataframe satırlarını zaman damgasına göre seçme


Bir pandas DataFrame’de iki zaman damgası arasındaki satırları seçmek için aşağıdaki temel sözdizimini kullanabilirsiniz:

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

Bu sözdizimi, tstamp’ın zaten bir tarihsaat türüne sahip olduğunu varsayar.

Değilse, bunu bir tarihsaat sütununa dönüştürmek için aşağıdaki sözdizimini kullanabilirsiniz:

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

Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.

Örnek: Pandas DataFrame satırlarını zaman damgasına göre seçin

Bir perakende mağazasındaki satışlarla ilgili bilgileri içeren aşağıdaki pandalar DataFrame’e sahip olduğumuzu varsayalım:

 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

Diyelim ki yalnızca aşağıdaki iki zaman damgası arasındaki satırları seçmek istiyoruz:

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

Bunu yapmak için aşağıdaki sözdizimini kullanabiliriz:

 #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

Yalnızca belirttiğimiz iki zaman damgası arasındaki satırların seçildiğini unutmayın.

Ayrıca yalnızca bir tarih değeri kullanarak satırları zaman damgasına göre seçebileceğinizi unutmayın.

Örneğin, zaman damgası 2022-10-27’den büyük olan tüm satırları seçmek için aşağıdaki kodu kullanabiliriz:

 #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

Yalnızca tsamp sütunundaki değeri 2022-10-27 tarihinden sonra olan satırların seçildiğini unutmayın.

Ek kaynaklar

Aşağıdaki eğitimlerde pandalarda diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:

Pandalar’da DateTime’ı tarihe nasıl dönüştürebilirim?
Pandalar’da sütunları DateTime’a dönüştürme
Pandas DataFrame’i tarihe göre nasıl sıralayabilirim?

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir