def PCA_components(x):
    try:    
        x = np.array(x)
    except:
        raise ValueError('Impossible to convert x to a numpy array.')
    eigen_values, eigen_vectors = np.linalg.eig(np.cov(x.T))
    eigen_order = eigen_vectors.T[(-eigen_values).argsort()]
    return eigen_values[(-eigen_values).argsort()]