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

Python - กรอง Pandas DataFrame ตาม Time


ในการกรอง 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 จากพจนานุกรมรายการด้านบน -

dataFrame = pd.DataFrame(d)

สมมติว่าเราจำเป็นต้องเรียกรถที่ซื้อหลังจากวันที่ระบุ สำหรับสิ่งนี้ เราใช้ loc −

resDF = dataFrame.loc[dataFrame["Date_of_Purchase"] > "2021-07-15"]

ตัวอย่าง

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

import pandas as pd

# dictionary of lists
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']
   }

# creating dataframe from the above dictionary of lists
dataFrame = pd.DataFrame(d)
print"DataFrame...\n",dataFrame

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

# print filtered data frame
print"\nCars purchased after 15th July 2021: \n",resDF

ผลลัพธ์

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

DataFrame...
        Car   Date_of_Purchase
0       BMW         2021-07-10
1     Lexus         2021-08-12
2      Audi         2021-06-17
3  Mercedes         2021-03-16
4    Jaguar         2021-05-19
5   Bentley         2021-08-22

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