diff --git a/databricks/koalas/base.py b/databricks/koalas/base.py index 89e2b9cd8f..6f62be8585 100644 --- a/databricks/koalas/base.py +++ b/databricks/koalas/base.py @@ -32,7 +32,7 @@ from databricks import koalas as ks # For running doctests and reference resolution in PyCharm. from databricks.koalas.internal import _InternalFrame from databricks.koalas.typedef import pandas_wraps -from databricks.koalas.utils import align_diff_series +from databricks.koalas.utils import align_diff_series, scol_for def _column_op(f): @@ -582,7 +582,7 @@ def all(self, axis: Union[int, str] = 0) -> bool: raise ValueError('axis should be either 0 or "index" currently.') sdf = self._kdf._sdf.select(self._scol) - col = self._scol + col = scol_for(sdf, sdf.columns[0]) # Note that we're ignoring `None`s here for now. # any and every was added as of Spark 3.0 @@ -645,7 +645,7 @@ def any(self, axis: Union[int, str] = 0) -> bool: raise ValueError('axis should be either 0 or "index" currently.') sdf = self._kdf._sdf.select(self._scol) - col = self._scol + col = scol_for(sdf, sdf.columns[0]) # Note that we're ignoring `None`s here for now. # any and every was added as of Spark 3.0 diff --git a/databricks/koalas/tests/test_series.py b/databricks/koalas/tests/test_series.py index dc67c45935..46e0df87a8 100644 --- a/databricks/koalas/tests/test_series.py +++ b/databricks/koalas/tests/test_series.py @@ -254,6 +254,40 @@ def test_isnull(self): self.assert_eq(ks.notnull(), ps.notnull()) self.assert_eq(ks.isnull(), ps.isnull()) + def test_all(self): + for ps in [pd.Series([True, True], name='x'), + pd.Series([True, False], name='x'), + pd.Series([0, 1], name='x'), + pd.Series([1, 2, 3], name='x'), + pd.Series([True, True, None], name='x'), + pd.Series([True, False, None], name='x'), + pd.Series([], name='x'), + pd.Series([np.nan], name='x')]: + ks = koalas.from_pandas(ps) + self.assert_eq(ks.all(), ps.all()) + + ps = pd.Series([1, 2, 3, 4], name='x') + ks = koalas.from_pandas(ps) + + self.assert_eq((ks % 2 == 0).all(), (ps % 2 == 0).all()) + + def test_any(self): + for ps in [pd.Series([False, False], name='x'), + pd.Series([True, False], name='x'), + pd.Series([0, 1], name='x'), + pd.Series([1, 2, 3], name='x'), + pd.Series([True, True, None], name='x'), + pd.Series([True, False, None], name='x'), + pd.Series([], name='x'), + pd.Series([np.nan], name='x')]: + ks = koalas.from_pandas(ps) + self.assert_eq(ks.any(), ps.any()) + + ps = pd.Series([1, 2, 3, 4], name='x') + ks = koalas.from_pandas(ps) + + self.assert_eq((ks % 2 == 0).any(), (ps % 2 == 0).any()) + def test_sort_values(self): ps = pd.Series([1, 2, 3, 4, 5, None, 7], name='0') ks = koalas.from_pandas(ps)