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

Pandas基于首尾行对比过滤DataFrame 解决列长度不一致报错

实现方案

首先需将时间列转为datetime类型避免字符串比较错误,再按需求实现两个过滤逻辑即可,完整代码如下:

import pandas as pd

# 构造示例数据
df1 = pd.DataFrame({
  "Startdate": ["2020-06-07 00:00", "2020-08-07 00:01", "2020-10-11 00:35", "2020-11-24 00:03"]
})
df2 = pd.DataFrame({
  "Stopdate": ["2020-06-06 12:00", "2020-08-06 11:01", "2020-10-10 00:20"]
})

# 转换时间格式
df1['Startdate'] = pd.to_datetime(df1['Startdate'])
df2['Stopdate'] = pd.to_datetime(df2['Stopdate'])

# 处理首行过滤逻辑
if df1.iloc[0, 0] > df2.iloc[0, 0]:
    df1 = df1.iloc[1:].reset_index(drop=True)

# 处理末行过滤逻辑
if df1.iloc[-1, 0] < df2.iloc[-1, 0]:
    df2 = df2.iloc[:-1].reset_index(drop=True)

说明

  • 示例数据处理后df1会删除首行,最终两个DataFrame行数均为3,满足后续间隔时长计算要求
  • 方案无需硬编码行数,只要两个DataFrame都至少有1行数据即可正常运行。如果存在空表场景,可在两个判断前增加if len(df1) > 0 and len(df2) > 0的前置校验即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 23:45:03