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

如何在pandas中将dataframe列中的天数格式值转换为整数?

错误根因说明

  1. 你的1st Year Score列存储的是字符串格式的时间间隔值,不是datetime类型也不是timedelta类型,所以直接调用.dt访问器会报错。
  2. 你使用pd.to_datetime转换失败,是因为该方法用于转换时间点格式的数据,而你存储的是时间间隔,类型不匹配,所以所有值都被转为空值NaT。
  3. 你之前写的.dt.days()多了括号,days是属性不是调用方法,不需要加括号。

可行解决方案

方案1:转换为timedelta类型(推荐,更规范)

直接用pandas专门处理时间间隔的pd.to_timedelta方法转换,再提取天数即可:

data['1st Year Score'] = pd.to_timedelta(data['1st Year Score']).dt.days

方案2:字符串切割(适合格式完全固定的场景)

因为所有行格式都是「天数数字 + 空格 + days + 其余时间」,可以直接按空格切割取第一个元素转为整数:

data['1st Year Score'] = data['1st Year Score'].str.split().str[0].astype('int')

两种方案运行后都可以得到你需要的仅保留整数天数的列,数据类型为整数。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 04:18:02