I find this "row" and "column" terminology slightly confusing.  Perhaps you should say something like "first index" instead? 

Also, I think it would be better if you did the bootstrapping on the *first* index.  That way, it's compatible with record arrays, astropy tables, and essentially any array-like form.  For a 2D array you can reproduce the current behavior then by doing ``boostrap(arr.T).T``