在两列数据框中的单列系列上运行CountVectorizer吗?

时间:2019-10-25 20:05:21

标签: python pandas dataframe series countvectorizer

一个人如何将熊猫数据框中具有多列的单个列转换为CountVectorizer系列?

我有一个带有2列x 9372条记录(行)的Pandas数据框:

  • 第一列称为twodig,它是整数
  • 第二列称为descrp,是varchar
  • image of dataframe

在删除停用词和特殊字符之后,我只想在descrp列上使用CountVectorizer,但仍然保留twodig

import pandas
from sklearn.feature_extraction.text import CountVectorizer

vectorizer = CountVectorizer()
bowmatrix = vectorizer.fit_transform(df)

但是,运行CountVectorizer要求将数据帧转换为熊猫系列,然后再与CountVectorizer一起运行。

corpus = pd.Series(df)

但是当我运行脚本时,产生的错误是:传递的项目数错误2,放置位置为9372

2 个答案:

答案 0 :(得分:1)

您只能从您的DataFrame中获得该列,例如:df["descrp"],因此您的代码将是:

import pandas

from sklearn.feature_extraction.text import CountVectorizer

vectorizer = CountVectorizer()

bowmatrix = vectorizer.fit_transform(df["descrp"])

答案 1 :(得分:0)

您可以执行类似的操作,但是在此之后并不是最佳选择。

import pandas 
from sklearn.feature_extraction.text import CountVectorizer 

vectorizer = CountVectorizer() 
df["bowmatrix"] = vectorizer.fit_transform(df["descrp"])