วิธีเปรียบเทียบวันที่ในหมีแพนด้า: พร้อมตัวอย่าง


คุณสามารถใช้วิธีการต่อไปนี้เพื่อเปรียบเทียบวันที่ระหว่างสองคอลัมน์ใน DataFrame แพนด้า:

วิธีที่ 1: เพิ่มคอลัมน์ใหม่ลงใน DataFrame ที่แสดงการเปรียบเทียบวันที่

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

ตัวอย่างนี้เพิ่มคอลัมน์ใหม่ชื่อ met_due_date ซึ่งส่งคืน True หรือ False ขึ้นอยู่กับว่าวันที่ในคอลัมน์ comp_date อยู่ก่อนวันที่ในคอลัมน์ Due_date

วิธีที่ 2: กรอง DataFrame ตามการเปรียบเทียบวันที่

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

ตัวอย่างนี้กรอง DataFrame เพื่อเก็บเฉพาะแถวที่มีวันที่ในคอลัมน์ comp_date ก่อนวันที่ในคอลัมน์ Due_date

ตัวอย่างต่อไปนี้แสดงวิธีการใช้แต่ละวิธีในทางปฏิบัติกับ Pandas DataFrame ต่อไปนี้:

 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

ตัวอย่างที่ 1: เพิ่มคอลัมน์ใหม่ลงใน DataFrame ที่แสดงการเปรียบเทียบวันที่

รหัสต่อไปนี้แสดงวิธีการเพิ่มคอลัมน์ใหม่ที่เรียกว่า met_due_date ซึ่งส่งกลับค่า True หรือ False ขึ้นอยู่กับว่าวันที่ในคอลัมน์ comp_date อยู่ก่อนวันที่ในคอลัมน์ Due_date

 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 คอลัมน์ met_due_date ใหม่จะระบุว่าวันที่ในคอลัมน์ comp_date อยู่ก่อนวันที่ในคอลัมน์ Due_date หรือไม่

ตัวอย่างเช่น เราจะเห็นว่างาน A มีวันครบกำหนดคือ 04/15/2022 และวันที่เสร็จสมบูรณ์คือ 04/14/2022

เนื่องจากวันที่เสร็จสมบูรณ์อยู่ก่อนวันครบกำหนด ค่าของคอลัมน์ met_due_date จึงเป็น True

ตัวอย่างที่ 2: กรอง DataFrame ตามการเปรียบเทียบวันที่

รหัสต่อไปนี้แสดงวิธีการกรอง DataFrame เพื่อให้มีเฉพาะแถวที่มีวันที่ในคอลัมน์ comp_date อยู่ก่อนวันที่ในคอลัมน์ Due_date

 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

DataFrame ใหม่ได้รับการกรองเพื่อให้มีเฉพาะแถวที่มีวันที่ในคอลัมน์ comp_date ก่อนวันที่ในคอลัมน์ Due_date

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการทั่วไปอื่น ๆ ในแพนด้า:

วิธีสร้างช่วงวันที่ใน Pandas
วิธีแปลงการประทับเวลาเป็นวันที่/เวลาใน Pandas
วิธีคำนวณความแตกต่างระหว่างวันที่สองวันในหมีแพนด้า

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *