Преобразование разреженной матрицы (csc_matrix) в pandas dataframe
Я хочу преобразовать эту матрицу в фреймворк pandas.
csc_matrix
первый номер в скобке должен быть index, второй - столбцы, а число в конце - данные.
Я хочу сделать это, чтобы сделать выбор функции в текстовом анализе, первое число представляет собой документ, второе - признак слова, а последний номер - оценка TFIDF.
Получение фреймворка помогает мне преобразовать проблему анализа текста в анализ данных.
Ответы
Ответ 1
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