我有一个PySpark Dataframe (df),并试图添加一个列(capital_names),它将是一个现有的列(名称),其名称被转换为大写字母。我所做的工作如下:
def capital(text):
return text.upper()
udf_capital = udf(capital,StringType())
df2 = df.withColumn("capital_names",udf_capital("names"))
df2.show()在运行代码时,当我试图显示结果的dataframe时,会得到一个错误:
AttributeError: 'NoneType' object has no attribute 'upper'然而,我已经检查了我的dataframe的模式和列“名称”是StringType,我如何解决这个问题?提前感谢!
发布于 2021-01-05 13:40:18
列中有空。尝试在UDF中添加一个检查来捕捉它。
def capital(text):
if text is not None:
return text.upper()
else:
return Nonehttps://stackoverflow.com/questions/65580018
复制相似问题