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

Tìm kiếm sự khác biệt trong Dấu thời gian - Python Pandas

Để tìm sự khác biệt về 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 để tìm sự khác biệt. Đối với dấu thời gian, chúng ta cũng cần sử dụng abs (). Đầu tiên, hãy nhập thư viện được yêu cầu -

import pandas as pd

Tạo một DataFrame có 3 cột. Chúng tôi có hai cột ngày với dấu thời gian -

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 tìm sự khác biệt giữa các dấu thời gian từ cả hai cột ngày -

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

Ví dụ

Sau đây là mã -

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

# find difference in timestamps
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 two Timestamps:
0   153 days
1   153 days
2   153 days
3   153 days
4   153 days
dtype: timedelta64[ns]