ใช้ 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-02-19', '2021-08-22']}
dataFrame = pd.DataFrame(d)
print("DataFrame...\n", dataFrame)
# Filter between 2021-05-10 and 2021-08-25
resDF = dataFrame.loc[(dataFrame["Date_of_Purchase"] >= "2021-05-10") &
(dataFrame["Date_of_Purchase"] <= "2021-08-25")]
print("\nCars purchased between 2 dates:\n", resDF)
ผลลัพธ์
Cars purchased between 2 dates:
Car Date_of_Purchase
0 BMW 2021-07-10
1 Lexus 2021-08-12
2 Audi 2021-06-17
5 Bentley 2021-08-22
คำอธิบาย
- คอลัมน์วันที่เป็น String รูปแบบ ISO (YYYY-MM-DD) เปรียบเทียบได้โดยตรง
- ใช้
&(Bitwise AND) รวมเงื่อนไข ต้องใส่วงเล็บครอบแต่ละเงื่อนไข loc[]คืน DataFrame ที่กรองแล้ว- แนะนำ: แปลงคอลัมน์เป็น datetime ด้วย
pd.to_datetime()ก่อนกรองเพื่อความปลอดภัย