Pile de pandas

Pile de pandas

La pile Pandas est utilisée pour empiler les données de la séquence des colonnes à la manière index. Il renvoie plusieurs niveaux d'index affichage dans un nouveau dataframe. Nous implémenterons comment nous pouvons utiliser la fonction Pandas Stack ().

Syntaxe

pandas.Dataframe_object.pile (niveau = -1, dropna = true)

Paramètres

  1. Niveau - Il prend un paramètre entier qui spécifiera le niveau d'empilement.
    1. Nous pouvons définir des niveaux comme le niveau - 0,1, etc.
  2. Dropna - Cet autre paramètre, «Dropna», est utilisé pour déposer des lignes dans le Frame de données empilé ayant des valeurs NAN.

Scénario 1: colonne à un niveau

Créer un DataFrame avec 3 colonnes et 5 lignes. Ici, les noms de colonne sont - [«Type d'examen», «marques», «résultat»].

Maintenant, nous allons empiler le dataframe:

importer des pandas
résultats = pandas.DataFrame ([["interne", 98, "pass"],
["Interne", 45, "échec"],
["Externe", 89, "pass"],
["Externe", 67, "pass"],
["Externe", 18, "échec"]],
colonnes = ["Type d'examen", "marques", "résultat"],
index = ['Ram', 'Sravan', 'Govind', 'Anup', 'Jab']
)
imprimer (résultats, "\ n")
# Appliquer Stack () sur la colonne à un niveau
imprimer (résultats.empiler())

Sortir

Résultat des marques de type d'examen
RAM Internal 98 Pass
Sravan interne 45 échec
GOVIND EXTERNAL 89 Pass
ANUP External 67 Pass
JAB EXTERNAL 18 Échec
Type d'examen RAM interne
Marques 98
Passage
Type d'examen sravan interne
Marques 45
Échouer
Type d'examen Govind externe
Marques 89
Passage
Type d'examen ANUP externe
Marques 67
Passage
Type d'examen jab externe
Marques 18
Échouer
dtype: objet

Explication

Maintenant, le dataframe empilé s'affiche. Discutons de cela en détail pour une ligne.

RAM - Le type d'examen est «interne», RAM - les marques sont 98 et RAM - le résultat est «échoué». De même, pour toutes les lignes restantes, vous pouvez voir que les valeurs sont empilées.

Scénario 2: colonne à plusieurs niveaux avec niveau - 0

L'une des façons suivantes de Python pour créer un multiindex est d'utiliser le multiindex.From_tuples () Méthode. Il prendra les noms de colonne dans la liste des tuples comme paramètre. Enfin, nous passerons cela au paramètre «Colonnes» dans le Pandas DataFrame.

Syntaxe

Multiindex.From_tuples ([('Colonnes,…),…]

Exemple 1

Créez un dataframe avec des lignes qui ont un multiindex. Empiler le dataframe avec le niveau 0.

importer des pandas
résultats = pandas.DataFrame ([["interne", 98, "pass"],
["Interne", 45, "échec"],
["Externe", 89, "pass"],
["Externe", 89, "pass"],
["Externe", 45, "échec"]],
index = ['Ram', 'Sravan', 'Govind', 'Anup', 'Jab'],
colonnes = pandas.Multiindex.From_tuples ([(«examens», «type d'examen»), («marques sécurisées», «total»), («statut», «résultat»)]]
))
imprimer (résultats, "\ n")
# Appliquer Stack () avec le niveau 0 sur une colonne multi-niveaux
imprimer (résultats.pile (niveau = 0))

Sortir

Examens Marks Statut sécurisé
Type d'examen Résultat total
RAM Internal 98 Pass
Sravan interne 45 échec
GOVIND EXTERNAL 89 Pass
ANUP EXTERNAL 89 Pass
Jab externe 45 échec
Total du type d'examen Total
Examens de RAM
Marques garanties Nan Nan 98.0
Statut nan pass nan
Examens Sravan Nan interne nan
Marques garanties Nan Nan 45.0
Statut nan fail nan
Govind examine nan nan externe
Marques garanties Nan Nan 89.0
Statut nan pass nan
ANUP examens externes nan nan
Marques garanties Nan Nan 89.0
Statut nan pass nan
Examens de jab externe nan nan
Marques garanties Nan Nan 45.0
Statut nan fail nan

Explication

Vous pouvez voir les multiples indices. Pour la ligne:

  1. RAM - Pour les «examens» et le «type d'examen», la valeur est .Interne.
  2. RAM - Pour l'index «examens» et «résultat» - la valeur est nan (pas un nombre).
  3. RAM - Pour l'index «examens» et «total» - la valeur est nan.
  4. RAM - Pour l'index «marques sécurisées» et «type d'examen» - la valeur est nan.
  5. RAM - Pour l'index «marques sécurisées» et «résultat» - la valeur est nan.
  6. RAM - Pour l'index «marques sécurisées» et «total» - la valeur est 98.0.
  7. RAM - Pour l'index «statut» et «type d'examen» - la valeur est nan.
  8. RAM - Pour l'index «statut» et «résultat» - la valeur est «passer».
  9. RAM - Pour l'index «statut» et «total» - la valeur est nan

De même, pour toutes les lignes, l'empilement s'est produit dans le format précédent. Pour les valeurs manquées, Nan est remplacé.

Exemple 2

Créez un dataframe avec des lignes qui ont un multiindex. Empiler le dataframe avec le niveau 2.

importer des pandas
résultats = pandas.DataFrame ([["interne", 98, "pass"],
["Interne", 45, "échec"],
["Externe", 89, "pass"],
["Externe", 67, "pass"],
["Externe", 18, "échec"]],
index = ['Ram', 'Sravan', 'Govind', 'Anup', 'Jab'],
colonnes = pandas.Multiindex.From_tuples ([(«examens», «type d'examen»), («marques sécurisées», «total»), («statut», «résultat»)]]
))
# Appliquer Stack () avec le niveau 1 sur une colonne multi-niveaux
imprimer (résultats.pile (niveau = 1))

Sortir

Examens Marks Statut sécurisé
Type d'examen RAM NAN NAN
Résultat nan nan pass
Total Nan 98.0 Nan
Type d'examen sravan nan nan
Résultat nan nan échoue
Total Nan 45.0 Nan
GOVIND Examen Type externe Nan Nan
Résultat nan nan pass
Total Nan 89.0 Nan
Type d'examen ANUP nan externe nan
Résultat nan nan pass
Total Nan 67.0 Nan
Type d'examen JAB NAN NAN
Résultat nan nan échoue
Total Nan 18.0 Nan

Conclusion

Pandas «Stack» est une technique extravagante pour empiler les colonnes de niveau en lignes (index). Dans les domaines où les travailleurs doivent travailler sur les lignes au lieu des colonnes ou peuvent vouloir avoir les données de la manière, mais elles l'ont fait dans des colonnes, cette méthode est pour eux. Cela économisera leur temps précieux en utilisant simplement la méthode de Pandas Stack. Nous avons fait diverses façons dont la pile Pandas fonctionne selon la situation. Chaque situation a sa façon de résoudre le problème pour donner les résultats souhaités dans le dataframe.