繁体   English   中英

Stemming Pandas Dataframe '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(" ")))

数据集

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

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

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

在使用 Stemming 时,我也遇到了浮动问题

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

类型错误:“浮动”对象不可迭代

我能做什么?

标记数据时,您不需要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))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM