pyspark.sql.Column.withField

Column.withField(fieldName: str, col: pyspark.sql.column.Column) → pyspark.sql.column.Column[source]

An expression that adds/replaces a field in StructType by name.

New in version 3.1.0.

Examples

>>> from pyspark.sql import Row
>>> from pyspark.sql.functions import lit
>>> df = spark.createDataFrame([Row(a=Row(b=1, c=2))])
>>> df.withColumn('a', df['a'].withField('b', lit(3))).select('a.b').show()
+---+
|  b|
+---+
|  3|
+---+
>>> df.withColumn('a', df['a'].withField('d', lit(4))).select('a.d').show()
+---+
|  d|
+---+
|  4|
+---+