2015-10-17 6 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-learn matrix .... Я думаю, это массив numpy ... Во всяком случае, я попытался преобразовать его в массив numpy и все еще могу решить эту проблему. –

+1

Редкая матрица не является массивом numpy. Используйте 'todense',' toarray' или '.D',' .A', чтобы преобразовать его в регулярную плотную матрицу или массив. Просто напишите, что в сохраненном тексте будет много 0s - и 413439 «столбцов» (очень длинные строки). – hpaulj

ответ

1

Если матрица является scipy-матрицей, то numpy столкнется с этим в попытке сохранить. Если да, то должно быть сообщено сообщение here.

+0

Спасибо за помощь !. Как вы думаете, можно ли преобразовать эту scipy-матрицу в массив numpy, а затем сохранить ее в файл ?. –

 Смежные вопросы

  • Нет связанных вопросов^_^