Skip to content

Commit

Permalink
feat: change the name of a Column (#76)
Browse files Browse the repository at this point in the history
### Summary of Changes

New method on `Column` that returns a new column with a new name.
  • Loading branch information
lars-reimann authored Mar 24, 2023
1 parent fee398b commit ec539eb
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 0 deletions.
16 changes: 16 additions & 0 deletions src/safeds/data/tabular/containers/_column.py
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,22 @@ def _count_missing_values(self) -> int:
"""
return self._data.isna().sum()

def rename(self, new_name: str) -> Column:
"""
Return a new column with a new name.
Parameters
----------
new_name : str
The new name of the column.
Returns
-------
column : Column
A new column with the new name.
"""
return Column(self._data, new_name)

def all(self, predicate: Callable[[Any], bool]) -> bool:
"""
Check if all values have a given property.
Expand Down
13 changes: 13 additions & 0 deletions tests/safeds/data/tabular/containers/_column/test_rename.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
from safeds.data.tabular.containers import Column


def test_should_return_new_column_with_new_name() -> None:
column = Column([1, 2, 3], "A")
new_column = column.rename("B")
assert new_column.name == "B"


def test_should_not_change_name_of_original_column() -> None:
column = Column([1, 2, 3], "A")
column.rename("B")
assert column.name == "A"

0 comments on commit ec539eb

Please sign in to comment.