我有2列名稱,年齡的數據框。 我想添加包含str.count(name)值的新列name_length。通過UserDefinedFunction在spark python中添加新列(字符串長度)
代碼:
from pyspark.sql.functions import UserDefinedFunction
from pyspark.sql.types import DoubleType
udf = UserDefinedFunction(lambda x: str.count(x.alias(name)), DoubleType())
df_with_new_column = nonull_df.withColumn('name_length', udf())
print df_with_new_column.show()
當我運行此,我收到錯誤: "ValueError: (ValueError('No args or kwargs',), <function <lambda> at 0x7feac13329b0>,())"
歡迎來到SO。 SO上的每一個答案都應該完全回答這個問題。如果您認爲可以讓它們變得更好,請使用編輯功能來改進其他答案 –