spark git commit: [SPARK-8038] [SQL] [PYSPARK] fix Column.when() and otherwise()
Repository: spark Updated Branches: refs/heads/branch-1.4 cbaf59544 -> 6b0f61563 [SPARK-8038] [SQL] [PYSPARK] fix Column.when() and otherwise() Thanks ogirardot, closes #6580 cc rxin JoshRosen Author: Davies Liu Closes #6590 from davies/when and squashes the following commits: c0f2069 [Davies Liu] fix Column.when() and otherwise() (cherry picked from commit 605ddbb27c8482fc0107b21c19d4e4ae19348f35) Signed-off-by: Reynold Xin Project: http://git-wip-us.apache.org/repos/asf/spark/repo Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/6b0f6156 Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/6b0f6156 Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/6b0f6156 Branch: refs/heads/branch-1.4 Commit: 6b0f61563dd93b4225f31aafe6546cf0a11bf9a6 Parents: cbaf595 Author: Davies Liu Authored: Tue Jun 2 13:38:06 2015 -0700 Committer: Reynold Xin Committed: Tue Jun 2 13:38:14 2015 -0700 -- python/pyspark/sql/column.py | 31 --- 1 file changed, 28 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/spark/blob/6b0f6156/python/pyspark/sql/column.py -- diff --git a/python/pyspark/sql/column.py b/python/pyspark/sql/column.py index 8dc5039..1ecec5b 100644 --- a/python/pyspark/sql/column.py +++ b/python/pyspark/sql/column.py @@ -315,6 +315,14 @@ class Column(object): """ A boolean expression that is evaluated to true if the value of this expression is between the given columns. + +>>> df.select(df.name, df.age.between(2, 4)).show() ++-+--+ +| name|((age >= 2) && (age <= 4))| ++-+--+ +|Alice| true| +| Bob| false| ++-+--+ """ return (self >= lowerBound) & (self <= upperBound) @@ -328,12 +336,20 @@ class Column(object): :param condition: a boolean :class:`Column` expression. :param value: a literal value, or a :class:`Column` expression. + +>>> from pyspark.sql import functions as F +>>> df.select(df.name, F.when(df.age > 4, 1).when(df.age < 3, -1).otherwise(0)).show() ++-++ +| name|CASE WHEN (age > 4) THEN 1 WHEN (age < 3) THEN -1 ELSE 0| ++-++ +|Alice| -1| +| Bob| 1| ++-++ """ -sc = SparkContext._active_spark_context if not isinstance(condition, Column): raise TypeError("condition should be a Column") v = value._jc if isinstance(value, Column) else value -jc = sc._jvm.functions.when(condition._jc, v) +jc = self._jc.when(condition._jc, v) return Column(jc) @since(1.4) @@ -345,9 +361,18 @@ class Column(object): See :func:`pyspark.sql.functions.when` for example usage. :param value: a literal value, or a :class:`Column` expression. + +>>> from pyspark.sql import functions as F +>>> df.select(df.name, F.when(df.age > 3, 1).otherwise(0)).show() ++-+-+ +| name|CASE WHEN (age > 3) THEN 1 ELSE 0| ++-+-+ +|Alice|0| +| Bob|1| ++-+-+ """ v = value._jc if isinstance(value, Column) else value -jc = self._jc.otherwise(value) +jc = self._jc.otherwise(v) return Column(jc) @since(1.4) - To unsubscribe, e-mail: commits-unsubscr...@spark.apache.org For additional commands, e-mail: commits-h...@spark.apache.org
spark git commit: [SPARK-8038] [SQL] [PYSPARK] fix Column.when() and otherwise()
Repository: spark Updated Branches: refs/heads/master 686a45f0b -> 605ddbb27 [SPARK-8038] [SQL] [PYSPARK] fix Column.when() and otherwise() Thanks ogirardot, closes #6580 cc rxin JoshRosen Author: Davies Liu Closes #6590 from davies/when and squashes the following commits: c0f2069 [Davies Liu] fix Column.when() and otherwise() Project: http://git-wip-us.apache.org/repos/asf/spark/repo Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/605ddbb2 Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/605ddbb2 Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/605ddbb2 Branch: refs/heads/master Commit: 605ddbb27c8482fc0107b21c19d4e4ae19348f35 Parents: 686a45f Author: Davies Liu Authored: Tue Jun 2 13:38:06 2015 -0700 Committer: Reynold Xin Committed: Tue Jun 2 13:38:06 2015 -0700 -- python/pyspark/sql/column.py | 31 --- 1 file changed, 28 insertions(+), 3 deletions(-) -- http://git-wip-us.apache.org/repos/asf/spark/blob/605ddbb2/python/pyspark/sql/column.py -- diff --git a/python/pyspark/sql/column.py b/python/pyspark/sql/column.py index 8dc5039..1ecec5b 100644 --- a/python/pyspark/sql/column.py +++ b/python/pyspark/sql/column.py @@ -315,6 +315,14 @@ class Column(object): """ A boolean expression that is evaluated to true if the value of this expression is between the given columns. + +>>> df.select(df.name, df.age.between(2, 4)).show() ++-+--+ +| name|((age >= 2) && (age <= 4))| ++-+--+ +|Alice| true| +| Bob| false| ++-+--+ """ return (self >= lowerBound) & (self <= upperBound) @@ -328,12 +336,20 @@ class Column(object): :param condition: a boolean :class:`Column` expression. :param value: a literal value, or a :class:`Column` expression. + +>>> from pyspark.sql import functions as F +>>> df.select(df.name, F.when(df.age > 4, 1).when(df.age < 3, -1).otherwise(0)).show() ++-++ +| name|CASE WHEN (age > 4) THEN 1 WHEN (age < 3) THEN -1 ELSE 0| ++-++ +|Alice| -1| +| Bob| 1| ++-++ """ -sc = SparkContext._active_spark_context if not isinstance(condition, Column): raise TypeError("condition should be a Column") v = value._jc if isinstance(value, Column) else value -jc = sc._jvm.functions.when(condition._jc, v) +jc = self._jc.when(condition._jc, v) return Column(jc) @since(1.4) @@ -345,9 +361,18 @@ class Column(object): See :func:`pyspark.sql.functions.when` for example usage. :param value: a literal value, or a :class:`Column` expression. + +>>> from pyspark.sql import functions as F +>>> df.select(df.name, F.when(df.age > 3, 1).otherwise(0)).show() ++-+-+ +| name|CASE WHEN (age > 3) THEN 1 ELSE 0| ++-+-+ +|Alice|0| +| Bob|1| ++-+-+ """ v = value._jc if isinstance(value, Column) else value -jc = self._jc.otherwise(value) +jc = self._jc.otherwise(v) return Column(jc) @since(1.4) - To unsubscribe, e-mail: commits-unsubscr...@spark.apache.org For additional commands, e-mail: commits-h...@spark.apache.org