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

如何基于列名将DataFrame中含DATE的列从浮点型转为整型?

解决方法

首先,你原来的代码存在两个关键问题:

  • df.columns.str.contains('DATE')返回的是一个布尔数组,不能直接用if判断,这样会触发ValueError
  • 你操作的是df.columns(列名)而不是DataFrame里的数据,逻辑完全错误

正确的做法是先筛选出所有名称包含'DATE'的列,再对这些列的数据做类型转换:

# 第一步:筛选出所有名称含'DATE'的列
date_columns = df.columns[df.columns.str.contains('DATE')]

# 第二步:将这些列的浮点型数据转为整型
df[date_columns] = df[date_columns].astype(int)

如果你的数据里存在缺失值(比如NaN),直接用astype(int)会报错,这时候可以用支持空值的整型类型Int64(注意大写I):

df[date_columns] = df[date_columns].astype('Int64')

或者先填充缺失值再转换(比如用0填充):

df[date_columns] = df[date_columns].fillna(0).astype(int)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 08:04:55