You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何以日期为起止点对DataFrame进行切片拆分?

用日期直接拆分Pandas DataFrame的方法

首先需要先将DataFrame中的日期列转换为pandas内置的datetime格式,避免字符串匹配误差:

# 请将括号内的'date'替换为你实际的日期列名
df_all['date'] = pd.to_datetime(df_all['date'])

方法1:设置日期为索引后用loc范围切片

该方法语法最简洁,且支持直接输入日期字符串做范围查询:

  1. 将日期列设置为行索引
df_all = df_all.set_index('date')
  1. 按日期范围直接切片,该切片为左右闭区间,会包含起止日期的所有数据
# 示例:提取2023年1月1日到2023年6月1日的所有数据
df_some = df_all.loc['2023-01-01':'2023-06-01']
# 切片完成后可按需恢复普通列结构
df_some = df_some.reset_index()

方法2:布尔条件筛选(不修改原有索引)

如果不想改动原DataFrame的索引结构,可以直接写日期判断条件筛选:

# 示例:提取2023年1月1日到2023年6月1日的所有数据
df_some = df_all[(df_all['date'] >= '2023-01-01') & (df_all['date'] <= '2023-06-01')]

注意:多条件组合时,每个条件需要用括号包裹,且逻辑与运算符要使用&,不能用and。


补充小技巧

如果日期列包含时分秒,需要单独筛选某一天的数据,可以使用dt.date匹配:

target_date = pd.to_datetime('2023-01-01').date()
df_one_day = df_all[df_all['date'].dt.date == target_date]

内容的提问来源于stack exchange,提问作者Bojan Milinic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 23:42:04