要按照特定日期条件过滤Pandas DataFrame中的行,可以使用Pandas的布尔索引功能。以下是一个示例代码:
import pandas as pd
# 创建示例DataFrame
data = {'date': ['2022-01-01', '2022-01-02', '2022-01-03', '2022-01-04'],
'value': [10, 20, 30, 40]}
df = pd.DataFrame(data)
# 将'date'列转换为日期类型
df['date'] = pd.to_datetime(df['date'])
# 创建日期过滤条件
start_date = pd.to_datetime('2022-01-02')
end_date = pd.to_datetime('2022-01-03')
date_filter = (df['date'] >= start_date) & (df['date'] <= end_date)
# 使用布尔索引过滤DataFrame
filtered_df = df[date_filter]
print(filtered_df)
输出:
date value
1 2022-01-02 20
2 2022-01-03 30
以上代码首先创建了一个示例的DataFrame,并将'date'列转换为日期类型。然后,使用pd.to_datetime()
函数将起始日期和结束日期转换为日期类型。接下来,创建了一个布尔索引条件date_filter
,该条件将为True
的行保留。最后,使用布尔索引df[date_filter]
来过滤DataFrame,将结果保存到filtered_df
中,并打印输出结果。