python报错纠正

本文探讨了如何使用Python进行回归分析处理数据,处理Sinfo数据集中的缺失值,并在sklearn库的更新后修正了数据输入格式。通过实例展示了如何使用LinearRegression模型并针对特定值55进行预测,以解决ValueError关于数据维度的问题。
摘要由CSDN通过智能技术生成

python出现错误

#基于回归补充缺失数据
import pandas as pd
import numpy as np
Sinfo=pd.DataFrame({"ID":['001','002','003','004','005','006','007','008','009','010'],
                   "weight":['55','54','51','45','67','68','67','68','67','55'],
                   "height":[np.nan,'165',np.nan,'160','170','168','167','162','169','166']})
# Sinfo
#删除缺失数据
Sinfonew=Sinfo.dropna(how='any',inplace=False)
#建立回归模型
from sklearn.linear_model import LinearRegression
model=LinearRegression(fit_intercept=True, normalize=False, copy_X=True, n_jobs=1)
model.fit(Sinfonew['weight'].values.reshape(-1,1),
         Sinfonew['height'].values.reshape(-1,1))
y1=model.predict(55)
y1
#纠正
y1=model.predict([[55]])
#结果;
array([[164.27066636]])

出现报错信息
ValueError: Expected 2D array, got scalar array instead:
array=55.
Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.

纠正:
由于sklearn版本更新后,数据维度不一致导致,把55 改为二维数组[[55]] 即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值