pyspark.sql.DataFrame.withColumns

DataFrame. withColumns ( * colsMap : Dict [ str , pyspark.sql.column.Column ] ) → pyspark.sql.dataframe.DataFrame [source]

通过添加多个列或替换具有相同名称的现有列,返回一个新的 DataFrame

colsMap 是一个列名和列的映射,列必须仅引用此数据集提供的属性。添加引用其他数据集的列是错误的。

新版本 3.3.0: 增加了对多列添加的支持

版本 3.4.0 更改: 支持 Spark Connect。

Parameters
colsMap dict

一个列名和 Column 的字典。目前,仅支持单个映射。

Returns
DataFrame

包含新列或替换列的数据框。

示例

>>> df = spark.createDataFrame([(2, "Alice"), (5, "Bob")], schema=["age", "name"])
>>> df.withColumns({'age2': df.age + 2, 'age3': df.age + 3}).show()
+---+-----+----+----+
|age| name|age2|age3|
+---+-----+----+----+
|  2|Alice|   4|   5|
|  5|  Bob|   7|   8|
+---+-----+----+----+