通过添加列或替换具有相同名称的现有列来返回新的 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|
# +---+-----+----+