使用熊猫从数据框列中矢量化文本

时间:2018-05-12 03:47:38

标签: pandas dataframe vectorization

我有一个数据框,如下所示:

enter image description here

我正在尝试向量化每一行,但仅限于文本列。我写了这段代码:

vectorizerCount = CountVectorizer(stop_words='english')
# tokenize and build vocab
allDataVectorized = allData.apply(vectorizerCount.fit_transform(allData.iloc[:]['headline_text']), axis=1)

错误说:

  

TypeError :("' csr_matrix'对象不可调用",'发生在索引0')

进行一些研究并尝试进行更改我发现fit_transform函数返回一个scipy.sparse.csr.csr_matrix并且不可调用。

还有其他办法吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

您的代码存在许多问题。你可能需要像

这样的东西
allDataVectorized = pd.DataFrame(vectorizerCount.fit_transform(allData[['headline_text']]))
  • allData[['headline_text']])(带双括号)是一个DataFrame,它转换为numpy 2d数组。

  • fit_transform返回csr矩阵。

  • pd.DataFrame(...)从csr矩阵创建一个DataFrame。