Computer >> Máy Tính >  >> Lập trình >> Python

So sánh Dấu thời gian trong Python - Gấu trúc

Để so sánh dấu thời gian, chúng ta có thể sử dụng toán tử chỉ mục, tức là dấu ngoặc vuông. Đầu tiên, hãy nhập thư viện được yêu cầu -

import pandas as pd

Tạo DataFrame có 3 cột -

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

Bây giờ chúng ta hãy so sánh một số dấu thời gian từ cả hai cột ngày -

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])

So sánh tất cả các dấu thời gian -

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

Ví dụ

Sau đây là mã hoàn chỉnh -

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

Đầu ra

Điều này sẽ tạo ra kết quả sau -

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]