Pandas compare deux lignes de données de données par ligne

Pandas compare deux lignes de données de données par ligne
Une dataframe est une structure bidimensionnelle en lignes et colonnes dans lesquelles les données sont conservées dans un format tabulaire. Il est flexible en termes de longueur et de données tabulaires diverses. Les calculs arithmétiques peuvent être effectués sur la ligne ainsi que sur les étiquettes des colonnes. Lorsque vous traitez avec Pandas DataFrames, vous devrez peut-être déterminer si deux dataframes sont équivalents ou non.

Pand comme méthode compare

Dans Pandas, la méthode de comparaison affiche les variances entre deux dataframes. Cette méthode compare deux cadres de données, Row-by-Row et colonne par colonne. Il affiche ensuite les différences les unes à côté des autres. La fonction de comparaison ne peut comparer que les dataes de données d'une structure similaire, avec les mêmes noms de lignes et de colonnes et de tailles égales.

Il suit la syntaxe suivante:

Discutons brièvement des paramètres.

Le "DF_2" Est-ce que tout dataframe pour la comparaison. Le "Align_axis" Spécifie les axes de comparaison, avec 0 pour les lignes et 1 pour les colonnes comme valeur par défaut. Le "Keep_shape" Le paramètre est une valeur booléenne. Mettre ceci à «vrai» interdit à toute ligne ou colonne d'être éliminée. Pour la valeur par défaut «FALSE», il compare les colonnes et les lignes de chutes ayant tous les attributs qui sont les mêmes pour les deux cadres de données. Un autre argument booléen est "Keep_equal". Les deux dataframes affichent des valeurs égales. Lorsque cela est défini sur «True», il affiche les positions des deux cadres de données avec les valeurs identiques comme NAN pour le paramètre par défaut «FALSE».

Exemple: utilisation de la méthode de comparaison des pandas

Nous avons utilisé l'outil «Spyder» ici. Ouvrez un nouveau fichier Python dans l'outil "Spyder". Nous devons «importer des pandas en tant que PD» pour accéder aux fonctionnalités Pandas. Il est extrêmement important de noter que les éditions Pandas doivent être 1.1.0 ou plus. Nous avons ensuite créé notre premier DataFrame en utilisant la méthode Pandas «PD.DataFrame () ”et stocké ce DataFrame dans une variable" First_Table ".

Nous avons initialisé cette dataframe avec trois colonnes «produit», «prix» et «quantité». Chaque colonne stocke la même longueur de valeurs qui est de cinq. Le premier «produit» de la colonne du «First_Table» DataFrame est de stocker cinq valeurs de chaîne qui sont «acryliques», «toile», «crayons», «cahiers» et «pinceaux». Notre deuxième colonne «Price» est de stocker 5 valeurs int qui sont «260», «100», «25», «350» et «200». La dernière colonne ici est la «quantité» et stockage également des valeurs int «1», «2», «5», «3» et «6». Dans la dernière ligne du script, nous avons utilisé la fonction «print ()» pour afficher notre premier DataFrame.

Lorsque vous appuyez sur le bouton «Exécuter Fichier» ou utilisez l'outil «Spyder» les touches «Maj + Entrée» sur le clavier Le remplissage du fichier Python exécute. La sortie affichée sur le terminal montre un dataframe avec 3 colonnes qui est créée avec succès.

Il doit y avoir deux données de données pour les comparer. Nous avons déjà créé notre premier DataFrame «First_Table». Maintenant, nous devons générer le deuxième DataFrame. Avant de construire le deuxième Dataframe, nous devons garder à l'esprit de certaines restrictions que nous avons mentionnées dans l'introduction. Les deux dataframes doivent avoir les mêmes noms de colonne, formes exactes et longueur égale. Ce n'est qu'alors que nous pouvons appliquer la méthode de comparaison.

Pour générer le deuxième DataFrame, nous avons copié la première structure de données «First_Table» avec quelques modifications. Nous avons créé un DataFrame «Second_Table» et l'avons attribué la sortie de l'appel «DataFrame.Copy () ”Méthode. Le ".Copy () ”Fonction copiera la structure de la table du DataFrame« First_Table ». Nous voulons copier la forme mais devons modifier certaines valeurs dans le nouveau DataFrame, nous utiliserons donc le «.propriété loc ”ici. Cette propriété spécifie l'emplacement où vous souhaitez ajouter de la valeur. Il fonctionne par le nouveau nom de DataFrame «Second_Table» avec «.loc [0, 'Price'] = 300 ". Ainsi, à l'indice «0» de la colonne «Prix» dans la dataframe «Second_Table», il placera la valeur «300».

À l'emplacement de l'index «1» de la colonne «Prix», la valeur est placée «120». L'index «2» de la colonne «Prix» stocke la valeur «20». Et les deux valeurs restantes seraient copiées comme la colonne «First_Table» «Prix» de la colonne ». De même, à l'index LOC «0» de la colonne «Quantité», la valeur est modifiée à «2». La «1» LOC de la colonne «Quantité» a une valeur «3». LOC «2» de la colonne «Quantité» a défini la valeur «6». Le reste des valeurs sera copié à partir de la «quantité» de la colonne «First_Table» car elle est. Nous avons ensuite utilisé la fonction «print ()» pour montrer la deuxième données de données sur le terminal.

Lorsque la sortie est affichée, vous pouvez observer que le «Second_Table» a toutes les mêmes colonnes que «First_Table». Les valeurs modifiées des colonnes «prix» et «quantité» sont implémentées avec succès dans les emplacements fournis.

Ici, la tâche principale commence. Nous devons maintenant comparer les deux dataframes. Pour cela, nous utiliserons Pandas «DataFrame.Méthode compare () ».

Nous avons invoqué le «DataFrame.Méthode compare () ». Il suit la syntaxe comme le nom du premier DataFrame «First_Table» avec le «.comparer () »et entre les parenthèses du«.Méthode compare () ». Fournir le nom du deuxième DataFrame "Second_Table". Nous avons créé une «comparaison» variable pour stocker le Frame de données résultant généré à partir de la comparaison «First_Table» et «Second_Table». Enfin, la méthode «print ()» est invoquée avec la variable «Comparaison» comme paramètre pour afficher le dataframe résultant.

Voici la sortie DataFrame avec la comparaison des deux valeurs distinctes des DataFrames. Par défaut, il laisse tomber les mêmes valeurs. La comparaison est effectuée en termes de colonne par ses paramètres par défaut.

Maintenant, si nous voulons dessiner une comparaison en ligne, nous devons modifier la valeur du paramètre «axe d'alignement». Sa valeur par défaut est «1» qui tirera une comparaison en ce qui concerne la colonne. Nous avons défini le «align_axis = 0», donc les lignes de table sont tirées séquentiellement de soi et des autres. Nous avons ensuite appelé la fonction «print ()» pour afficher le résultat.

L'image de sortie ci-dessous montre un dataframe dessiné avec une comparaison au niveau des lignes.

Utilisez le ".Compare () »Méthode Arguments« Garder la forme »pour afficher toutes les entrées du tableau« Comparaison ». Par défaut, «keep_shape» est défini sur «false». Si «vrai», toutes les lignes et colonnes sont incluses dans le tableau; Sinon, seuls ceux qui ont des valeurs différentes sont conservés.

Vous pouvez voir que la sortie affiche toutes les colonnes et les lignes, mais les mêmes valeurs sont affichées que «nan» ici et des valeurs distinctes sont conservées comme elles sont.

Maintenant, si vous souhaitez afficher toutes les valeurs sans être imprimées comme «NANS», vous devez utiliser le paramètre «keep_shape = true» avec le paramètre «keep_equal = true». Si «keep_equal» est défini sur «true», la sortie comprend également des valeurs égales. Les valeurs égales sont autrement affichées sous forme de «NANS». Le paramètre par défaut de ce paramètre est «faux."

La sortie affichée sur le terminal montre une dataframe avec une comparaison dessinée par ligne de toutes les valeurs de deux dataframes en gardant les valeurs égales et distinctes.

Conclusion

Dans ce guide, nous avons discuté de la technique de comparaison des pandas pour comparer deux dataframes. Nous avons expliqué la syntaxe de pandas ".Compare () ”Fonction et ses paramètres. En utilisant l'outil «Spyder» que nous avons implémenté et élaboré les exemples de codes de Python.