Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhance replace_column to accept a list of new columns #301

Closed
lars-reimann opened this issue May 9, 2023 · 3 comments · Fixed by #312 or #353
Closed

Enhance replace_column to accept a list of new columns #301

lars-reimann opened this issue May 9, 2023 · 3 comments · Fixed by #312 or #353
Assignees
Labels
enhancement 💡 New feature or request released Included in a release

Comments

@lars-reimann
Copy link
Member

lars-reimann commented May 9, 2023

Is your feature request related to a problem?

Currently, Table.replace_column can only be use to replace a column by one new column. It would be nice to also replace a column with multiple other columns, e.g. for the OneHotEncoder.

Desired solution

replace_column should accept a list of new_columns (instead of the original new_column parameter) and replace the original column with the new columns.

All new columns should be inserted at the position of the old column. New columns should be ordered as defined in the list.

Example:

col_1 col_2 col_3
1 3 5
2 4 6

replace_column("col_2", [Column("col_a", [7, 8]), Column("col_b", [9, 0])])

col_1 col_a col_b col_3
1 7 9 5
2 8 0 6

Possible alternatives (optional)

No response

Screenshots (optional)

No response

Additional Context (optional)

No response

@lars-reimann lars-reimann added the enhancement 💡 New feature or request label May 9, 2023
@github-project-automation github-project-automation bot moved this to Backlog in Library May 9, 2023
@zzril zzril moved this from Backlog to Todo in Library May 19, 2023
@robmeth robmeth self-assigned this May 19, 2023
@robmeth robmeth moved this from Todo to In Progress in Library May 19, 2023
@robmeth robmeth linked a pull request May 19, 2023 that will close this issue
@robmeth robmeth moved this from In Progress to Ready for Review in Library May 19, 2023
@zzril
Copy link
Contributor

zzril commented Jun 5, 2023

Desired solution

replace_column should accept a list of new_columns (instead of the original new_column parameter) and replace the original column with the new columns.

"Instead" means it should not accept a single Column as parameter anymore, but only a list of (possibly just 1) Column(s), right?
(As in Table.remove_columns().)

@zzril zzril moved this from Ready for Review to In Progress in Library Jun 5, 2023
@robmeth robmeth moved this from In Progress to Ready for Review in Library Jun 9, 2023
robmeth added a commit that referenced this issue Jun 9, 2023
Closes #301.

### Summary of Changes

`replace_column` should accept a list of `new_columns` (instead of the
original `new_column` parameter) and replace the original column with
the new columns now.

All new columns should be inserted at the position of the old column.
New columns should be ordered as defined in the list.

---------

Co-authored-by: megalinter-bot <129584137+megalinter-bot@users.noreply.github.com>
Co-authored-by: Severin Paul Höfer <84280965+zzril@users.noreply.github.com>
@github-project-automation github-project-automation bot moved this from Ready for Review to ✔️ Done in Library Jun 9, 2023
@zzril
Copy link
Contributor

zzril commented Jun 9, 2023

There should be testcases for giving an emtpy list of columns; reopening issue.

@zzril zzril reopened this Jun 9, 2023
@github-project-automation github-project-automation bot moved this from ✔️ Done to Backlog in Library Jun 9, 2023
@zzril zzril closed this as completed in #353 Jun 9, 2023
zzril added a commit that referenced this issue Jun 9, 2023
Closes #301.

### Summary of Changes

Added a new testcase for `replace_column` to verify that the method can
handle an empty list as argument.
@github-project-automation github-project-automation bot moved this from Backlog to ✔️ Done in Library Jun 9, 2023
lars-reimann pushed a commit that referenced this issue Jun 30, 2023
## [0.14.0](v0.13.0...v0.14.0) (2023-06-30)

### Features

* 290 properties for width-height of image ([#359](#359)) ([d9ebdc1](d9ebdc1)), closes [#290](#290)
* Add `find_edges` method to `Image` class ([#383](#383)) ([d14b6ce](d14b6ce)), closes [#288](#288)
* Add `StandardScaler` transformer ([#316](#316)) ([57b0572](57b0572)), closes [#142](#142)
* Add docstrings to the getter methods for hyperparameters in Regression and Classification models ([#371](#371)) ([9073f04](9073f04)), closes [#313](#313)
* Added `Table.group_by` to group a table by a given key ([#343](#343)) ([afb98be](afb98be)), closes [#160](#160)
* Added and improved errors and warnings in the table transformers ([#372](#372)) ([544e307](544e307)), closes [#152](#152)
* added crop() method in image and tests ([#365](#365)) ([eba8163](eba8163))
* added invert_colors method ([#367](#367)) ([1e4d110](1e4d110))
* adjust brightness and contrast of image ([#368](#368)) ([1752feb](1752feb)), closes [#289](#289) [#291](#291)
* blur Image method ([#363](#363)) ([c642176](c642176))
* check that methods of table can handle an empty table ([#314](#314)) ([686c2e7](686c2e7)), closes [#123](#123)
* convert image to grayscale ([#366](#366)) ([1312fe7](1312fe7)), closes [#287](#287)
* enhance `replace_column` to accept a list of new columns ([#312](#312)) ([d50c5b5](d50c5b5)), closes [#301](#301)
* Explicitly throw `UnknownColumnNameError` in `TaggedTable._from_table` ([#334](#334)) ([498999f](498999f)), closes [#333](#333)
* flip images / eq method for image ([#360](#360)) ([54f4ae1](54f4ae1)), closes [#280](#280)
* improve `table.summary`. Catch `ValueError` thrown by `column.stability` ([#390](#390)) ([dbbe0e3](dbbe0e3)), closes [#320](#320)
* improve error handling of `column.stability` when given a column that contains only None ([#388](#388)) ([1da2499](1da2499)), closes [#319](#319)
* Improve Error Handling of classifiers and regressors ([#355](#355)) ([66f5f64](66f5f64)), closes [#153](#153)
* Resize image ([#354](#354)) ([3a971ca](3a971ca)), closes [#283](#283)
* rotate_left and rotate_right added to Image ([#361](#361)) ([c877530](c877530)), closes [#281](#281)
* set kernel of support vector machine ([#350](#350)) ([1326f40](1326f40)), closes [#172](#172)
* sharpen image ([#364](#364)) ([3444700](3444700)), closes [#286](#286)

### Bug Fixes

* Keeping no columns with Table.keep_only_columns results in an empty Table with a row count above 0 ([#386](#386)) ([15dab06](15dab06)), closes [#318](#318)
* remove default value of `positive_class` parameter of classifier metrics ([#382](#382)) ([58fc09e](58fc09e))
* remove default value of `radius` parameter of `blur` ([#378](#378)) ([7f07f29](7f07f29))
@lars-reimann
Copy link
Member Author

🎉 This issue has been resolved in version 0.14.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

@lars-reimann lars-reimann added the released Included in a release label Jun 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement 💡 New feature or request released Included in a release
Projects
Archived in project
3 participants