使用sklearn.feature_extraction.text时出现KeyError

时间:2020-11-06 07:41:09

标签: python scikit-learn feature-extraction

from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity
tfidf = TfidfVectorizer(analyzer='word', stop_words='english')

age_matrix = tfidf.fit_transform(df['age'])

运行上述代码时,可能会发生以下错误。

为什么会这样?

请帮帮我。 预先感谢。

/usr/local/lib/python3.6/dist-packages/pandas/core/indexes/base.py在 get_loc(自己,键,方法,公差)2895返回 self._engine.get_loc(casted_key)2896,KeyError除外 作为错误: ->如果容差不是“无”,则2897从错误2898 2899引发KeyError(key):

KeyError:“年龄”

我的数据集如下。

        Gender                      product  0
age                                       
18       F                    Bags-Mens  5
18       F                   Bags-Women  4
18       F               Books-Academic  4
18       F               Books-Children  5
18       F                 Books-Comics  7
..     ...                          ... ..
44       M                 Books-Comics  2
44       M                Clothing-Mens  1
44       M               Clothing-Women  1
44       M               Footwear-Women  1
44       M  Home and kitchen-Furnishing  2

[1202 rows x 3 columns]

1 个答案:

答案 0 :(得分:0)

'age'似乎是数据帧索引(而不是列),因此您无法通过 df ['age'] 访问它。< / p>

您可以直接将 df.index 传递给fit_transform方法。