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

DataFrame中object类型时间列分组求和异常问题求助

解决方法

问题出在czas_oczekiwania列是object类型,直接调用sum()会把它当成字符串拼接,而非时间值相加。你需要先把该列转换成时间增量类型(timedelta),再执行分组求和操作。

具体修改步骤:

  • 第一步:将czas_oczekiwania列从object转为timedelta类型

    ph1['czas_oczekiwania'] = pd.to_timedelta(ph1['czas_oczekiwania'], errors='coerce')
    

    其中errors='coerce'会把无法转换的异常值设为NaT,如果你的数据都是标准时间格式(如HH:MM:SS),也可以省略这个参数。

  • 第二步:执行分组求和

    ph3 = ph1.groupby([pd.to_datetime(ph1['data']).dt.to_period('D'), 'typ'])['czas_oczekiwania'].sum()
    

如果data列本身已是datetime类型,分组键可以简化:

ph3 = ph1.groupby([ph1['data'].dt.to_period('D'), 'typ'])['czas_oczekiwania'].sum()

这样得到的结果就是每天每个typ对应的总等待时长,类型为timedelta,符合预期的时间求和逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 18:22:03