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

การเปรียบเทียบการประทับเวลาใน Python – Pandas


ในการเปรียบเทียบการประทับเวลา เราสามารถใช้ตัวดำเนินการดัชนี เช่น วงเล็บเหลี่ยม ขั้นแรก นำเข้าไลบรารีที่จำเป็น -

import pandas as pd

สร้าง DataFrame ที่มี 3 คอลัมน์ -

dataFrame = 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"),
      ]
   })

ให้เราเปรียบเทียบการประทับเวลาจากคอลัมน์วันที่ทั้งสอง -

timestamp1_diff = abs(dataFrame['Date_of_Purchase'][0]-dataFrame['Date_of_Service'][0])
timestamp2_diff = abs(dataFrame['Date_of_Purchase'][1]-dataFrame['Date_of_Service'][1])

เปรียบเทียบการประทับเวลาทั้งหมด -

timestamp_diff = abs(dataFrame['Date_of_Purchase']-dataFrame['Date_of_Service'])

ตัวอย่าง

ต่อไปนี้เป็นรหัสที่สมบูรณ์ -

import pandas as pd

# create a dataframe with 3 columns
dataFrame = 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", dataFrame

# compare specific timestamps
timestamp1_diff = abs(dataFrame['Date_of_Purchase'][0]-dataFrame['Date_of_Service'][0])
timestamp2_diff = abs(dataFrame['Date_of_Purchase'][1]-dataFrame['Date_of_Service'][1])
print"\nDifference between Car 1 Date of Purchase and Service \n",timestamp1_diff
print"\nDifference between Car 2 Date of Purchase and Service \n",timestamp2_diff

# compare all timestamps by finding difference
timestamp_diff = abs(dataFrame['Date_of_Purchase']-dataFrame['Date_of_Service'])
print"\nDifference between two Timestamps: \n",timestamp_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

Difference between Car 1 Date of Purchase and Service
153 days 00:00:00

Difference between Car 2 Date of Purchase and Service
153 days 00:00:00

Difference between two Timestamps:
0   153 days
1   153 days
2   153 days
3   153 days
4   153 days
dtype: timedelta64[ns]