Maison >développement back-end >Tutoriel Python >5 pièges Python courants pour la préparation des données

5 pièges Python courants pour la préparation des données

Joseph Gordon-Levitt
Joseph Gordon-Levittavant
2024-10-29 09:44:15593parcourir

Python est un langage puissant pour la préparation de données, mais il en existe erreurs ou pièges courants que les gens peuvent rencontrer. Dans ce billet de blog, je vais discutez de cinq des problèmes les plus courants que les gens rencontrent lors de l'utilisation Python pour la préparation des données.

5 pièges Python courants pour la préparation des données

1. Considérer les valeurs manquantes (`NaN`) comme fausses.

Faux, Aucun et 0 (de tout type numérique) sont tous évalués à Faux.

Cet ensemble d'objets et de valeurs est connu sous le nom de « faux » et sera évaluer à faux. NaN ou les valeurs manquantes ne sont pas fausses et donc ne sera pas évalué comme faux. Cela peut provoquer beaucoup de confusion et un comportement inattendu de la part de nombreuses opérations.

2. Tenter de comparer les valeurs manquantes

Il semble assez simple que NaN == NaN renvoie vrai. Les deux valeurs se ressemblent.

Cependant, comme il est impossible de savoir si les deux valeurs manquantes sont identiques, cette opération retournera toujours false.

3. Penser que all() ne renvoie true que lorsque tous les éléments sont vrais.

La méthode all() renvoie true si tous les éléments de l'itérable sont vrais (ou si l'itérable est vide). 

N'y pensez pas comme « Renvoyer vrai si tous les éléments du itérables sont vrais », mais à la place « Renvoie vrai s'il n'y a pas de faux éléments dans l'itérable. 🎜>

4. Conversion en valeurs booléennes

Pandas suit la convention numpy consistant à générer une erreur lorsque vous essayez de convertir quelque chose en booléen. Cela se produit si ou lors de l'utilisation les opérations booléennes, et, ou, ou non.

On ne sait pas quel devrait être le résultat. Est-ce que ça devrait être vrai parce que ce n'est pas de longueur nulle ? Faux parce qu'il y a de fausses valeurs ?

Ce n'est pas clair, donc à la place, Pandas lève une ValueError

ValueError : La valeur de vérité d'une série est ambiguë. 

Utilisez a.empty, a.bool() a.item(),a.any() ou a.all().

5. Comprendre les résultats de l'opération isin().

L'opération isin() renvoie une série booléenne montrant si chaque élément de la série est exactement contenu dans le passé séquence de valeurs.

 s = pd.Series(['dog', 'cat', 'fish'])
>>> s.isin(['bird'])
0    False
1    False
2    False
dtype: bool

Notez que 'oiseau' n'existe pas dans la série.

>>> s.isin(['bird', 'cat'])
0    False
1     True
2    False
dtype: bool

Notez que 'chat' existe dans la 2ème valeur de la série.

En savoir plus sur l'utilisation de Python pour la préparation des données

Python est un langage puissant, mais la confusion peut surgir autour valeurs manquantes et booléennes. Gardez à l'esprit que les valeurs manquantes sont considérées comme fausses et ne peuvent être comparées. 

Lorsque vous utilisez la méthode all(), n'oubliez pas qu'elle renvoie vrai lorsqu'il n'y a pas de fausses valeurs dans l'itérable.  Si toutes les valeurs sont manquant, comme dans le cas d'un tableau vide, all() renvoie également vrai car les valeurs manquantes ne sont pas considérées comme fausses. 

Si vous recevez une ValueError lors de la tentative de conversion en valeurs booléennes, assurez-vous de suivre les conseils utiles et d'utiliser l'une des méthodes suggérées.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer