Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python Pandas - Lọc DataFrame theo khoảng giữa hai ngày


Sử dụng dataframe.loc với điều kiện boolean để lọc các hàng có cột ngày tháng nằm trong khoảng từ ngày bắt đầu đến ngày kết thúc.

Import pandas:

import pandas as pd

Tạo dictionary dữ liệu ngày mua xe:

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']}

Tạo DataFrame:

dataFrame = pd.DataFrame(d)

Lọc xe mua từ 2021-05-10 đến 2021-08-25:

resDF = dataFrame.loc[(dataFrame["Date_of_Purchase"] >= "2021-05-10") & (dataFrame["Date_of_Purchase"] <= "2021-08-25")]

Ví dụ hoàn chỉnh

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)
resDF = dataFrame.loc[(dataFrame["Date_of_Purchase"] >= "2021-05-10") & (dataFrame["Date_of_Purchase"] <= "2021-08-25")]
print("\nXe mua giữa 2 ngày:\n", resDF)

Kết quả

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-02-19
5 Bentley       2021-08-22
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