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

将DataFrame列转为float类型时遇NoneType错误求解决方案

解决办法

报错原因是你的列里除了"..",还存在None类型的值。你的lambda表达式只处理了x == ".."的情况,当x是None时,x != ".."为True,会执行float(x),但None无法被float()转换,因此触发TypeError。

推荐两种修复方案:

方案1:修改lambda表达式,同时处理".."和None

直接在判断条件里把None也纳入:

import numpy as np
df['col'] = df['col'].apply(lambda x: float(x) if x not in ["..", None] else np.nan)

方案2:使用pandas内置的pd.to_numeric(更推荐)

pd.to_numeric是专门处理数值转换的函数,errors='coerce'参数会自动把所有无法转为数值的内容(包括".."、None、其他非数值字符串)转为np.nan,代码更简洁且效率更高:

import pandas as pd
df['col'] = pd.to_numeric(df['col'], errors='coerce')

内容的提问来源于stack exchange,提问作者Julieta M.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 03:43:10