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

Pandas DataFrame如何获取两日期列最大差值对应的起止日期及行索引

Pandas获取日期差最大值对应行的实现方案

方案1:提取所有差值最大的行(适配多最大值场景,示例中索引1、4都会返回)

先计算length列的最大值,再做布尔筛选即可,代码如下:

# 计算日期差最大值
max_len = dss['length'].max()
# 筛选所有符合条件的行,保留需要的日期字段
max_len_rows = dss[dss['length'] == max_len][['report_end_d', 'report_start_d']]
# 如需提取对应索引列表,执行以下代码
max_index_list = max_len_rows.index.tolist()

运行后max_len_rows会直接输出所有最大差值行的结束日期、开始日期,max_index_list对应输出[1,4]。

方案2:仅提取第一个差值最大的行

如果不需要所有最大值行,仅要第一个匹配结果,直接用idxmax()方法即可:

# 获取第一个最大值对应的行索引
first_max_index = dss['length'].idxmax()
# 提取对应行的两个日期字段
first_max_info = dss.loc[first_max_index, ['report_end_d', 'report_start_d']]

示例中执行后first_max_index结果为1,first_max_info会返回索引1对应的两个日期值。

补充说明

如果需要将输出的日期转换为指定格式的字符串,可在日期字段后追加.dt.strftime('你需要的格式'),例如转成年-月-日格式写法为dss['report_end_d'].dt.strftime('%Y-%m-%d')。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 22:24:03