如何从Pandas DataFrame最小时间戳生成连续日期列表
生成指定起始日的连续5天日期列表
用Pandas快速实现
直接借助Pandas的date_range函数生成日期序列,再转换为要求的字符串格式列表:
import pandas as pd from datetime import date start_date = date(2022, 2, 17) # 生成从start_date开始的5个连续日期,转成字符串列表 date_list = pd.date_range(start=start_date, periods=5).strftime('%Y-%m-%d').tolist()
执行后date_list就是你需要的['2022-02-17', '2022-02-18', '2022-02-19', '2022-02-20', '2022-02-21']。
纯Python原生实现(无需Pandas)
如果不想依赖Pandas,用标准库datetime也能轻松实现:
from datetime import date, timedelta start_date = date(2022, 2, 17) date_list = [(start_date + timedelta(days=i)).strftime('%Y-%m-%d') for i in range(5)]
用于DataFrame筛选
拿到日期列表后,直接用isin方法筛选DataFrame中对应日期的数据:
# 假设你的DataFrame是df,日期列名为'date_column' filtered_df = df[df['date_column'].astype(str).isin(date_list)]
内容的提问来源于stack exchange,提问作者Kim Grauer
相关产品推荐
相关产品推荐

