FEA Fuzzy joining on datetime - #552
Conversation
|
I applied a I also added an What remains is to differentiate this |
Vincent-Maladiere
left a comment
There was a problem hiding this comment.
Hi Jovan, here are some feedbacks on this PR :)
My main remark is that I don't understand the point of numerical_match anymore: we extract embeddings from numerical and times by using the StandardScaler, and from string by using TFIDF.
Therefore we use the Euclidean Distance in the NearestNeighbor in all cases.
If users want to encode numerical values as strings, shouldn't they transform their numerical values to string before running the fuzzy_join? Otherwise, I feel it's very error-prone.
Also, removing the numerical_match would simplify the logic a lot.
Am I missing something? WDYT?
LilianBoulard
left a comment
There was a problem hiding this comment.
Thanks for the PR!
I have nothing of significance to add, as I'm not super familiar with the workings of fuzzy_join 😅
Vincent-Maladiere
left a comment
There was a problem hiding this comment.
One last comment before it LGTM :)
|
|
||
| main_str_cols = list(set(main_cols) - set(main_num_cols) - set(main_time_cols)) | ||
| aux_str_cols = list(set(aux_cols) - set(aux_num_cols) - set(main_time_cols)) | ||
| main_str_cols = main_table[main_cols].select_dtypes(include="object").columns |
There was a problem hiding this comment.
also "string" and "category", so include=["string", "category", "object"] ?
There was a problem hiding this comment.
As the test passed, I though object was sufficient. But if we want to be sure, I'll add all
Vincent-Maladiere
left a comment
There was a problem hiding this comment.
LGTM, waiting for the CI to be green :)
Adds support for fuzzy joining tables on datetime columns.
The datetime columns in the table must be recognizable with pandas.DataFrame.select_dtypes('datetime').