def subset(*args):
if args and isinstance(args[<NUM_LIT:0>], dataframe.DataFrame):<EOL><INDENT>return args[<NUM_LIT:0>].subset(*args[<NUM_LIT:1>:])<EOL><DEDENT>elif not args:<EOL><INDENT>raise ValueError("<STR_LIT>")<EOL><DEDENT>else:<EOL><INDENT>return pipeable.Pipeable(pipeable.PipingMethod.SUBSET, *args)<EOL><DEDENT>
Pipeable subsetting method.

Takes either
 - a dataframe and a tuple of arguments required for subsetting,
 - a tuple of arguments if a dataframe has already been piped into.

:Example:

subset(dataframe, "column")

:Example:

dataframe >> subset("column")

:param args: tuple of arguments
:type args: tuple
:return: returns a dataframe object
:rtype: DataFrame