我正在尝试构建预测模型。我试图分两部分来做这件事
预处理文件
#saving preproccesed dataframe to csv
train.to_csv('C:/Users/Documents/Tesfile_Preprocessed.csv')
Error
~\AppData\Local\Continuum\anaconda3\lib\site-packages\pandas\core\sparse\array.py in __getitem__(self, key)
417 return self._get_val_at(key)
418 elif isinstance(key, tuple):
--> 419 data_slice = self.values[key]
420 else:
421 if isinstance(key, SparseArray):
IndexError: too many indices for array
预测模型文件
X_test=pd.read_csv('C:/Users/Documents/Tesfile_Preprocessed.csv')
predicted_dtree = fit_decision.predict(X_test)
我该如何解决这个问题
答案 0 :(得分:1)
更好的方法是使用to_pickle:
train.to_pickle('C:/Users/Documents/Tesfile_Preprocessed.pickle')
索引太多'意味着你给出了太多的索引值。您已经给出了2个值,因为您希望数据是2D数组。 Numpy抱怨是因为数据不是2D(它是1D或None)。
我建议您在访问之前检查数组尺寸。
self.values.shape
或
len(self.values)
这与您的Pandas无关,您试图访问阵列上不存在的索引。
请尝试在导出期间更改sep
。
train.to_csv('C:/Users/Documents/Tesfile_Preprocessed.csv', sep='\t')