我可以将 pandas 数据帧输入 "TfidfVectorizer" 吗?如果是这样,我如何找出我的数据框中有多少文档?
Can I input a pandas dataframe into "TfidfVectorizer"? If so, how do I find out how many documents are in my dataframe?
原始数据如下:
这是将数据读入 pandas 数据帧后的前半部分数据:
我正在尝试 运行 TfidfVectorizer
但我不断收到以下错误:
ValueError: After pruning, no terms remain. Try a lower min_df or a higher max_df.
我看到this post说当max_df
值小于TfidfVectorizer
中的min_df
值时会出现错误。我尝试了几种变体,其中我的 max_df
值大于我的 min_df
值,但仍然出现相同的错误。因此,我认为该错误可能与我的数据在 pandas 数据框中的存储方式有关。我在正确的轨道上吗?如果是这样,我如何找出我的数据框中有多少文档?如果没有,我该如何解决这个问题?
这是我的代码:
tfidf_vectorizer = TfidfVectorizer(max_df=0.5, min_df=0, stop_words=None)
tfidf = tfidf_vectorizer.fit_transform(df)
此外,这是我正在处理的示例:
tfidf_vectorizer = TfidfVectorizer(max_df=0.95, min_df=2,
max_features=n_features,
stop_words='english')
在上面的例子中,min_df
大于 max_df
。我确实尝试这样做,但出现以下错误:
ValueError: max_df corresponds to < documents than min_df
您应该将一列数据传递给 fit_transform
函数。这是例子
import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer
words = ['trust inten other','feel comfort express view']
df = pd.DataFrame(words,columns = ['words'])
tfidf_vectorizer = TfidfVectorizer(max_df=0.5, min_df=0, stop_words=None)
# right
tfidf = tfidf_vectorizer.fit_transform(df['words'])
# wrong
# tf_idf = tf_idf_vectorizer.fit_transform(df)
当您将 df
传递给 fit_transform
函数时,它会将 ['words']
作为输入,而不是 ['trust inten other','feel comfort express view']
,如示例所示。
原始数据如下:
这是将数据读入 pandas 数据帧后的前半部分数据:
我正在尝试 运行 TfidfVectorizer
但我不断收到以下错误:
ValueError: After pruning, no terms remain. Try a lower min_df or a higher max_df.
我看到this post说当max_df
值小于TfidfVectorizer
中的min_df
值时会出现错误。我尝试了几种变体,其中我的 max_df
值大于我的 min_df
值,但仍然出现相同的错误。因此,我认为该错误可能与我的数据在 pandas 数据框中的存储方式有关。我在正确的轨道上吗?如果是这样,我如何找出我的数据框中有多少文档?如果没有,我该如何解决这个问题?
这是我的代码:
tfidf_vectorizer = TfidfVectorizer(max_df=0.5, min_df=0, stop_words=None)
tfidf = tfidf_vectorizer.fit_transform(df)
此外,这是我正在处理的示例:
tfidf_vectorizer = TfidfVectorizer(max_df=0.95, min_df=2,
max_features=n_features,
stop_words='english')
在上面的例子中,min_df
大于 max_df
。我确实尝试这样做,但出现以下错误:
ValueError: max_df corresponds to < documents than min_df
您应该将一列数据传递给 fit_transform
函数。这是例子
import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer
words = ['trust inten other','feel comfort express view']
df = pd.DataFrame(words,columns = ['words'])
tfidf_vectorizer = TfidfVectorizer(max_df=0.5, min_df=0, stop_words=None)
# right
tfidf = tfidf_vectorizer.fit_transform(df['words'])
# wrong
# tf_idf = tf_idf_vectorizer.fit_transform(df)
当您将 df
传递给 fit_transform
函数时,它会将 ['words']
作为输入,而不是 ['trust inten other','feel comfort express view']
,如示例所示。