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

sklearn LinearRegression fit报错:无法将字符串转为float:'{}' 求助

问题场景

使用线性回归算法训练模型,执行训练代码lin_reg_model.fit(X_train,Y_train)时抛出如下报错:

ValueError Traceback (most recent call last) in ()
----> 1 lin_reg_model.fit(X_train,Y_train)

4 frames /usr/local/lib/python3.7/dist-packages/pandas/core/generic.py in array(self, dtype) 1991 1992 def array(self, dtype: NpDtype | None = None) -> np.ndarray:
-> 1993 return np.asarray(self._values, dtype=dtype) 1994 1995 def array_wrap(

ValueError: could not convert string to float: '{}'

故障原因
  • 线性回归模型训练仅接收数值型输入,当前传入的X_train或Y_train中存在字符串类型内容,numpy无法自动将其转换为浮点型数值,因此触发报错。
  • 常见诱因:
    • 特征列存在未做编码的分类文本值,比如性别、地区类的文字取值
    • 数据清洗不彻底,存在'{}'这类字符串格式的缺失值占位符,未被识别处理
    • 数值列被错误存储为object类型,混入了非数字内容,比如表头串入数据行、异常文本写入数值字段
排查与解决步骤
  1. 定位异常列
    先运行代码确认数据类型,找出存在非数值内容的字段:
# 打印训练特征、标签的所有列数据类型
print("X_train各列类型:\n", X_train.dtypes)
print("Y_train类型:", Y_train.dtype)

# 遍历所有object类型列,查看具体取值确认异常内容
for col in X_train.select_dtypes(include=['object']).columns:
    print(f"\n列[{col}]的前10个唯一取值:", X_train[col].unique()[:10])

如果标签列Y_train是object类型,用同样方法查看Y_train的取值即可。

  1. 针对性处理异常数据
  • 场景1:字段为分类文本特征
    无序分类用独热编码转换,有序分类用标签编码转换,示例:
    import pandas as pd
    # 替换为实际的分类列名列表
    cat_cols = ["列名1", "列名2"]
    X_train = pd.get_dummies(X_train, columns=cat_cols, drop_first=True)
    
  • 场景2:存在字符串格式的缺失值占位符
    先把'{}'这类占位符替换为标准空值,再做填充或删除:
    import numpy as np
    # 替换指定字符串为空值
    X_train = X_train.replace('{}', np.nan)
    # 数值列用中位数填充空值,也可根据业务场景选择均值、众数填充或删除空行
    num_cols = X_train.select_dtypes(include=[np.number]).columns
    X_train[num_cols] = X_train[num_cols].fillna(X_train[num_cols].median())
    
  • 场景3:数值列被误存为字符串类型
    强制转换字段类型,异常值转为空值后统一处理:
    # 替换为实际被误存为字符串的数值列名列表
    num_str_cols = ["列名3", "列名4"]
    for col in num_str_cols:
        X_train[col] = pd.to_numeric(X_train[col], errors='coerce')
    
  1. 校验后重跑
    处理完成后再次执行print(X_train.dtypes, Y_train.dtype),确认所有输入字段均为int/float数值类型,重新运行训练代码即可正常执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 14:24:20