Pandalarda tarihler nasıl karşılaştırılır: örneklerle


Pandas DataFrame’deki iki sütun arasındaki tarihleri karşılaştırmak için aşağıdaki yöntemleri kullanabilirsiniz:

Yöntem 1: DataFrame’e tarih karşılaştırmasını görüntüleyen yeni bir sütun ekleyin

 df[' met_due_date '] = df[' comp_date '] < df[' due_date ']

Bu özel örnek, comp_date sütunundaki tarihin, Due_date sütunundaki tarihten önce olup olmadığına bağlı olarak Doğru veya Yanlış değerini döndüren met_due_date adlı yeni bir sütun ekler.

Yöntem 2: DataFrame’i tarih karşılaştırmasına göre filtreleme

 df_met_due_date = df[df[' comp_date '] < df[' due_date ']]

Bu özel örnek, yalnızca comp_date sütunundaki tarihi, Due_date sütunundaki tarihten önce olan satırları tutacak şekilde DataFrame’i filtreler.

Aşağıdaki örnekler, bu yöntemlerin her birinin pratikte aşağıdaki pandalar DataFrame ile nasıl kullanılacağını gösterir:

 import pandas as pd

#createDataFrame
df = pd. DataFrame ({' task ': ['A', 'B', 'C', 'D'],
                   ' due_date ': ['4-15-2022', '5-19-2022', '6-14-2022', '10-24-2022'],
                   ' comp_date ': ['4-14-2022', '5-23-2022', '6-24-2022', '10-7-2022']})

#convert due_date and comp_date columns to datetime format
df[[' due_date ', ' comp_date ']] = df[[' due_date ', ' comp_date ']]. apply (pd. to_datetime )

#view DataFrame
print (df)

  task due_date comp_date
0 A 2022-04-15 2022-04-14
1 B 2022-05-19 2022-05-23
2 C 2022-06-14 2022-06-24
3 D 2022-10-24 2022-10-07

Örnek 1: DataFrame’e tarih karşılaştırmasını görüntüleyen yeni bir sütun ekleyin

Aşağıdaki kod, comp_date sütunundaki tarihin, Due_date sütunundaki tarihten önce olup olmamasına bağlı olarak Doğru veya Yanlış değerini döndüren met_due_date adlı yeni bir sütunun nasıl ekleneceğini gösterir.

 import pandas as pd

#create new column that shows if completion date is before due date
df[' met_due_date '] = df[' comp_date '] < df[' due_date ']

#view updated DataFrame
print (df)

  task due_date comp_date met_due_date
0 A 2022-04-15 2022-04-14 True
1 B 2022-05-19 2022-05-23 False
2 C 2022-06-14 2022-06-24 False
3 D 2022-10-24 2022-10-07 True

DataFrame’deki her satır için yeni met_due_date sütunu, comp_date sütunundaki tarihin, Due_date sütunundaki tarihten önce olup olmadığını gösterir.

Örneğin, Görev A’nın son tarihinin 04/15/2022, tamamlanma tarihinin ise 04/14/2022 olduğunu görebiliriz.

Tamamlanma tarihi vade tarihinden önce olduğundan met_due_date sütununun değeri True olur.

Örnek 2: DataFrame’i tarih karşılaştırmasına göre filtreleme

Aşağıdaki kod, DataFrame’in yalnızca comp_date sütunundaki tarihi, Due_date sütunundaki tarihten önce olan satırları içerecek şekilde nasıl filtreleneceğini gösterir.

 import pandas as pd

#filter for rows where completion date is before due date
df_met_due_date = df[df[' comp_date '] < df[' due_date ']]

#view results
print (df_met_due_date)

  task due_date comp_date
0 A 2022-04-15 2022-04-14
3 D 2022-10-24 2022-10-07

Yeni DataFrame, yalnızca comp_date sütunundaki tarihi, Due_date sütunundaki tarihten önce olan satırları içerecek şekilde filtrelendi.

Ek kaynaklar

Aşağıdaki eğitimlerde pandalarda diğer yaygın işlemlerin nasıl gerçekleştirileceği açıklanmaktadır:

Pandalar’da tarih aralığı nasıl oluşturulur?
Pandalar’da zaman damgasını tarih/saat’e dönüştürme
Pandalarda iki tarih arasındaki fark nasıl hesaplanır?

Yorum ekle

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