Làm cách nào để lọc dữ liệu giữa hai ngày trong python?

Có nhiều cách khác nhau trong gấu trúc để chọn các hàng giữa hai ngày, chúng ta sẽ thảo luận về từng cách trong các phần sau

  • gấu trúc. loạt. ở giữa[]
  • Lập chỉ mục Boolean
  • Truy vấn khung dữ liệu gấu trúc
  • Định vị khung dữ liệu
  • Cắt bớt khung dữ liệu

Cách chọn hàng giữa ngày?

1. Chọn hàng bằng gấu trúc. loạt. ở giữa[]

Hãy tạo một khung dữ liệu có ngày làm cột và các giá trị trong phạm vi ngày từ ngày 10 tháng 9 năm 2022 đến ngày 2 tháng 10 năm 2022

df=pd.DataFrame[pd.date_range['10-sep-2022','2-oct-2022',freq='9h'],columns=['timestamp']]
df.head[]

ngày02022-09-10 00. 00. 0012022-09-10 09. 00. 0022022-09-10 18. 00. 0032022-09-11 03. 00. 0042022-09-11 12. 00. 00

Chúng tôi muốn lọc các hàng trong khung dữ liệu này [df] trong đó các hàng nằm trong khoảng từ 15-SEP-2022 đến 2-OCT-2022

gấu trúc. loạt. between[] trả về một vectơ boolean chứa True bất cứ nơi nào phần tử Sê-ri tương ứng nằm giữa các giá trị biên trái và phải. Giá trị NA được coi là Sai

Ghi chú. Nếu cột ngày giờ của bạn có kiểu ngày giờ Pandas [e. g.

df[df.date.between['15-sep-2022','21-sep-2022']]
0], để lọc thích hợp, bạn cần pd. Đối tượng dấu thời gian,

df[df.date.between['15-sep-2022','21-sep-2022']]

Ngoài

ngày142022-09-15 06. 00. 00152022-09-15 15. 00. 00162022-09-16 00. 00. 00172022-09-16 09. 00. 00182022-09-16 18. 00. 00192022-09-17 03. 00. 00202022-09-17 12. 00. 00212022-09-17 21. 00. 00222022-09-18 06. 00. 00232022-09-18 15. 00. 00242022-09-19 00. 00. 00252022-09-19 09. 00. 00262022-09-19 18. 00. 00272022-09-20 03. 00. 00282022-09-20 12. 00. 00292022-09-20 21. 00. 00

2. Lọc các hàng bằng Lập chỉ mục Boolean

Chúng tôi có thể sử dụng lập chỉ mục boolean để chọn các hàng giữa các ngày, bạn có thể chuyển các ngày dưới dạng

df[df.date.between['15-sep-2022','21-sep-2022']]
1,
df[df.date.between['15-sep-2022','21-sep-2022']]
2,
df[df.date.between['15-sep-2022','21-sep-2022']]
3 hoặc thậm chí
df[df.date.between['15-sep-2022','21-sep-2022']]
4

df[[df['date'] > '2022-09-15'] & [df['date']  ,  , v.v. ] để so sánh ngày tháng trong Python . Ví dụ: datetime_1 > datetime_2 để kiểm tra xem datetime_1 có lớn hơn datetime_2 không. Nếu bạn chỉ muốn so sánh ngày tháng của đối tượng DateTime, hãy sử dụng phương thức date[] để chỉ trích xuất phần ngày tháng từ đối tượng datetime. 

Chủ Đề