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

Returns a new DataFrame by adding multiple columns or replacing the existing columns that has the same names.

The colsMap is a map of column name and column, the column must only refer to attributes supplied by this Dataset. It is an error to add columns that refer to some other Dataset.

New in version 3.3.0: Added support for multiple columns adding


a dict of column name and Column. Currently, only single map is supported.


>>> df.withColumns({'age2': df.age + 2, 'age3': df.age + 3}).collect()
[Row(age=2, name='Alice', age2=4, age3=5), Row(age=5, name='Bob', age2=7, age3=8)]