-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add an ability to run tests if polars is not installed
Signed-off-by: Anatoly Myachev <anatoly.myachev@intel.com>
- Loading branch information
Showing
11 changed files
with
107 additions
and
81 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,44 +1,51 @@ | ||
from __future__ import annotations | ||
|
||
import pandas as pd | ||
import polars as pl | ||
import pytest | ||
from packaging.version import Version | ||
from packaging.version import parse | ||
from polars.testing import assert_series_equal | ||
|
||
from tests.utils import BaseHandler | ||
from tests.utils import compare_column_with_reference | ||
from tests.utils import pandas_version | ||
from tests.utils import polars_version | ||
|
||
@pytest.mark.skipif( | ||
parse(pd.__version__) < Version("2.1.0"), | ||
reason="pandas doesn't support 3.8", | ||
) | ||
def test_scale_column_pandas() -> None: | ||
s = pd.Series([1, 2, 3], name="a") | ||
ser = s.__column_consortium_standard__() | ||
ser = ser - ser.mean() | ||
result = ser.column | ||
pd.testing.assert_series_equal(result, pd.Series([-1, 0, 1.0], name="a")) | ||
|
||
def test_scale_column(library: BaseHandler) -> None: | ||
if library.name in ("pandas-numpy", "pandas-nullable"): | ||
if pandas_version() < Version("2.1.0"): | ||
pytest.skip(reason="pandas doesn't support 3.8") | ||
import pandas as pd | ||
|
||
s = pd.Series([1, 2, 3], name="a") | ||
ser = s.__column_consortium_standard__() | ||
elif library.name == "polars-lazy": | ||
if polars_version() < Version("0.19.0"): | ||
pytest.skip(reason="before consortium standard in polars") | ||
import polars as pl | ||
|
||
s = pl.Series("a", [1, 2, 3]) | ||
ser = s.__column_consortium_standard__() | ||
|
||
@pytest.mark.skipif( | ||
parse(pl.__version__) < Version("0.19.0"), | ||
reason="before consortium standard in polars", | ||
) | ||
def test_scale_column_polars() -> None: | ||
s = pl.Series("a", [1, 2, 3]) | ||
ser = s.__column_consortium_standard__() | ||
ns = ser.__column_namespace__() | ||
ser = ser - ser.mean() | ||
result = pl.select(ser.column)["a"] | ||
assert_series_equal(result, pl.Series("a", [-1, 0, 1.0])) | ||
compare_column_with_reference(ser, [-1, 0, 1.0], dtype=ns.Float64) | ||
|
||
|
||
def test_scale_column_polars_from_persisted_df(library: BaseHandler) -> None: | ||
if library.name in ("pandas-numpy", "pandas-nullable"): | ||
if pandas_version() < Version("2.1.0"): | ||
pytest.skip(reason="pandas doesn't support 3.8") | ||
import pandas as pd | ||
|
||
df = pd.DataFrame({"a": [1, 2, 3]}) | ||
ser = df.__dataframe_consortium_standard__().col("a") | ||
elif library.name == "polars-lazy": | ||
if polars_version() < Version("0.19.0"): | ||
pytest.skip(reason="before consortium standard in polars") | ||
import polars as pl | ||
|
||
df = pl.DataFrame({"a": [1, 2, 3]}) | ||
ser = df.__dataframe_consortium_standard__().col("a") | ||
|
||
@pytest.mark.skipif( | ||
parse(pl.__version__) < Version("0.19.0"), | ||
reason="before consortium standard in polars", | ||
) | ||
def test_scale_column_polars_from_persisted_df() -> None: | ||
df = pl.DataFrame({"a": [1, 2, 3]}) | ||
ser = df.__dataframe_consortium_standard__().col("a") | ||
ns = ser.__column_namespace__() | ||
ser = ser - ser.mean() | ||
result = pl.select(ser.persist().column)["a"] | ||
assert_series_equal(result, pl.Series("a", [-1, 0, 1.0])) | ||
compare_column_with_reference(ser, [-1, 0, 1.0], dtype=ns.Float64) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,24 +1,29 @@ | ||
from __future__ import annotations | ||
|
||
import pandas as pd | ||
import polars as pl | ||
import pytest | ||
from packaging.version import Version | ||
|
||
from tests.utils import BaseHandler | ||
from tests.utils import pandas_version | ||
from tests.utils import polars_version | ||
|
||
|
||
@pytest.mark.skipif( | ||
Version("0.19.0") > polars_version() or Version("2.1.0") > pandas_version(), | ||
reason="before consortium standard in polars/pandas", | ||
) | ||
def test_convert_to_std_column() -> None: | ||
s = pl.Series([1, 2, 3]).__column_consortium_standard__() | ||
assert float(s.mean()) == 2 | ||
s = pl.Series("bob", [1, 2, 3]).__column_consortium_standard__() | ||
assert float(s.mean()) == 2 | ||
s = pd.Series([1, 2, 3]).__column_consortium_standard__() | ||
assert float(s.mean()) == 2 | ||
s = pd.Series([1, 2, 3], name="alice").__column_consortium_standard__() | ||
assert float(s.mean()) == 2 | ||
def test_convert_to_std_column(library: BaseHandler) -> None: | ||
if library.name in ("pandas-numpy", "pandas-nullable"): | ||
if pandas_version() < Version("2.1.0"): | ||
pytest.skip(reason="before consortium standard in pandas") | ||
import pandas as pd | ||
|
||
s = pd.Series([1, 2, 3]).__column_consortium_standard__() | ||
assert float(s.mean()) == 2 | ||
s = pd.Series([1, 2, 3], name="alice").__column_consortium_standard__() | ||
assert float(s.mean()) == 2 | ||
elif library.name == "polars-lazy": | ||
if polars_version() < Version("0.19.0"): | ||
pytest.skip(reason="before consortium standard in polars") | ||
import polars as pl | ||
|
||
s = pl.Series([1, 2, 3]).__column_consortium_standard__() | ||
assert float(s.mean()) == 2 | ||
s = pl.Series("bob", [1, 2, 3]).__column_consortium_standard__() | ||
assert float(s.mean()) == 2 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters