import re


def remove_punctuation(X):
    """ Removes all punctuation from the dataset
    
    Arguments:
        X {DataFrame} -- The dataset to be transformed
    
    Returns:
        DataFrame -- The dataset with all punctuation removed
    """
    pattern = '[^A-Za-z0-9\\s -]'
    return X.apply(lambda x: re.sub(pattern, ' ', x))