Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

เปรียบเทียบ Timestamp ใน Pandas DataFrame คำนวณความต่างและเปรียบเทียบ

สามารถเปรียบเทียบ 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