def quantile(self, axis=<NUM_LIT:0>, consolidate=True, transposed=False,<EOL>interpolation='<STR_LIT>', qs=None, numeric_only=None):
<EOL>assert self.ndim >= <NUM_LIT:2><EOL>if consolidate:<EOL><INDENT>self._consolidate_inplace()<EOL><DEDENT>def get_axe(block, qs, axes):<EOL><INDENT>from pandas import Float64Index<EOL>if is_list_like(qs):<EOL><INDENT>ax = Float64Index(qs)<EOL><DEDENT>elif block.ndim == <NUM_LIT:1>:<EOL><INDENT>ax = Float64Index([qs])<EOL><DEDENT>else:<EOL><INDENT>ax = axes[<NUM_LIT:0>]<EOL><DEDENT>return ax<EOL><DEDENT>axes, blocks = [], []<EOL>for b in self.blocks:<EOL><INDENT>block = b.quantile(axis=axis, qs=qs, interpolation=interpolation)<EOL>axe = get_axe(b, qs, axes=self.axes)<EOL>axes.append(axe)<EOL>blocks.append(block)<EOL><DEDENT>ndim = {b.ndim for b in blocks}<EOL>assert <NUM_LIT:0> not in ndim, ndim<EOL>if <NUM_LIT:2> in ndim:<EOL><INDENT>new_axes = list(self.axes)<EOL>if len(blocks) > <NUM_LIT:1>:<EOL><INDENT>new_axes[<NUM_LIT:1>] = axes[<NUM_LIT:0>]<EOL>for b, sb in zip(blocks, self.blocks):<EOL><INDENT>b.mgr_locs = sb.mgr_locs<EOL><DEDENT><DEDENT>else:<EOL><INDENT>new_axes[axis] = Index(np.concatenate(<EOL>[ax.values for ax in axes]))<EOL><DEDENT>if transposed:<EOL><INDENT>new_axes = new_axes[::-<NUM_LIT:1>]<EOL>blocks = [b.make_block(b.values.T,<EOL>placement=np.arange(b.shape[<NUM_LIT:1>])<EOL>) for b in blocks]<EOL><DEDENT>return self.__class__(blocks, new_axes)<EOL><DEDENT>values = _concat._concat_compat([b.values for b in blocks])<EOL>if len(self.blocks) > <NUM_LIT:1>:<EOL><INDENT>indexer = np.empty(len(self.axes[<NUM_LIT:0>]), dtype=np.intp)<EOL>i = <NUM_LIT:0><EOL>for b in self.blocks:<EOL><INDENT>for j in b.mgr_locs:<EOL><INDENT>indexer[j] = i<EOL>i = i + <NUM_LIT:1><EOL><DEDENT><DEDENT>values = values.take(indexer)<EOL><DEDENT>return SingleBlockManager(<EOL>[make_block(values,<EOL>ndim=<NUM_LIT:1>,<EOL>placement=np.arange(len(values)))],<EOL>axes[<NUM_LIT:0>])<EOL>
Iterate over blocks applying quantile reduction.
This routine is intended for reduction type operations and
will do inference on the generated blocks.

Parameters
----------
axis: reduction axis, default 0
consolidate: boolean, default True. Join together blocks having same
    dtype
transposed: boolean, default False
    we are holding transposed data
interpolation : type of interpolation, default 'linear'
qs : a scalar or list of the quantiles to be computed
numeric_only : ignored

Returns
-------
Block Manager (new object)