nlp - 获取“ AttributeError:'float'对象没有属性'lower'”
问题描述
我有一个用户评论和评分数据集。我正在预处理此数据集,但出现如下错误。我该如何解决?
def DataCleaning(metin):
numbers = "0123456789"
lower_case=metin.lower()
punct_removed = [char for char in lower_case if char not in string.punctuation]
punct_removed=[char for char in punct_removed if char not in numbers]
punct_removed_join=''.join(punct_removed)
punct_removed_join_clean = [word for word in punct_removed_join.split() if word not in
stopwords.words('english')]
return punct_removed_join_clean
otel_verileri["reviews.text"] = otel_verileri["reviews.text"].apply(DataCleaning)
otel_verileri["reviews.text"].tolist()
OUTPUT:
AttributeError Traceback (most recent call last)
<ipython-input-56-a80b269d8bbe> in <module>()
1
----> 2 otel_verileri["reviews.text"] = otel_verileri["reviews.text"].apply(DataCleaning)
3 otel_verileri["reviews.text"].tolist()
1 frames
pandas/_libs/lib.pyx in pandas._libs.lib.map_infer()
<ipython-input-48-748ef67e84ac> in DataCleaning(metin)
1 def DataCleaning(metin):
2 numbers = "0123456789"
----> 3 lower_case=metin.lower()
4 punct_removed = [char for char in lower_case if char not in string.punctuation]
5 punct_removed=[char for char in punct_removed if char not in numbers]
AttributeError: 'float' object has no attribute 'lower'
解决方案
我猜你使用的是 pandas 库。我不知道您是否正在阅读 excel 文件,但我会假设它。
Pandas 似乎喜欢自己推断类型。您可以抑制它并要求特定列仅str
使用此:
otel_verileri = pd.read_excel(file_name, converters={'reviews.text' : str})
推荐阅读
- android-studio - 如何在同一片段中的创建函数上使用 2 个公共类,受保护的 void?
- python - 二进制数转换为整数
- amazon-web-services - AWS EMR Bootstrap 添加或更新
- r - 从其他文件夹导入excel文件慢
- javascript - 具有 2 个参数真/假资格的函数
- mysql - MySQL程序问题,让我上次输入的用户重新输入
- javascript - 在 Mapboxgl.js 的弹出窗口中添加一个按钮
- reactjs - 在执行子组件之前等待对象可用
- amazon-ec2 - 具有 IOT 数据的可扩展超级账本 v1.4 的应用程序架构
- javascript - 如何将 HTML 与 Python 结合起来?