我有一个有两列的数据帧,一列是dtype对象的药品名称,它包含药品名称和一些药品名称,后面跟着mg(例如Avil25和Avil50的另一行(,另一列是dtype int的价格。我正试图使用以下代码行将医药名称列转换为scipy csr_matrix:
from scipy.sparse import csr_matrix
sparse_matrix = csr_matrix(medName)
我收到以下错误消息:
TypeError: no supported conversion for types: (dtype('O'),)
作为一种替代方法,我尝试使用(medName.str.replace('d+', '')
(从数据帧中删除整数,并尝试使用sparse_matrix = csr_matrix(medName.astype(str)
(。但我还是犯了同样的错误。
这里出了什么问题?将此数据帧转换为csr矩阵的另一种方法是什么?
您将把字符串编码为数字数据类型,使其变得稀疏。一种解决方案(可能不是最节省内存的(是制作一个networkx图,其中字符串单词将是节点,使用图的节点列表可以跟踪单词到数字的映射。