ref: https://github.com/pandas-dev/pandas/issues/14670 R does this well, and it makes a material performance impact