@@ -549,7 +549,8 @@ def with_columns(
549549 ) -> DataFrame :
550550 """Add columns to the DataFrame.
551551
552- By passing expressions, iterables of expressions, string SQL expressions, or named expressions.
552+ By passing expressions, iterables of expressions, string SQL expressions,
553+ or named expressions.
553554 All expressions must be :class:`~datafusion.expr.Expr` objects created via
554555 :func:`datafusion.col` or :func:`datafusion.lit` or SQL expressions.
555556 To pass named expressions use the form ``name=Expr``.
@@ -565,7 +566,8 @@ def with_columns(
565566 )
566567
567568 Args:
568- exprs: Either a single expression, an iterable of expressions to add or string SQL expressions.
569+ exprs: Either a single expression, an iterable of expressions to add or
570+ string SQL expressions.
569571 named_exprs: Named expressions in the form of ``name=expr``
570572
571573 Returns:
@@ -574,8 +576,7 @@ def with_columns(
574576 expressions = []
575577 for expr in exprs :
576578 if isinstance (expr , str ):
577- expr = self .parse_sql_expr (expr )
578- expressions .append (ensure_expr (expr ))
579+ expressions .append (self .parse_sql_expr (expr ).expr )
579580 elif isinstance (expr , Iterable ) and not isinstance (
580581 expr , (Expr , str , bytes , bytearray )
581582 ):
@@ -591,9 +592,9 @@ def with_columns(
591592 expressions .append (ensure_expr (expr ))
592593
593594 for alias , expr in named_exprs .items ():
594- expr = self .parse_sql_expr (expr ) if isinstance (expr , str ) else expr
595- ensure_expr (expr )
596- expressions .append (expr .alias (alias ).expr )
595+ e = self .parse_sql_expr (expr ) if isinstance (expr , str ) else expr
596+ ensure_expr (e )
597+ expressions .append (e .alias (alias ).expr )
597598
598599 return DataFrame (self .df .with_columns (expressions ))
599600
0 commit comments