0

我有以下问题:

将 Tf-Idf 过程应用于文本数据后,我有一个稀疏矩阵,其中包含 n 行和 250000 列。
有 2000 列特别感兴趣,所以我对矩阵进行切片:

new_matrix = old_matrix[:, needed_columns]

所以我得到了 n 行 2000 列的矩阵。但是我需要以某种方式将 new_matrix 列的索引映射到旧的。例如,new_matrix 的第 0 列是 old_matrix 的第 219 列,第 1 列是第 926 列,第 2 列是第 1004 列,依此类推。有什么办法吗?

不幸的是,由于内存限制,无法将其转换为 pandas 或 numpy。

4

1 回答 1

1

该信息在 中needed_columns,显然具有价值[29, 926, 1004, ...],因此您可以在其中查找。无需洗牌或分类。

您可以original_columns改为调用它以使代码更具可读性。

这是一个简单的例子:

import numpy as np

old_matrix = np.array([[1,2,3],[4,5,6],[7,8,9]])

original_columns = [1,2]

new_matrix = old_matrix[:,original_columns]

# index in new_matrix
i_new = 0
# index in old_matrix, shall be equal to '1'
i_old = original_columns[i_new]
于 2020-07-19T19:57:15.357 回答