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

Python - กรอง Pandas DataFrame ตามเวลา

ใช้ DataFrame.loc[] กับเงื่อนไขเปรียบเทียบคอลัมน์วันที่ เพื่อกรองแถวหลังจากวันที่กำหนด

ตัวอย่างโค้ด

import pandas as pd

d = {'Car': ['BMW', 'Lexus', 'Audi', 'Mercedes', 'Jaguar', 'Bentley'],
     'Date_of_Purchase': ['2021-07-10', '2021-08-12', '2021-06-17', '2021-03-16', '2021-05-19', '2021-08-22']}

dataFrame = pd.DataFrame(d)
print("DataFrame...\n", dataFrame)

# Cars purchased after 15th July 2021
resDF = dataFrame.loc[dataFrame["Date_of_Purchase"] > "2021-07-15"]

print("\nCars purchased after 15th July 2021:\n", resDF)

ผลลัพธ์

Cars purchased after 15th July 2021:
     Car Date_of_Purchase
1  Lexus       2021-08-12
5 Bentley       2021-08-22

คำอธิบาย

  • คอลัมน์ String รูปแบบ YYYY-MM-DD เปรียบเทียบ Lexicographical ได้ถูกต้อง
  • loc[condition] กรองแถวที่ Condition เป็น True
  • แนะนำ: ใช้ pd.to_datetime() แปลงคอลัมน์ก่อนกรอง เพื่อรองรับรูปแบบวันที่หลากหลาย