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

无法计算datetime列最小值:分组聚合时Timestamp与int比较报错

解决分组聚合时Timestamp与int类型比较的错误

问题核心

你虽然把Next Installment Date转成了datetime类型,但列里大概率还混有int类型的值(比如未成功转换的时间戳、无效数字),导致聚合求min时,系统尝试把Timestamp和int做比较,触发了类型不兼容的报错。

解决步骤

  1. 先排查列内的类型分布
    执行以下代码,确认列里是不是真的全是datetime类型:
installments_df['Next Installment Date'].apply(type).value_counts()

如果输出里出现<class 'int'>,说明确实存在混合类型。

  1. 强制统一列类型
    用pd.to_datetime重新转换,同时把无法转换的无效值转为NaT(datetime类型的缺失值):
installments_df['Next Installment Date'] = pd.to_datetime(installments_df['Next Installment Date'], errors='coerce')

之后可以查看转换后的缺失值数量,判断是否需要处理:

installments_df['Next Installment Date'].isna().sum()

如果缺失值不多,要么删除对应行,要么根据业务逻辑填充合理的日期值。

  1. 重新执行聚合操作
    确认列类型完全统一后,再运行你的聚合代码:
installments_df.groupby(['loan_id']).aggregate({
    'amount': 'max', 
    'installment_number': 'max', 
    'Remaining_Tenor': 'sum', 
    'Next Installment Date': 'min'
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 05:01:35