web-dev-qa-db-fra.com

Seaborn Pairplot ValueError: le paramètre max doit être supérieur à min

Je reçois cette erreur en traçant la représentation par paires en utilisant la bibliothèque Seaborn en Python. En référence aux questions précédentes posées sur le même sujet, j'ai nettoyé mes données et vérifié si j'avais une valeur nulle,

train_data.isnull().values.any()
Out[91]: False

import seaborn as sns
sns.pairplot(train_data)

Je reçois toujours cette erreur de valeur pour un complot né de la mer. En dehors du nettoyage des données, je ne suis pas sûr de ce que nous pouvons faire pour éviter cette erreur. Ajoutant plus d’informations sur les données, j’ai un total de 81 colonnes et environ un demi-million de lignes. J'ai laissé tomber une ligne contenant toutes les valeurs nulles et les données restantes ne sont pas nulles. Maintenant, la question est de savoir comment procéder avec cette erreur. Aucune suggestion?

7
yan

J'ai reçu la même erreur. Je vous suggérerais de travailler sur plusieurs choses. Tout d’abord, vérifiez si vous avez le type de données string et convertissez-le en float ou n’ajoutez pas pour pairplot, coupez votre jeu de données en tranches et travaillez-y. Je veux dire en fait, dimensional reduction. 81 colonnes peuvent ne pas être le meilleur choix pour expérimenter. Comme vous l'avez dit, vous avez un demi-million de lignes et 81 colonnes. Commencez par essayer un ensemble de données plus petit, puis optez pour un plus grand. Le complot Seaborn n'arrive parfois pas à prendre en charge autant de lignes et de colonnes sur les systèmes locaux. Si vous essayez un cluster avec une RAM plus importante, cela fonctionnera peut-être bien, mais cette erreur n’est pas nouvelle. Essayez de travailler sur

exp = test_data[0:10][:1000]
sns.pairplot(exp)

Avant d'appliquer ceci, commencez par supprimer toutes les colonnes de chaîne et expérimentez uniquement les colonnes float, int. J'espère que ça aide. 

5
Harry_pb

Votre dataframe peut avoir des valeurs NaN. Supprimez ces lignes ou remplacez NaN par 0 et cela devrait fonctionner.

7

Vous devez supprimer toutes les valeurs NaN dans oririn DataFrame. Utilisez la méthode df.dropna ()

2
Taras P.

Face au même problème, df.fillna () ne remplace pas les valeurs par NaN dans notre base de données. Veuillez utiliser df.replace (np.nan, your_value) .

0
brainhack