将Object(包含字符串和整数)Pandas数据帧转换为scipy稀疏矩阵



我有一个有两列的数据帧,一列是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图,其中字符串单词将是节点,使用图的节点列表可以跟踪单词到数字的映射。

最新更新