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?