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

Python做线性回归遇列类型为字符串、SettingWithCopyWarning报错如何解决

错误1:ValueError 无法将字符串转为float

  • 触发原因:你在选取列时错误调用了float('ORtg'),这段代码的作用是把"ORtg"这个字符串本身转成浮点型,自然会报错。你要做的是选取这几个字符串对应的列,再把列里存储的字符串格式的数值转为浮点型,而不是转换列名。
  • 修复代码:
# 先按列名选中列,再统一转换为浮点型
x = df_2020[['ORtg', 'Pace', 'eFG%', 'TOV%']].astype(float)

错误2:SettingWithCopyWarning 警告

  • 触发原因:你执行data = data.dropna(axis=0, subset=['Rk'])之后,返回的data是原DataFrame的切片视图,后续对这个切片执行inplace=True的修改操作时,pandas无法判断你要修改原数据还是切片副本,就会抛出该警告。
  • 修复代码:在dropna后主动创建副本即可:
data = data.dropna(axis=0, subset=['Rk']).copy()

额外注意事项

你当前给DataFrame设置列名时,出现了多组重复列名:2个eFG%、2个TOV%、2个FT/FGA,选取列时会匹配到多个重复列,导致后续训练逻辑出错,建议给重复列加上主客场后缀做区分,比如eFG%_home、eFG%_away。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 02:39:01