我对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
答案 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()})
这应该可以解决您的问题。