Python错误:“系列”对象没有属性“展平”

时间:2019-05-09 15:37:51

标签: python arrays linear-regression series

我对Python还是很陌生,我正在尝试通过一个相当简单的线性回归模型。

当我尝试运行此行代码时,出现错误“系列”对象没有属性“扁平”

Schedulers

由于我的值是回归的输出,因此我可以肯定它是一个数组,并且在我的代码中没有地方创建任何序列。有没有办法将其转换为数组,以便可以使用flatten函数?

我尝试使用.values引发此错误:'numpy.ndarray'对象没有属性'values'

trampoline

Y_test定义

df4= pd.DataFrame({'Actual': y_test.flatten(), 'Predicted': y_pred.flatten()})

X和Y定义     X = df2 [[“” MonthYear“]] y = df2 [” HC“]

数据全部为数字,看起来像: HC月 567 1 597 2 652 3

2 个答案:

答案 0 :(得分:1)

问题是您已将这些系列y_test和y_pred转换为numpy数组以使用flatten函数,我遇到了相同的问题,但使用以下修复程序对其进行了修复:

1)使用y_test.shape。要找出数据框系列的形状,即y_test和y_pred。

2)使用按形状找到的行数和列数将此数据框列或序列重新成形为Numpy数组。因为flatten是Numpy数组的函数。

3)然后使用您的flatten函数,它将起作用。

代码如下。 1.步骤1:test.shape 2.步骤2(重塑):test = test.values.reshape(1,4069)3. df = pd.DataFrame({'Actual':test.flatten(),'Predicted' :pred.flatten()})

答案 1 :(得分:0)

import numpy as np
y_test = np.array(list(y_test))
y_pred = np.array(y_pred)
df4= pd.DataFrame({'Actual': y_test.flatten(), 'Predicted': y_pred.flatten()})

这应该可以解决您的问题。