def abs(psser: 'Series') -> Union[('Series', Column)]:
    if isinstance(psser.spark.data_type, BooleanType):
        return psser
    elif isinstance(psser.spark.data_type, NumericType):
        return psser._with_new_scol(F.abs(psser.spark.column), field=psser._internal.data_fields[0])
    else:
        raise TypeError('bad operand type for abs(): {} ({})'.format(spark_type_to_pandas_dtype(psser.spark.data_type), psser.spark.data_type.simpleString()))
def abs(psser: 'Series') -> Union[('Series', Column)]:
    if isinstance(psser.spark.data_type, BooleanType):
        return psser
    elif isinstance(psser.spark.data_type, NumericType):
        return psser._with_new_scol(F.abs(psser.spark.column), field=psser._internal.data_fields[0])
    else:
        raise TypeError('bad operand type for abs(): {} ({})'.format(spark_type_to_pandas_dtype(psser.spark.data_type), psser.spark.data_type.simpleString()))