虽然您不能这样修改列,但是您可以对列进行操作并返回反映该更改的新Dataframe。为此,您首先要创建一个
UserDefinedFunction实施操作以应用,然后有选择地将该功能仅应用到目标列。在Python中:
from pyspark.sql.functions import UserDefinedFunctionfrom pyspark.sql.types import StringTypename = 'target_column'udf = UserDefinedFunction(lambda x: 'new_value', StringType())new_df = old_df.select(*[udf(column).alias(name) if column == name else column for column in old_df.columns])
new_df现在具有相同的模式
old_df(假设
old_df.target_column是类型
StringType以及),但在列中的所有值
target_column将是
new_value。



