diff --git a/src/safeds/data/tabular/containers/_table.py b/src/safeds/data/tabular/containers/_table.py index 9ad2e1747..f0942956c 100644 --- a/src/safeds/data/tabular/containers/_table.py +++ b/src/safeds/data/tabular/containers/_table.py @@ -13,11 +13,6 @@ from pandas import DataFrame, Series from scipy import stats -if TYPE_CHECKING: - from ._tagged_table import TaggedTable - -from ._column import Column -from ._row import Row from safeds.data.tabular.typing import ColumnType, TableSchema from safeds.exceptions import ( ColumnLengthMismatchError, @@ -30,6 +25,11 @@ SchemaMismatchError, UnknownColumnNameError, ) +from ._column import Column +from ._row import Row + +if TYPE_CHECKING: + from ._tagged_table import TaggedTable # noinspection PyProtectedMember @@ -921,7 +921,7 @@ def tag_columns(self, target_name: str, feature_names: Optional[list[str]] = Non tagged_table : TaggedTable A new tagged table with the given target and feature names. """ - from ._tagged_table import TaggedTable + from ._tagged_table import TaggedTable # pylint: disable=import-outside-toplevel return TaggedTable(self._data, target_name, feature_names, self._schema) def transform_column(self, name: str, transformer: Callable[[Row], Any]) -> Table: diff --git a/src/safeds/data/tabular/containers/_tagged_table.py b/src/safeds/data/tabular/containers/_tagged_table.py index 7af43e47e..c10096a43 100644 --- a/src/safeds/data/tabular/containers/_tagged_table.py +++ b/src/safeds/data/tabular/containers/_tagged_table.py @@ -38,11 +38,7 @@ def __init__( super().__init__(data, schema) - if feature_names is None: - self._features: Table = self.drop_columns([target_name]) - else: - self._features: Table = self.keep_only_columns(feature_names) - + self._features: Table = self.drop_columns([target_name]) if feature_names is None else self.keep_only_columns(feature_names) self._target: Column = self.get_column(target_name) @property diff --git a/tests/safeds/ml/test_util_sklearn.py b/tests/safeds/ml/test_util_sklearn.py index 88bb03b3c..c9fab0824 100644 --- a/tests/safeds/ml/test_util_sklearn.py +++ b/tests/safeds/ml/test_util_sklearn.py @@ -1,6 +1,6 @@ import warnings -from safeds.data.tabular.containers import Table, TaggedTable +from safeds.data.tabular.containers import Table from safeds.ml.regression import LinearRegression @@ -9,7 +9,7 @@ def test_predict_should_not_warn_about_feature_names() -> None: See https://github.com/Safe-DS/Stdlib/issues/51. """ - training_set = TaggedTable(Table({"a": [1, 2, 3], "b": [2, 4, 6]}), target_name="b") + training_set = Table({"a": [1, 2, 3], "b": [2, 4, 6]}).tag_columns(target_name="b") model = LinearRegression() fitted_model = model.fit(training_set)