Hmm. I thought we had the inversion operator implemented, but I guess we don't. That's just a matter of adding an implementation for
__invert__ in SArray. I'm guessing this hasn't been implemented because it only makes sense if the SArray is of type
int, so the implementation would just have to check the type and fail appropriately. Should be straightforward. I'll create an issue to track.
As far as splitting in to a tuple with a boolean mask, I think you're doing it the best way as it stands. The closest thing we have is the hidden
_group method on SFrame which is hidden because we need to do some things in the backend implementation to actually make it performant. That will group a column or columns in to different SFrames for each unique value of the group, so you could just add your boolean mask as a column and group on that. It's function is exactly the same as the TimeSeries group function. Once we make that bit performant, we will unhide/publicize that feature.