Bacs pandas

Bacs pandas
Dans ce didacticiel, vous en apprendrez sur les fonctions Cut () et Qcut (), les deux méthodes de pandas différentes pour appuyer sur vos données. Vous pouvez arborer les données dans des bacs de taille égale et sur mesure. Tout en mettant les données dans des bacs personnalisés peut vous aider à comprendre les classifications de catégorisation logique, les bacs de taille égale facilitent la compréhension de la distribution. Le binning des données peut être effectué à l'aide des fonctions Cut () et Qcut ().

Fonction Cut ()

Lorsqu'il doit trier et segmenter les valeurs de données en bacs, vous utilisez la méthode Cut (). La méthode Cut () ne fonctionne qu'avec les objets comme les tableaux unidimensionnels. La méthode Cut () effectue une analyse statistique sur un large ensemble de données scalaires / numériques. Cette fonction peut également convertir les éléments d'un tableau en différents bacs.

Syntaxe:

pandas.Couper (données, bacs, droite, étiquettes, retbins)

Paramètres:

  1. X: Réseau unidimensionnel; le tableau que nous voulons bin.
  2. bacs: Les bords de bacs sont définis pour la segmentation.
  3. droite: Ceci est défini sur true par défaut. Il indique si le bord le plus à droite des bacs est inclus ou non
  4. Étiquettes: Peut être un bool ou un tableau, et il est facultatif. Les étiquettes pour les bacs remplis sont spécifiés. La longueur doit correspondre aux bacs produits. S'il est faux, seuls les indicateurs de bacs entiers sont retournés.
  5. retBins: Bool, faux par défaut. Que les bacs soient retournés ou non. Lorsque les bacs sont fournis comme scalaires, il est utile.

Exemple 1: avec paramètre des bacs
Ayons un dataframe qui contient 12 entiers dans la colonne «VALEUR1». Créez 8 bacs dans la gamme de 15 chacun et stockez les bacs dans la colonne «Bacs».

importer des pandas
numérique = pandas.DataFrame ('Values1': [12,34,56,44,45,34,45,32,67,89,100,34])
Imprimer (numérique)
# Créer 8 bacs
numérique ['bacs'] = pandas.Cut (numérique ['valeurs1'], bacs = [1,15,30,45,60,75,90,105])
imprimer()
Imprimer (numérique)
imprimer()
Print (numérique [«bacs»].unique())

Sortir:

Explication:
Les bacs sont créés pour toutes les valeurs. Nous affichons également les tailles de bacs en utilisant la fonction unique (). Maintenant, vous pouvez voir qu'un bac est alloué pour chaque valeur.

Exemple 2: avec paramètre d'étiquettes
Créez 5 bacs dans la gamme de 10 chacun et stockez les bacs dans la colonne «Bacs» pour le dataframe ayant 7 lignes.

importer des pandas
numérique = pandas.DataFrame ('valeurs1': [2,5,12,32,20,3,10])
# Créez 5 bacs et spécifiez des étiquettes pour chaque bac.
numérique ['bacs'] = pandas.Cut (numérique ['valeurs1'], bacs = [1,10,20,30,40], labels = [«premier», «deuxième», «troisième», «dernier»])
imprimer()
Imprimer (numérique)

Sortir:

Explication:
Les bacs sont créés pour toutes les valeurs.

  1. Pour le bac [1-10], l'étiquette est «d'abord». Les valeurs 2, 5, 3 et 10 tombent sous le premier bac.
  2. Pour le bac [11-20], l'étiquette est «deuxième». Les valeurs 12 et 20 tombent sous le deuxième bac.
  3. Pour le bac [21-30], l'étiquette est «troisième». Aucune valeur n'est dans cette plage.
  4. Pour le bac [31-40], l'étiquette est «dernier». La valeur 32 tombe sous ce bac.

Fonction Qcut ()

La fonction Qcut () est connue comme une méthode de «discrétisation en quantile». Cela signifie que qcut () est utilisé pour créer les bacs de taille égale en divisant les données sous-jacentes. La fonction qcut () est également connue sous le nom de «fonction de discrétisation en quantile». Cela signifie que le qcut () est utilisé pour diviser les données sous-jacentes en bacs de tailles égales.

Syntaxe:

pandas.Couper (données, Q, à droite, étiquettes, retbins)

Paramètres:

  1. X: Tableau unidimensionnel, le tableau que nous voulons bin.
  2. q: Nombre de quantiles.
  3. droite: Ceci est défini sur true par défaut. Il indique si le bord le plus à droite des bacs est inclus ou non.
  4. Étiquettes: Peut être un bool ou un tableau, et il est facultatif. Les étiquettes pour les bacs remplis sont spécifiés. La longueur doit correspondre aux bacs produits. S'il est faux, seuls les indicateurs de bacs entiers sont retournés.
  5. retBins: Bool, faux par défaut. Que les bacs soient retournés ou non. Lorsque les bacs sont fournis comme scalaires, il est utile.

Exemple 1:
Ayons un dataframe qui contient 12 entiers dans les colonnes «Values1» et «Values2». Créer 2 quantiles pour les deux colonnes.

importer des pandas
numérique = pandas.DataFrame ('Values1': [12,34,56,44,45,34,45,32,67,89,100,34],
'Values2': [11,22,33,44,55,66,77,88,99,100,12,12])
Imprimer (numérique)
# Créer 2 quantiles pour les valeurs1 colonne
numérique ['bin valeurs 1'] = pandas.qcut (numérique ['valeurs1'], 2)
# Créer 2 bacs pour les valeurs1 colonne
numérique ['bin valeurs 2'] = pandas.qcut (numérique ['valeurs2'], 2)
imprimer()
Imprimer (numérique)

Sortir:

Explication:
Nous avons créé 2 quantiles pour chaque colonne. Maintenant, vous pouvez voir que chaque quantile a un nombre égal de valeurs.

  1. Dans la colonne «Values1», les quantiles sont (11.999, 44.5] et (44.5, 100.0]. Il y en a 6 pour les deux quantiles.
  2. Dans la colonne «VALEUR2», les quantiles sont (10.999, 49.5] et (49.5, 100.0]. Il y en a 6 pour les deux quantiles.

Exemple 2: Qcut () vs Cut ()
Ayons un dataframe qui contient 12 entiers dans les colonnes «Values1» et «Values2». Maintenant, en utilisant Cut (), créez deux bacs. Et en utilisant qcut (), créez 2 quantiles pour la colonne "Values2".

importer des pandas
numérique = pandas.DataFrame ('Values1': [12,34,56,44,45,34,45,32,67,89,100,34],
'Values2': [11,22,33,44,55,66,77,88,99,100,12,12])
# Créer 2 quantiles pour les valeurs2 colonne
numérique ['qcut ()'] = pandas.qcut (numérique ['valeurs2'], q = 2)
# Créer 2 bacs pour les valeurs2 colonne
numérique ['Cut ()'] = pandas.Cut (numérique ['valeurs2'], bacs = 2)
imprimer (numérique ['qcut ()'])
imprimer()
Imprimer (numérique ['Cut ()'])

Sortir:

Explication:
Maintenant, vous voyez la différence réelle:

Le Qcut () regroupe les données en parties égales. Six (6) valeurs sont sous (10.999, 49.5] et 6 sous (49.5, 100.0]. Alors que dans Cut (), 7 valeurs sont sous (10.911, 55.5] et 5 autres valeurs sont sous (10.911, 55.5].

Conclusion

Nous avons discuté des fonctions Cut () et Qcut () pour arranger les données de Pandas Python. Nous avons vu la syntaxe des deux fonctions et décrit leurs paramètres pour vous aider tout en utilisant ces fonctions. Dans les exemples de ce tutoriel, nous vous avons montré comment segmenter les données dans des bacs, étiqueter les bacs et comment utiliser les données de binning de taille égale à l'aide de Cut () et Qcut (). Maintenant, vous pourrez peut-être apporter les données par vous-même en utilisant ces fonctions.