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

如何在DataFrame中筛选每月最早与最晚日期的数据?

筛选DataFrame中每月最早和最晚日期对应的数据

针对数万行的大数据量,推荐用Pandas的矢量化操作高效实现,步骤如下:

  1. 转换日期格式:先把字符串类型的Date列转为Pandas可识别的日期时间类型(注意原数据是日/月/年格式):
import pandas as pd

# 假设你的数据存储在df中
df['Date'] = pd.to_datetime(df['Date'], format='%d/%m/%Y')
  1. 提取每月首尾日期:按年-月分组,获取每个月的最早和最晚日期:
# 按年月分组,提取每组的最小、最大日期
month_groups = df.groupby(df['Date'].dt.to_period('M'))['Date']
target_dates = month_groups.min().tolist() + month_groups.max().tolist()
  1. 筛选目标行:用isin()匹配日期,筛选出对应数据:
result = df[df['Date'].isin(target_dates)]
# 可选:按日期排序,保持每个月首尾的顺序
result = result.sort_values('Date')

执行后得到的result就是每个月最早和最晚日期对应的行,和你给出的期望输出一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 01:26:11