I have confused myself a little, but I think this is right .....

`not np.any(np.isfinite(column_slice)` will allow me to eliminate all `column_slice`'s that contain finite values and then `not np.any(np.isinf(column_slice)` will eliminate all those that contain `inf` and `-inf` values. This will then leave `column_slice`'s that contain nan and masked values, as those that contain all nans and all masked values have already been dealt with.