2015-10-17 44 views
0

我想将一个大矩阵保存为.csv文件。然而,从numpy's documentation我试过如下:将大矩阵保存为.csv文件的问题“”

training_matrix = dict_vect.fit_transform(training_data_2_dict) 
csv_matrix = np.savetxt("foo.csv", training_matrix, delimiter=",") 

这是矩阵的形状:(878049, 413439)这是例外:

Traceback (most recent call last): 
    File "/Users/user/PycharmProjects/kaggle/modeling_the_problem.py", line 55, in <module> 
    training_matrix) 
    File "/usr/local/lib/python2.7/site-packages/numpy/lib/npyio.py", line 1044, in savetxt 
    ncol = X.shape[1] 
IndexError: tuple index out of range 

如何矩阵保存在一个CSV文件中的任何想法?。

+1

'training_matrix'究竟是什么?普通'numpy'数组?或者是其他东西? – hpaulj

+0

感谢您的反馈@hpaulj,它是一个稀疏的scikit学习矩阵....我想这是一个numpy数组....我无论如何,我试图将其转换为一个numpy数组,并仍然可以解决这个问题。 –

+1

稀疏矩阵不是一个numpy数组。使用'todense','toarray'或'.D','.A'将其转换为规则的密集矩阵或数组。只需保存保存的文本就会有很多0和413439'列'(很长的一行)。 – hpaulj

回答

1

如果矩阵碰巧是一个scipy矩阵,然后numpy会遇到这个努力来保存。如果是这样,那么here应该解释。

+0

感谢您的帮助!你认为有可能将这个scipy矩阵转换成一个numpy数组,然后将它保存到一个文件中? –