AttributeError:“Series”对象没有“reforme”属性

2024-03-29 05:42:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我在用sci工具包学习线性回归算法。 当缩放Y目标功能时:

Ys = scaler.fit_transform(Y)

我得到了

ValueError: Expected 2D array, got 1D array instead:

之后,我使用:

Ys = scaler.fit_transform(Y.reshape(-1,1))

但又错了:

AttributeError: 'Series' object has no attribute 'reshape'

所以我查看了熊猫系列文档页面,上面写着:

reshape(*args, **kwargs) Deprecated since version 0.19.0.


Tags: 功能算法目标工具包transform线性arrayfit
2条回答

解决方案链接到documentation page上的重塑方法。

代替Y.reshape(-1,1)您需要使用:

Y.values.reshape(-1,1)

解决办法确实是:

Y.values.reshape(-1,1)

这将使用pandas系列对象的值提取numpy数组,然后将其重塑为2D数组。

您需要这样做的原因是pandas系列对象是按一维设计的。如果您希望留在熊猫库中,另一个解决方案是将序列转换为一个数据帧,该数据帧将是二维的:

Y = pd.Series([1,2,3,1,2,3,4,32,2,3,42,3])

scaler = StandardScaler()

Ys = scaler.fit_transform(pd.DataFrame(Y))

相关问题 更多 >