Missing metadata refactor - #939
Conversation
|
Hey @ebolyen, is something like this what you had in mind? |
|
Hey @colinvwood, yep this is the basic idea I think! Are you ready for a review? Another thing we can do is extend the pyproject toml to include pandas 3.x and UV should pick it up in its matrix. |
|
Not quite, I want to add some tests that are aware of the missing masks and then it will be. Re pandas 3.x, I'm not sure how to do that--would that be a new |
|
Just change this line to be < 3.1 instead of 3.0: https://github.com/rachis-org/rachis/blob/dev/pyproject.toml#L17 |
|
Looks like there's some work to be done before pandas 3 becomes a reality |
|
Should be ready for review now. Do you have time @ebolyen or should I bug Anthony? |
|
@ebolyen I'm going to work through the pandas 3 errors now. A big question from the get-go: do we want the canonical type of Either way--whether we stick with object or switch to str--the decision we make is going to become more engrained because many tests will have to be updated to force a specific dtype for hand-written (i.e. expected) dataframes. We'll be spanning pandas 2 & 3 and pandas 3 uses the str type as default. This means that either way tests will complain under one of the supported versions. |
|
There is also CategoricalDtype which may be the most correct of the new types. I think we should probably switch away from |
|
I chose to move forward with
Also, I think I was confused earlier when I wrote about supporting pandas 2.x and 3.x simultaneously--this won't actually be the case right? We'll pin to >3.x in the next release and that'll be that? All tests pass for pandas 3.x. |
|
It would be nice to support |
|
Okay it works with 2.3 as well now, I also made 2.3 the lowest supported version instead of 2.2. |
|
Just chatted with @ebolyen about this, we'll get this reviewed shortly! |
Refactors how we support alternative vocabularies for missing data. No longer encodes these in
np.nans and instead keeps a "sidecar" series (or dataframe) to store the alternative representations of missing values.