withColumn (列操作)

通过添加列或替换具有相同名称的现有列来返回新的 DataFrame。

Syntax

withColumn(colName: str, col: Column)

参数

参数 类型 说明
colName str 字符串,新列的名称。
col 新列的列表达式。

退货

DataFrame:具有新列或已替换列的数据帧。

备注

此方法在内部引入投影。 因此,通过循环多次调用它,以便添加多个列可以生成大型计划,这可能会导致性能问题,甚至 StackOverflowException可能导致性能问题。 若要避免这种情况,请一次性与多个列一 select 起使用。

示例

df = spark.createDataFrame([(2, "Alice"), (5, "Bob")], schema=["age", "name"])
df.withColumn('age2', df.age + 2).show()
# +---+-----+----+
# |age| name|age2|
# +---+-----+----+
# |  2|Alice|   4|
# |  5|  Bob|   7|
# +---+-----+----+