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

如何将空DataFrame的Room #列强制转换为float类型?

解决方法

要强制将“Room #”列设置为float类型,有两种简单可行的方式:

方式一:转换后强制指定类型

在你现有代码的基础上,直接对转换后的结果调用astype(float),就能强制将列类型转为float:

columns = ['Time','Name','Company','Room #', 'etc']
df = pd.DataFrame(columns=columns)
df["Room #"] = df["Room #"].apply(pd.to_numeric, errors='coerce').astype(float)

方式二:直接修改空列的类型

如果是空DataFrame,无需先做pd.to_numeric转换,直接对目标列调用astype(float)即可:

columns = ['Time','Name','Company','Room #', 'etc']
df = pd.DataFrame(columns=columns)
df['Room #'] = df['Room #'].astype(float)

为什么之前的方法得到int64?

当处理空列时,pd.to_numeric会默认推断最紧凑的数据类型,空值场景下int64是优先选择的类型,所以需要显式用astype(float)强制转为float类型,后续填充数据时该列会保持float类型。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 21:37:11