Calculates the mean samples per class
    
    Parameters:
    -----------
    X : array-like, shape (m, n) - the samples
    y : array-like, shape (m, ) - the class labels
    
    Returns:
    --------
    mean_vectors : array-like, shape (k, )
    Those are the mean samples from each k classes.

def calculate_mean_vectors(X, y):
    """Calculates the mean samples per class
    
    Parameters:
    -----------
    X : array-like, shape (m, n) - the samples
    y : array-like, shape (m, ) - the class labels
    
    Returns:
    --------
    mean_vectors : array-like, shape (k, )
    Those are the mean samples from each k classes.
    
    """

    return [np.mean(X[y == cl, :], axis=0) for cl in np.unique(y)]