运行 来自两列数据帧的单列系列上的 CountVectorizer?

Run CountVectorizer on single column Series from two-column dataframe?

如何将具有多列的 pandas 数据帧中的单列转换为 CountVectorizer 的系列?

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

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

import pandas
from sklearn.feature_extraction.text import CountVectorizer

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

但是 运行ning CountVectorizer 需要将数据帧转换为 pandas 系列,然后 运行 使用 CountVectorizer。

corpus = pd.Series(df)

但是当我运行这个脚本的时候,产生的错误:Wrong number of items passed 2, placement implies 9372

您只能像这样从 DataFrame 获取该列:df["descrp"] 因此您的代码将是:

import pandas

from sklearn.feature_extraction.text import CountVectorizer

vectorizer = CountVectorizer()

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

你可以做这样的事情,但之后的工作不是最佳的。

import pandas 
from sklearn.feature_extraction.text import CountVectorizer 

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