-
-
Notifications
You must be signed in to change notification settings - Fork 18k
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
ENH: support masked arrays in groupby cython algos #37493
Closed
10 tasks done
Labels
Comments
jorisvandenbossche
added
Enhancement
Groupby
NA - MaskedArrays
Related to pd.NA and nullable extension arrays
labels
Oct 29, 2020
This was referenced Oct 29, 2020
It seems that for some algorithms, we actually already use a mask, eg for |
1 task
4 tasks
3 tasks
This was referenced Feb 22, 2022
This was referenced Aug 9, 2022
This was referenced Sep 4, 2022
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Similarly as for normal reductions (eg #30982), we should investigate having masked array-specific support in the groupby algorithms.
Currently, when starting from a nullable extension array, they get converted to a numpy array (eg integers with missing values will typically get cast to float with nan) before passing to the cython algorithm.
Having support for passing a mask to the cython algos can improve the groupby support for nullable dtypes.
any
/all
(correctly pass mask + add Kleene logic) -> ENH/BUG: Use Kleene logic for groupby any/all #40819cummin
/cummax
-> PERF/BUG: use masked algo in groupby cummin and cummax #40651cumsum
/cumprod
-> ENH: Support mask in GroupBy.cumsum #48070, ENH: Support mask in groupby cumprod #48138sum
/prod
/var
/mean
min
/max
-> BUG: Groupby min/max with nullable dtypes #42567median
ohlc
(ENH: Add support for groupby.ohlc for ea dtypes #48081)quantile
(correctly pass mask)last
/nth
(last PERF: support mask in group_last #46107)rank
(ENH: support mask in libalgos.rank #46932)The text was updated successfully, but these errors were encountered: