我有一个数据框,每行包含一个列表
例如:
+--------------------+-----+
| removed|stars|
+--------------------+-----+
|[giant, best, buy...| 3.0|
|[wow, surprised, ...| 4.0|
|[one, day, satisf...| 3.0|
我想在每一行用柠檬汁涂抹
from nltk.stem import WordNetLemmatizer
lemmatizer = WordNetLemmatizer()
df_list = df_removed.withColumn("removed",lemmatizer.lemmatize(df_removed["removed"]))
我得到一个错误:
TypeError: unhashable type: 'Column'
我不想使用rdd
和map
函数,只需在dataframe上使用lemmatizer。
我该怎么做?如何修复此错误
FreqDist
函数接受可散列对象的iterable(使其成为字符串,但它可能与任何对象一起工作)。您得到的错误是因为您传入了一个列表的iterable。正如您所建议的,这是因为您所做的更改:如果我正确理解了Pandas apply function documentation,那么这一行将
nltk.word_tokenize
函数应用于某个系列word-tokenize
返回单词列表作为解决方案,在尝试应用
FreqDist
之前,只需将列表添加到一起,如下所示:一个更完整的修订,做你想做的。如果您只需要识别第二组100,请注意
mclist
将在第二次识别相关问题 更多 >
编程相关推荐