def drop(self, labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise'):
    inplace = validate_bool_kwarg(inplace, 'inplace')
    if (labels is not None):
        if ((index is not None) or (columns is not None)):
            raise ValueError("Cannot specify both 'labels' and 'index'/'columns'")
        axis_name = self._get_axis_name(axis)
        axes = {axis_name: labels}
    elif ((index is not None) or (columns is not None)):
        (axes, _) = self._construct_axes_from_arguments((index, columns), {})
    else:
        raise ValueError("Need to specify at least one of 'labels', 'index' or 'columns'")
    obj = self
    for (axis, labels) in axes.items():
        if (labels is not None):
            obj = obj._drop_axis(labels, axis, level=level, errors=errors)
    if inplace:
        self._update_inplace(obj)
    else:
        return obj
def drop(self, labels=None, axis=0, index=None, columns=None, level=None, inplace=False, errors='raise'):
    inplace = validate_bool_kwarg(inplace, 'inplace')
    if (labels is not None):
        if ((index is not None) or (columns is not None)):
            raise ValueError("Cannot specify both 'labels' and 'index'/'columns'")
        axis_name = self._get_axis_name(axis)
        axes = {axis_name: labels}
    elif ((index is not None) or (columns is not None)):
        (axes, _) = self._construct_axes_from_arguments((index, columns), {})
    else:
        raise ValueError("Need to specify at least one of 'labels', 'index' or 'columns'")
    obj = self
    for (axis, labels) in axes.items():
        if (labels is not None):
            obj = obj._drop_axis(labels, axis, level=level, errors=errors)
    if inplace:
        self._update_inplace(obj)
    else:
        return obj