如何解决AttributeError: 'NoneType' 对象没有属性 'upper'
我有一个 PySpark 数据框 (df) 并试图添加一个列 (capital_names),该列将是一个名称转换为大写字母的现有列 (名称)。我是这样做的:
def capital(text):
return text.upper()
udf_capital = udf(capital,StringType())
df2 = df.withColumn("capital_names",udf_capital("names"))
df2.show()
运行代码时,当我尝试显示结果数据框时出现错误:
AttributeError: 'NoneType' object has no attribute 'upper'
但是,我已经检查了我的数据框的架构并且列“名称”是 StringType,我该如何解决这个问题? 提前致谢!
解决方法
列中有空值。尝试在 UDF 中添加一个检查来捕捉它。
def capital(text):
if text is not None:
return text.upper()
else:
return None
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。