สามารถเปรียบเทียบ Timestamp ได้โดยการลบคอลัมน์ Timestamp หรือเข้าถึงค่าเฉพาะแถวด้วย index operator [] ผลลัพธ์เป็น Timedelta ใช้ abs() เพื่อค่าสัมบูรณ์
ตัวอย่างโค้ด
import pandas as pd
df = pd.DataFrame({
"Car": ["Audi", "Lexus", "Tesla", "Mercedes", "BMW"],
"Date_of_Purchase": [
pd.Timestamp("2021-06-10"),
pd.Timestamp("2021-07-11"),
pd.Timestamp("2021-06-25"),
pd.Timestamp("2021-06-29"),
pd.Timestamp("2021-03-20")
],
"Date_of_Service": [
pd.Timestamp("2021-11-10"),
pd.Timestamp("2021-12-11"),
pd.Timestamp("2021-11-25"),
pd.Timestamp("2021-11-29"),
pd.Timestamp("2021-08-20")
]
})
print("DataFrame:\n", df)
# เปรียบเทียบแถวเฉพาะ (แถว 0 และ 1)
diff1 = abs(df['Date_of_Purchase'][0] - df['Date_of_Service'][0])
diff2 = abs(df['Date_of_Purchase'][1] - df['Date_of_Service'][1])
print(f"\nความต่างรถคันที่ 1 (Audi): {diff1}")
print(f"ความต่างรถคันที่ 2 (Lexus): {diff2}")
# เปรียบเทียบทุกแถว
all_diff = abs(df['Date_of_Purchase'] - df['Date_of_Service'])
print("\nความต่างทุกคัน:\n", all_diff)
ผลลัพธ์
DataFrame:
Car Date_of_Purchase Date_of_Service
0 Audi 2021-06-10 2021-11-10
1 Lexus 2021-07-11 2021-12-11
2 Tesla 2021-06-25 2021-11-25
3 Mercedes 2021-06-29 2021-11-29
4 BMW 2021-03-20 2021-08-20
ความต่างรถคันที่ 1 (Audi): 153 days 00:00:00
ความต่างรถคันที่ 2 (Lexus): 153 days 00:00:00
ความต่างทุกคัน:
0 153 days
1 153 days
2 153 days
3 153 days
4 153 days
dtype: timedelta64[ns]
สามารถเปรียบเทียบแถวเดี่ยวหรือทั้งคอลัมน์ได้ ผลลัพธ์เป็น Timedelta