ValueError: Index data must be 1-dimensional

ValueError: Index data must be 1-dimensional

我正在尝试使用 RANDOM FOREST actual 制作数据框。预测值和来自 X_test.

的所有信息

这是我的代码:

def makeDataframe(self):
    self.df.index = self.X_test.reset_index()
    self.df['type'] = self.y_test
    self.df['prediction'] = self.y_pred
    self.df['ax'] = self.X_test['ax']
    self.df['ay'] = self.X_test['ay']
    self.df['az'] = self.X_test['az']
    print(self.df.head(10))

我想制作这样的数据框:

type  prediction. ax ay az

但是我被这个错误困住了:

ValueError: Index data must be 1-dimensional

任何解决此错误的想法。 此外,我想确认我的预测索引和 x_test 数据集索引是否匹配。

我能得到一些帮助吗?

谢谢

您收到上述错误是因为 reset_index() 将 return 一个 DataFrame 而不是一维数据,您可以将其替换为 self.X_test.index.values 或创建一个 DataFrame 您可以像这样使用字典:

def makeDataframe(self):
    data = {}
    data.update({'index': self.X.index.values})
    data.update({'type': self.y_test.values})
    data.update({'prediction': self.y_pred})
    data.update({'ax': self.X_test['ax']})
    data.update({'ay': self.X_test['ay']})
    data.update({'az': self.X_test['az']}) 
    self.df = pd.DataFrame(data)
    print(self.df.head(10))