2016-04-13 3 views
10

Я хочу преобразовать эту матрицу в рамку данных pandas. csc_matrixПреобразование разреженной матрицы (csc_matrix) в pandas dataframe

первый число в скобках должно быть индекс, то второй число которых столбцы и число в конце являясь данных.

Я хочу сделать это, чтобы сделать выбор функции в текстовом анализе, первое число представляет собой документ, второе - признаком слова, а последнее число - счетом TFIDF.

Получение фреймворка помогает мне преобразовать проблему анализа текста в анализ данных.

ответ

7
from scipy.sparse import csc_matrix 

csc = csc_matrix(np.array(
    [[0, 0, 4, 0, 0, 0], 
    [1, 0, 0, 0, 2, 0], 
    [2, 0, 0, 1, 0, 0], 
    [0, 0, 0, 0, 0, 1], 
    [4, 0, 3, 2, 0, 0]])) 

# Return a Coordinate (coo) representation of the Compresses-Sparse-Column (csc) matrix. 
coo = csc.tocoo(copy=False) 

# Access `row`, `col` and `data` properties of coo matrix. 
>>> pd.DataFrame({'index': coo.row, 'col': coo.col, 'data': coo.data} 
       )[['index', 'col', 'data']].sort_values(['index', 'col'] 
       ).reset_index(drop=True) 
    index col data 
0  0 2  4 
1  1 0  1 
2  1 4  2 
3  2 0  2 
4  2 3  1 
5  3 5  1 
6  4 0  4 
7  4 2  3 
8  4 3  2 
+0

прохладный. благодаря!!! –