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

feat: suggest similar columns if column gets accessed that doesnt exist #385

Conversation

robmeth
Copy link
Contributor

@robmeth robmeth commented Jun 23, 2023

Closes #203

Summary of Changes

  • Added a method _get_similar_columns to find columns with a name similar to a given name.
  • Updated UnknownColumnNameError to allow for passing name suggestions.
  • Used these suggestions in get_column, keep_only_columns, remove_columns, rename_column, replace_column, transform_column, plot_lineplot, plot_scatterplot.

Co-authored-by: jxnior01 129027012+jxnior01@users.noreply.github.com

@robmeth robmeth requested a review from a team as a code owner June 23, 2023 12:32
@robmeth robmeth linked an issue Jun 23, 2023 that may be closed by this pull request
@lars-reimann
Copy link
Member

lars-reimann commented Jun 23, 2023

🦙 MegaLinter status: ✅ SUCCESS

Descriptor Linter Files Fixed Errors Elapsed time
✅ PYTHON black 4 0 0 0.9s
✅ PYTHON mypy 4 0 2.04s
✅ PYTHON ruff 4 0 0 0.11s
✅ REPOSITORY git_diff yes no 0.09s

See detailed report in MegaLinter reports
Set VALIDATE_ALL_CODEBASE: true in mega-linter.yml to validate all sources, not only the diff

MegaLinter is graciously provided by OX Security

@codecov
Copy link

codecov bot commented Jun 23, 2023

Codecov Report

Merging #385 (fdd47ca) into main (5cfba79) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##              main      #385   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           49        49           
  Lines         2683      2715   +32     
=========================================
+ Hits          2683      2715   +32     
Impacted Files Coverage Δ
src/safeds/data/tabular/containers/_table.py 100.00% <100.00%> (ø)
src/safeds/exceptions/_data.py 100.00% <100.00%> (ø)

jxnior01 and others added 3 commits July 13, 2023 19:50
…olumns.py

Co-authored-by: Severin Paul Höfer <84280965+zzril@users.noreply.github.com>
Co-authored-by: Severin Paul Höfer <84280965+zzril@users.noreply.github.com>
@zzril
Copy link
Contributor

zzril commented Jul 13, 2023

Concerning the update of poetry.lock: Is this safe?

When I updated this earlier in 6419940, I only (automatically) added the dependencies for levenshtein.

But now I see a later commit has also re-generated it with a newer poetry version and changed the category in every entry. Is this necessary? @lars-reimann @Marsmaennchen221

@lars-reimann
Copy link
Member

lars-reimann commented Jul 13, 2023

Concerning the update of poetry.lock: Is this safe?

When I updated this earlier in 6419940, I only (automatically) added the dependencies for levenshtein.

But now I see a later commit has also re-generated it with a newer poetry version and changed the category in every entry. Is this necessary? @lars-reimann @Marsmaennchen221

I'd suggest reverting this file back to the state of 6419940. When a new dependency gets added, the lockfile should only be changed minimally.

@zzril
Copy link
Contributor

zzril commented Jul 13, 2023

Concerning the update of poetry.lock: Is this safe?
When I updated this earlier in 6419940, I only (automatically) added the dependencies for levenshtein.
But now I see a later commit has also re-generated it with a newer poetry version and changed the category in every entry. Is this necessary? @lars-reimann @Marsmaennchen221

I'd suggest reverting this file back to the state of 6419940. When a new dependency gets added, the lockfile should only be changed minimally.

Done.

@zzril zzril dismissed their stale review July 13, 2023 20:22

Suggestions were applied.

Copy link
Member

@lars-reimann lars-reimann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changes to pyproject.toml and poetry.lock are OK. I didn't review the rest.

@jxnior01 jxnior01 merged commit 6a097a4 into main Jul 13, 2023
8 checks passed
@jxnior01 jxnior01 deleted the 203-suggest-similar-columns-if-column-gets-accessed-that-doesnt-exist branch July 13, 2023 20:38
lars-reimann pushed a commit that referenced this pull request Jul 13, 2023
## [0.15.0](v0.14.0...v0.15.0) (2023-07-13)

### Features

* Add copy method for tables ([#405](#405)) ([72e87f0](72e87f0)), closes [#275](#275)
* add gaussian noise to image ([#430](#430)) ([925a505](925a505)), closes [#381](#381)
* add schema conversions when adding new rows to a table and schema conversion when creating a new table ([#432](#432)) ([6e9ff69](6e9ff69)), closes [#404](#404) [#322](#322) [#127](#127) [#322](#322) [#127](#127)
* add test for empty tables for the method `Table.sort_rows` ([#431](#431)) ([f94b768](f94b768)), closes [#402](#402)
* added color adjustment feature ([#409](#409)) ([2cbee36](2cbee36)), closes [#380](#380)
* added test_repr table tests ([#410](#410)) ([cb77790](cb77790)), closes [#349](#349)
* discretize table ([#327](#327)) ([5e3da8d](5e3da8d)), closes [#143](#143)
* Improve error handling of TaggedTable ([#450](#450)) ([c5da544](c5da544)), closes [#150](#150)
* Maintain tagging in methods inherited from `Table` class ([#332](#332)) ([bc73a6c](bc73a6c)), closes [#58](#58)
* new error class `OutOfBoundsError` ([#438](#438)) ([1f37e4a](1f37e4a)), closes [#262](#262)
* rename several `Table` methods for consistency ([#445](#445)) ([9954986](9954986)), closes [#439](#439)
* suggest similar columns if column gets accessed that doesnt exist ([#385](#385)) ([6a097a4](6a097a4)), closes [#203](#203)

### Bug Fixes

* added the missing ids in parameterized tests ([#412](#412)) ([dab6419](dab6419)), closes [#362](#362)
* don't warn if `Imputer` transforms column without missing values ([#448](#448)) ([f0cb6a5](f0cb6a5))
* Warnings raised by underlying seaborn and numpy libraries  ([#425](#425)) ([c4143af](c4143af)), closes [#357](#357)
@lars-reimann
Copy link
Member

🎉 This PR is included in version 0.15.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

@lars-reimann lars-reimann added the released Included in a release label Jul 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
released Included in a release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Suggest similar columns if column gets accessed that doesn't exist
6 participants