Python - 按时间过滤 Pandas DataFrame
要按时间过滤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 = pd.DataFrame(d)
现在,假设我们需要获取在特定日期之后购买的汽车。为此,我们使用loc-
resDF = dataFrame.loc[dataFrame["Date_of_Purchase"] > "2021-07-15"]
示例
以下是完整的代码-
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 = pd.DataFrame(d) print"DataFrame...\n",dataFrame #获取2021年7月15日之后购买的汽车 resDF = dataFrame.loc[dataFrame["Date_of_Purchase"] > "2021-07-15"] #打印过滤后的数据框 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