Hãy xem cách chọn/lọc các hàng giữa hai ngày trong Pandas DataFrame, trong các ứng dụng thời gian thực, bạn thường được yêu cầu chọn các hàng giữa hai ngày (tương tự như ngày bắt đầu và nhỏ hơn ngày kết thúc), Trong gấu trúc, . t. c
Trong bài viết này, tôi sẽ giải thích cách chọn các hàng DataFrame của gấu trúc giữa hai ngày bằng cách sử dụng mặt nạ boolean với phương thức import pandas as pd technologies = ({ 'Courses':["Spark","PySpark","Hadoop","Python","Pandas","Hadoop","Spark"], 'Fee' :[22000,25000,23000,24000,26000,25000,25000], 'Duration':['30days','50days','55days','40days','60days','35days','55days'], 'Discount':[1000,2300,1000,1200,2500,1300,1400], 'InsertedDates':["2021-11-14","2021-11-15","2021-11-16","2021-11-17","2021-11-18","2021-11-19","2021-11-20"] }) df = pd.DataFrame(technologies) print(df) 9 và lập chỉ mục DataFrame. Bạn cũng có thể sử dụng các phương pháp Courses Fee Duration Discount InsertedDates 0 Spark 22000 30days 1000 2021-11-14 1 PySpark 25000 50days 2300 2021-11-15 2 Hadoop 23000 55days 1000 2021-11-16 3 Python 24000 40days 1200 2021-11-17 4 Pandas 26000 60days 2500 2021-11-18 5 Hadoop 25000 35days 1300 2021-11-19 6 Spark 25000 55days 1400 2021-11-20 0, Courses Fee Duration Discount InsertedDates 0 Spark 22000 30days 1000 2021-11-14 1 PySpark 25000 50days 2300 2021-11-15 2 Hadoop 23000 55days 1000 2021-11-16 3 Python 24000 40days 1200 2021-11-17 4 Pandas 26000 60days 2500 2021-11-18 5 Hadoop 25000 35days 1300 2021-11-19 6 Spark 25000 55days 1400 2021-11-20 1 và Courses Fee Duration Discount InsertedDates 0 Spark 22000 30days 1000 2021-11-14 1 PySpark 25000 50days 2300 2021-11-15 2 Hadoop 23000 55days 1000 2021-11-16 3 Python 24000 40days 1200 2021-11-17 4 Pandas 26000 60days 2500 2021-11-18 5 Hadoop 25000 35days 1300 2021-11-19 6 Spark 25000 55days 1400 2021-11-20 2. Các phương pháp này được sử dụng để chọn hàng dựa trên ngày trong Pandas
1. Ví dụ nhanh về chọn hàng giữa hai ngày
Nếu bạn đang vội, dưới đây là một số ví dụ nhanh về cách chọn hàng giữa hai ngày từ DataFrame
# Below are quick example # Select DataFrame rows between two dates mask = (df['InsertedDates'] > start_date) & (df['InsertedDates'] <= end_date) df2 = df.loc[mask] # Using pandas.DataFrame.loc[] to Filter Rows by Dates df2 = df.loc[between_two_dates] # Using pandas.DataFrame.query() to select DataFrame Rows start_date = '2021-11-15' end_date = '2021-11-18' df2 = df.query('InsertedDates >= @start_date and InsertedDates <= @end_date') # Select rows between two dates using DataFrame.query() start_date = '2021-11-15' end_date = '2021-11-18' df2 = df.query('InsertedDates > @start_date and InsertedDates < @end_date') # pandas.Series.between() function Using two dates df2 = df.loc[df["InsertedDates"].between("2021-11-16", "2021-11-18")] # Select DataFrame rows between two dates using DataFrame.isin() df2 = df[df["InsertedDates"].isin(pd.date_range("2021-11-15", "2021-11-17"))]Bây giờ, hãy tạo một DataFrame với một vài hàng và cột, thực hiện các ví dụ này và xác thực kết quả. Khung dữ liệu của chúng tôi chứa các tên cột Courses Fee Duration Discount InsertedDates 0 Spark 22000 30days 1000 2021-11-14 1 PySpark 25000 50days 2300 2021-11-15 2 Hadoop 23000 55days 1000 2021-11-16 3 Python 24000 40days 1200 2021-11-17 4 Pandas 26000 60days 2500 2021-11-18 5 Hadoop 25000 35days 1300 2021-11-19 6 Spark 25000 55days 1400 2021-11-20 3, Courses Fee Duration Discount InsertedDates 0 Spark 22000 30days 1000 2021-11-14 1 PySpark 25000 50days 2300 2021-11-15 2 Hadoop 23000 55days 1000 2021-11-16 3 Python 24000 40days 1200 2021-11-17 4 Pandas 26000 60days 2500 2021-11-18 5 Hadoop 25000 35days 1300 2021-11-19 6 Spark 25000 55days 1400 2021-11-20 4, Courses Fee Duration Discount InsertedDates 0 Spark 22000 30days 1000 2021-11-14 1 PySpark 25000 50days 2300 2021-11-15 2 Hadoop 23000 55days 1000 2021-11-16 3 Python 24000 40days 1200 2021-11-17 4 Pandas 26000 60days 2500 2021-11-18 5 Hadoop 25000 35days 1300 2021-11-19 6 Spark 25000 55days 1400 2021-11-20 5, Courses Fee Duration Discount InsertedDates 0 Spark 22000 30days 1000 2021-11-14 1 PySpark 25000 50days 2300 2021-11-15 2 Hadoop 23000 55days 1000 2021-11-16 3 Python 24000 40days 1200 2021-11-17 4 Pandas 26000 60days 2500 2021-11-18 5 Hadoop 25000 35days 1300 2021-11-19 6 Spark 25000 55days 1400 2021-11-20 6 và Courses Fee Duration Discount InsertedDates 0 Spark 22000 30days 1000 2021-11-14 1 PySpark 25000 50days 2300 2021-11-15 2 Hadoop 23000 55days 1000 2021-11-16 3 Python 24000 40days 1200 2021-11-17 4 Pandas 26000 60days 2500 2021-11-18 5 Hadoop 25000 35days 1300 2021-11-19 6 Spark 25000 55days 1400 2021-11-20 7
import pandas as pd technologies = ({ 'Courses':["Spark","PySpark","Hadoop","Python","Pandas","Hadoop","Spark"], 'Fee' :[22000,25000,23000,24000,26000,25000,25000], 'Duration':['30days','50days','55days','40days','60days','35days','55days'], 'Discount':[1000,2300,1000,1200,2500,1300,1400], 'InsertedDates':["2021-11-14","2021-11-15","2021-11-16","2021-11-17","2021-11-18","2021-11-19","2021-11-20"] }) df = pd.DataFrame(technologies) print(df)Sản lượng dưới sản lượng
Courses Fee Duration Discount InsertedDates 0 Spark 22000 30days 1000 2021-11-14 1 PySpark 25000 50days 2300 2021-11-15 2 Hadoop 23000 55days 1000 2021-11-16 3 Python 24000 40days 1200 2021-11-17 4 Pandas 26000 60days 2500 2021-11-18 5 Hadoop 25000 35days 1300 2021-11-19 6 Spark 25000 55days 1400 2021-11-202. Chọn các hàng trong khung dữ liệu giữa hai ngày
Để chọn các hàng giữa hai ngày trong DataFrame của gấu trúc, trước tiên, hãy tạo mặt nạ boolean bằng cách sử dụng Courses Fee Duration Discount InsertedDates 0 Spark 22000 30days 1000 2021-11-14 1 PySpark 25000 50days 2300 2021-11-15 2 Hadoop 23000 55days 1000 2021-11-16 3 Python 24000 40days 1200 2021-11-17 4 Pandas 26000 60days 2500 2021-11-18 5 Hadoop 25000 35days 1300 2021-11-19 6 Spark 25000 55days 1400 2021-11-20 8 để biểu thị thời điểm bắt đầu và kết thúc của phạm vi ngày. Sau đó, bạn chọn DataFrame nằm trong phạm vi bằng cách sử dụng phương pháp Courses Fee Duration Discount InsertedDates 0 Spark 22000 30days 1000 2021-11-14 1 PySpark 25000 50days 2300 2021-11-15 2 Hadoop 23000 55days 1000 2021-11-16 3 Python 24000 40days 1200 2021-11-17 4 Pandas 26000 60days 2500 2021-11-18 5 Hadoop 25000 35days 1300 2021-11-19 6 Spark 25000 55days 1400 2021-11-20 9
import pandas as pd technologies = ({ 'Courses':["Spark","PySpark","Hadoop","Python","Pandas","Hadoop","Spark"], 'Fee' :[22000,25000,23000,24000,26000,25000,25000], 'Duration':['30days','50days','55days','40days','60days','35days','55days'], 'Discount':[1000,2300,1000,1200,2500,1300,1400], 'InsertedDates':["2021-11-14","2021-11-15","2021-11-16","2021-11-17","2021-11-18","2021-11-19","2021-11-20"] }) df = pd.DataFrame(technologies) print(df) 7Sản lượng dưới sản lượng. Điều này trả về các hàng lớn hơn và nhỏ hơn ngày đã chọn
import pandas as pd technologies = ({ 'Courses':["Spark","PySpark","Hadoop","Python","Pandas","Hadoop","Spark"], 'Fee' :[22000,25000,23000,24000,26000,25000,25000], 'Duration':['30days','50days','55days','40days','60days','35days','55days'], 'Discount':[1000,2300,1000,1200,2500,1300,1400], 'InsertedDates':["2021-11-14","2021-11-15","2021-11-16","2021-11-17","2021-11-18","2021-11-19","2021-11-20"] }) df = pd.DataFrame(technologies) print(df) 83. Lọc hàng theo ngày bằng DataFrame. loc[] Phương pháp
Sử dụng phương thức Courses Fee Duration Discount InsertedDates 0 Spark 22000 30days 1000 2021-11-14 1 PySpark 25000 50days 2300 2021-11-15 2 Hadoop 23000 55days 1000 2021-11-16 3 Python 24000 40days 1200 2021-11-17 4 Pandas 26000 60days 2500 2021-11-18 5 Hadoop 25000 35days 1300 2021-11-19 6 Spark 25000 55days 1400 2021-11-20 9 để trả về một mảng boolean với import pandas as pd technologies = ({ 'Courses':["Spark","PySpark","Hadoop","Python","Pandas","Hadoop","Spark"], 'Fee' :[22000,25000,23000,24000,26000,25000,25000], 'Duration':['30days','50days','55days','40days','60days','35days','55days'], 'Discount':[1000,2300,1000,1200,2500,1300,1400], 'InsertedDates':["2021-11-14","2021-11-15","2021-11-16","2021-11-17","2021-11-18","2021-11-19","2021-11-20"] }) df = pd.DataFrame(technologies) print(df) 71 ane import pandas as pd technologies = ({ 'Courses':["Spark","PySpark","Hadoop","Python","Pandas","Hadoop","Spark"], 'Fee' :[22000,25000,23000,24000,26000,25000,25000], 'Duration':['30days','50days','55days','40days','60days','35days','55days'], 'Discount':[1000,2300,1000,1200,2500,1300,1400], 'InsertedDates':["2021-11-14","2021-11-15","2021-11-16","2021-11-17","2021-11-18","2021-11-19","2021-11-20"] }) df = pd.DataFrame(technologies) print(df) 72 (ngày nằm trong khoảng từ ngày 15 đến ngày 19 tháng 9). Sau đó, hàm loc[] chỉ trả về những hàng có giữa hai ngày
import pandas as pd technologies = ({ 'Courses':["Spark","PySpark","Hadoop","Python","Pandas","Hadoop","Spark"], 'Fee' :[22000,25000,23000,24000,26000,25000,25000], 'Duration':['30days','50days','55days','40days','60days','35days','55days'], 'Discount':[1000,2300,1000,1200,2500,1300,1400], 'InsertedDates':["2021-11-14","2021-11-15","2021-11-16","2021-11-17","2021-11-18","2021-11-19","2021-11-20"] }) df = pd.DataFrame(technologies) print(df) 2Sản lượng dưới sản lượng
import pandas as pd technologies = ({ 'Courses':["Spark","PySpark","Hadoop","Python","Pandas","Hadoop","Spark"], 'Fee' :[22000,25000,23000,24000,26000,25000,25000], 'Duration':['30days','50days','55days','40days','60days','35days','55days'], 'Discount':[1000,2300,1000,1200,2500,1300,1400], 'InsertedDates':["2021-11-14","2021-11-15","2021-11-16","2021-11-17","2021-11-18","2021-11-19","2021-11-20"] }) df = pd.DataFrame(technologies) print(df) 34. Chọn hàng giữa hai ngày bằng DataFrame. truy vấn()
Bạn cũng có thể chọn các hàng DataFrame giữa hai ngày trong Pandas bằng phương pháp import pandas as pd technologies = ({ 'Courses':["Spark","PySpark","Hadoop","Python","Pandas","Hadoop","Spark"], 'Fee' :[22000,25000,23000,24000,26000,25000,25000], 'Duration':['30days','50days','55days','40days','60days','35days','55days'], 'Discount':[1000,2300,1000,1200,2500,1300,1400], 'InsertedDates':["2021-11-14","2021-11-15","2021-11-16","2021-11-17","2021-11-18","2021-11-19","2021-11-20"] }) df = pd.DataFrame(technologies) print(df) 73. Phương thức này trả về kết quả DataFrame từ biểu thức truy vấn được cung cấp. Ví dụ import pandas as pd technologies = ({ 'Courses':["Spark","PySpark","Hadoop","Python","Pandas","Hadoop","Spark"], 'Fee' :[22000,25000,23000,24000,26000,25000,25000], 'Duration':['30days','50days','55days','40days','60days','35days','55days'], 'Discount':[1000,2300,1000,1200,2500,1300,1400], 'InsertedDates':["2021-11-14","2021-11-15","2021-11-16","2021-11-17","2021-11-18","2021-11-19","2021-11-20"] }) df = pd.DataFrame(technologies) print(df) 74
import pandas as pd technologies = ({ 'Courses':["Spark","PySpark","Hadoop","Python","Pandas","Hadoop","Spark"], 'Fee' :[22000,25000,23000,24000,26000,25000,25000], 'Duration':['30days','50days','55days','40days','60days','35days','55days'], 'Discount':[1000,2300,1000,1200,2500,1300,1400], 'InsertedDates':["2021-11-14","2021-11-15","2021-11-16","2021-11-17","2021-11-18","2021-11-19","2021-11-20"] }) df = pd.DataFrame(technologies) print(df) 6Sản lượng dưới sản lượng
import pandas as pd technologies = ({ 'Courses':["Spark","PySpark","Hadoop","Python","Pandas","Hadoop","Spark"], 'Fee' :[22000,25000,23000,24000,26000,25000,25000], 'Duration':['30days','50days','55days','40days','60days','35days','55days'], 'Discount':[1000,2300,1000,1200,2500,1300,1400], 'InsertedDates':["2021-11-14","2021-11-15","2021-11-16","2021-11-17","2021-11-18","2021-11-19","2021-11-20"] }) df = pd.DataFrame(technologies) print(df) 7Nếu bạn không muốn bao gồm các ranh giới, chỉ cần thay đổi điều kiện như bên dưới theo cú pháp. import pandas as pd technologies = ({ 'Courses':["Spark","PySpark","Hadoop","Python","Pandas","Hadoop","Spark"], 'Fee' :[22000,25000,23000,24000,26000,25000,25000], 'Duration':['30days','50days','55days','40days','60days','35days','55days'], 'Discount':[1000,2300,1000,1200,2500,1300,1400], 'InsertedDates':["2021-11-14","2021-11-15","2021-11-16","2021-11-17","2021-11-18","2021-11-19","2021-11-20"] }) df = pd.DataFrame(technologies) print(df) 75
import pandas as pd technologies = ({ 'Courses':["Spark","PySpark","Hadoop","Python","Pandas","Hadoop","Spark"], 'Fee' :[22000,25000,23000,24000,26000,25000,25000], 'Duration':['30days','50days','55days','40days','60days','35days','55days'], 'Discount':[1000,2300,1000,1200,2500,1300,1400], 'InsertedDates':["2021-11-14","2021-11-15","2021-11-16","2021-11-17","2021-11-18","2021-11-19","2021-11-20"] }) df = pd.DataFrame(technologies) print(df) 9Sản lượng dưới sản lượng
import pandas as pd technologies = ({ 'Courses':["Spark","PySpark","Hadoop","Python","Pandas","Hadoop","Spark"], 'Fee' :[22000,25000,23000,24000,26000,25000,25000], 'Duration':['30days','50days','55days','40days','60days','35days','55days'], 'Discount':[1000,2300,1000,1200,2500,1300,1400], 'InsertedDates':["2021-11-14","2021-11-15","2021-11-16","2021-11-17","2021-11-18","2021-11-19","2021-11-20"] }) df = pd.DataFrame(technologies) print(df) 05. sử dụng gấu trúc. Loạt. giữa () đến hai ngày
Bạn có thể sử dụng phương pháp Courses Fee Duration Discount InsertedDates 0 Spark 22000 30days 1000 2021-11-14 1 PySpark 25000 50days 2300 2021-11-15 2 Hadoop 23000 55days 1000 2021-11-16 3 Python 24000 40days 1200 2021-11-17 4 Pandas 26000 60days 2500 2021-11-18 5 Hadoop 25000 35days 1300 2021-11-19 6 Spark 25000 55days 1400 2021-11-20 2 để chọn các hàng DataFrame giữa hai ngày. Phương thức này trả về một vectơ boolean biểu thị liệu phần tử chuỗi có nằm trong phạm vi đã chỉ định hay không. Chúng ta phải chuyển vectơ boolean thu được cho DataFrame. phương thức loc() để trích xuất DataFrame
import pandas as pd technologies = ({ 'Courses':["Spark","PySpark","Hadoop","Python","Pandas","Hadoop","Spark"], 'Fee' :[22000,25000,23000,24000,26000,25000,25000], 'Duration':['30days','50days','55days','40days','60days','35days','55days'], 'Discount':[1000,2300,1000,1200,2500,1300,1400], 'InsertedDates':["2021-11-14","2021-11-15","2021-11-16","2021-11-17","2021-11-18","2021-11-19","2021-11-20"] }) df = pd.DataFrame(technologies) print(df) 1Sản lượng dưới sản lượng
import pandas as pd technologies = ({ 'Courses':["Spark","PySpark","Hadoop","Python","Pandas","Hadoop","Spark"], 'Fee' :[22000,25000,23000,24000,26000,25000,25000], 'Duration':['30days','50days','55days','40days','60days','35days','55days'], 'Discount':[1000,2300,1000,1200,2500,1300,1400], 'InsertedDates':["2021-11-14","2021-11-15","2021-11-16","2021-11-17","2021-11-18","2021-11-19","2021-11-20"] }) df = pd.DataFrame(technologies) print(df) 26. Chọn các hàng DataFrame giữa hai ngày bằng DataFrame. trong()
Sử dụng import pandas as pd technologies = ({ 'Courses':["Spark","PySpark","Hadoop","Python","Pandas","Hadoop","Spark"], 'Fee' :[22000,25000,23000,24000,26000,25000,25000], 'Duration':['30days','50days','55days','40days','60days','35days','55days'], 'Discount':[1000,2300,1000,1200,2500,1300,1400], 'InsertedDates':["2021-11-14","2021-11-15","2021-11-16","2021-11-17","2021-11-18","2021-11-19","2021-11-20"] }) df = pd.DataFrame(technologies) print(df) 77 để lọc các hàng DataFrame dựa trên ngày trong Pandas. import pandas as pd technologies = ({ 'Courses':["Spark","PySpark","Hadoop","Python","Pandas","Hadoop","Spark"], 'Fee' :[22000,25000,23000,24000,26000,25000,25000], 'Duration':['30days','50days','55days','40days','60days','35days','55days'], 'Discount':[1000,2300,1000,1200,2500,1300,1400], 'InsertedDates':["2021-11-14","2021-11-15","2021-11-16","2021-11-17","2021-11-18","2021-11-19","2021-11-20"] }) df = pd.DataFrame(technologies) print(df) 78 trả về một DateTime Index cố định. Tham số thứ nhất và thứ hai của nó là ngày bắt đầu và ngày kết thúc
import pandas as pd technologies = ({ 'Courses':["Spark","PySpark","Hadoop","Python","Pandas","Hadoop","Spark"], 'Fee' :[22000,25000,23000,24000,26000,25000,25000], 'Duration':['30days','50days','55days','40days','60days','35days','55days'], 'Discount':[1000,2300,1000,1200,2500,1300,1400], 'InsertedDates':["2021-11-14","2021-11-15","2021-11-16","2021-11-17","2021-11-18","2021-11-19","2021-11-20"] }) df = pd.DataFrame(technologies) print(df) 3Sản lượng dưới sản lượng
import pandas as pd technologies = ({ 'Courses':["Spark","PySpark","Hadoop","Python","Pandas","Hadoop","Spark"], 'Fee' :[22000,25000,23000,24000,26000,25000,25000], 'Duration':['30days','50days','55days','40days','60days','35days','55days'], 'Discount':[1000,2300,1000,1200,2500,1300,1400], 'InsertedDates':["2021-11-14","2021-11-15","2021-11-16","2021-11-17","2021-11-18","2021-11-19","2021-11-20"] }) df = pd.DataFrame(technologies) print(df) 47. Hoàn thành ví dụ để chọn hàng giữa hai ngày
import pandas as pd technologies = ({ 'Courses':["Spark","PySpark","Hadoop","Python","Pandas","Hadoop","Spark"], 'Fee' :[22000,25000,23000,24000,26000,25000,25000], 'Duration':['30days','50days','55days','40days','60days','35days','55days'], 'Discount':[1000,2300,1000,1200,2500,1300,1400], 'InsertedDates':["2021-11-14","2021-11-15","2021-11-16","2021-11-17","2021-11-18","2021-11-19","2021-11-20"] }) df = pd.DataFrame(technologies) print(df) 5Phần kết luận
Trong bài viết này, bạn đã học cách chọn các hàng DataFrame giữa hai ngày trong gấu trúc bằng cách sử dụng Courses Fee Duration Discount InsertedDates 0 Spark 22000 30days 1000 2021-11-14 1 PySpark 25000 50days 2300 2021-11-15 2 Hadoop 23000 55days 1000 2021-11-16 3 Python 24000 40days 1200 2021-11-17 4 Pandas 26000 60days 2500 2021-11-18 5 Hadoop 25000 35days 1300 2021-11-19 6 Spark 25000 55days 1400 2021-11-20 9, Courses Fee Duration Discount InsertedDates 0 Spark 22000 30days 1000 2021-11-14 1 PySpark 25000 50days 2300 2021-11-15 2 Hadoop 23000 55days 1000 2021-11-16 3 Python 24000 40days 1200 2021-11-17 4 Pandas 26000 60days 2500 2021-11-18 5 Hadoop 25000 35days 1300 2021-11-19 6 Spark 25000 55days 1400 2021-11-20 0, Courses Fee Duration Discount InsertedDates 0 Spark 22000 30days 1000 2021-11-14 1 PySpark 25000 50days 2300 2021-11-15 2 Hadoop 23000 55days 1000 2021-11-16 3 Python 24000 40days 1200 2021-11-17 4 Pandas 26000 60days 2500 2021-11-18 5 Hadoop 25000 35days 1300 2021-11-19 6 Spark 25000 55days 1400 2021-11-20 1 và Courses Fee Duration Discount InsertedDates 0 Spark 22000 30days 1000 2021-11-14 1 PySpark 25000 50days 2300 2021-11-15 2 Hadoop 23000 55days 1000 2021-11-16 3 Python 24000 40days 1200 2021-11-17 4 Pandas 26000 60days 2500 2021-11-18 5 Hadoop 25000 35days 1300 2021-11-19 6 Spark 25000 55days 1400 2021-11-20 2 với nhiều ví dụ hơn