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?