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

@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().)

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>
@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
@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.
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