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. 00Chú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. 002. 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']]
4df[[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.