词干 Pandas 数据框 'float' 对象没有属性 'split'

Stemming Pandas Dataframe 'float' object has no attribute 'split'

import pandas as pd
from nltk.stem import PorterStemmer, WordNetLemmatizer
porter_stemmer = PorterStemmer()

df = pd.read_csv("last1.csv",sep=',',header=0,encoding='utf-8')

df['rev'] = df['reviewContent'].apply(lambda x : filter(None,x.split(" ")))

Dataset

我正在尝试阻止我的数据框。在标记化时我收到此错误

df['rev'] = df['reviewContent'].apply(lambda x : filter(None,x.split(" ")))

AttributeError: 'float' 对象没有属性 'split'

在使用词干提取时我也遇到了浮动问题

df['reviewContent'] = df["reviewContent"].apply(lambda x: [stemmer.stem(y) for y in x])

类型错误:'float'对象不可迭代

我能做什么?

标记数据时,不需要 apply 调用。 str.split 应该没问题。此外,您可以拆分多个空格,因此您不必寻找空字符串。

df['rev'] = df['reviewContent'].astype(str).str.split()

您现在可以像以前一样运行您的词干分析器:

df['rev'] = df['rev'].apply(lambda x: [stemmer.stem(y) for y in x])

我们也可以这样写

df['rev'] = df['rev'].astype(str).apply(lambda x: stemmer.stem(x))