Pandas Stack

Pandas Stack

Der Pandas -Stack wird zum Stapeln der Daten aus der Abfolge der Spalten auf die Index -Art verwendet. Es gibt mehrere Indexebenen zurück, die in einem neuen Datenrahmen angezeigt werden. Wir werden implementieren, wie wir die Funktion pandas stack () verwenden können.

Syntax

Pandas.DataFrame_Object.Stack (Level = -1, Dropna = True)

Parameter

  1. Eben - Es benötigt einen Ganzzahlparameter, der die Stapelebene angibt.
    1. Wir können Levels wie Level - 0,1 usw. festlegen.
  2. Dropna - Dieser andere Parameter, "Dropna".

Szenario 1: Spalte Einstufe

Erstellen Sie einen Datenrahmen mit 3 Spalten und 5 Zeilen. Hier sind die Spaltennamen - ["Prüfungstyp", "Marks", "Ergebnis"].

Jetzt werden wir den Datenrahmen stapeln:

Pandas importieren
Ergebnisse = Pandas.DataFrame (["Internal", 98, "Pass"],
["Internal", 45, "Fail"],
["Extern", 89, "Pass"],
["Extern", 67, "Pass"],
["Extern", 18, "scheitern"]]],
Spalten = ["Prüfungstyp", "Marks", "Ergebnis"],
Index = ['Ram', 'Sravan', 'Govind', 'Anup', 'Jab']
)
Druck (Ergebnisse, "\ n")
# Anwenden Stack () auf einstufige Spalte anwenden
Druck (Ergebnisse.Stapel())

Ausgang

Prüfungstyp Marken Ergebnis
RAM INTERER 98 Pass
Sravan intern 45 scheitern
Govind External 89 Pass
ANUP External 67 Pass
Jab external 18 scheitern
RAM -Prüfungstyp intern
Markierungen 98
Ergebnispass
Sravan Prüfungstyp intern
Markierungen 45
Ergebnis scheitern
Govind -Prüfungstyp extern
Markierungen 89
Ergebnispass
ANUP -Prüfungstyp external
Markierungen 67
Ergebnispass
JAB -Prüfungstyp external
Markierungen 18
Ergebnis scheitern
DTYPE: Objekt

Erläuterung

Jetzt wird der gestapelte Datenrahmen angezeigt. Lassen Sie uns dies ausführlich für eine Zeile besprechen.

RAM - Prüfungstyp ist "intern", RAM - Marks ist 98 und RAM - Ergebnis ist "fehl". In ähnlicher Weise können Sie bei allen verbleibenden Zeilen sehen, dass die Werte gestapelt sind.

Szenario 2: Multi -Level -Spalte mit Level - 0

Eine der folgenden Möglichkeiten in Python, einen MultiIndex zu erstellen, ist die Verwendung des MultiIndex.Von_tUples () Methode. In der Liste der Tupel werden Spaltennamen als Parameter aufgenommen. Schließlich übergeben wir dies an den Parameter „Spalten“ im Pandas -Datenframe.

Syntax

MultiIndex.from_tUples ([('Spalten,…),…]

Beispiel 1

Erstellen Sie einen Datenrahmen mit Zeilen mit MultiIndex. Stapeln Sie den Datenrahmen mit Level-0.

Pandas importieren
Ergebnisse = Pandas.DataFrame (["Internal", 98, "Pass"],
["Internal", 45, "Fail"],
["Extern", 89, "Pass"],
["Extern", 89, "Pass"],
["Extern", 45, "fail"]]],
Index = ['Ram', 'Sravan', 'Govind', 'Anup', 'Jab'],
Spalten = Pandas.MultiIndex.Von_tUples ([('Prüfungen', 'Prüfungstyp'), ('Marks gesichert', 'Total'), ('Status', 'Ergebnis')]
))
Druck (Ergebnisse, "\ n")
# Anwenden Stack () mit Level-0 in der Multi-Level-Spalte
Druck (Ergebnisse.Stack (Level = 0))

Ausgang

Prüfungszeichen gesicherter Status
Prüfungstyp Gesamtergebnis
RAM INTERER 98 Pass
Sravan intern 45 scheitern
Govind External 89 Pass
Anup external 89 Pass
Jab external 45 scheitern
Prüfungstyp Ergebnis Gesamt
RAM -Prüfungen interne Nan Nan
Markierungen gesichert Nan Nan 98.0
Status nan pass nan
Sravan Prüfungen interne Nan Nan
Markierungen gesichert Nan Nan 45.0
Status nan scheitern nan
Govind Prüfungen externer Nan Nan
Markierungen gesichert Nan Nan 89.0
Status nan pass nan
ANUP -Prüfungen externer Nan Nan
Markierungen gesichert Nan Nan 89.0
Status nan pass nan
JAB -Prüfungen externer Nan Nan
Markierungen gesichert Nan Nan 45.0
Status nan scheitern nan

Erläuterung

Sie können die Multi -Indizes sehen. Für die Reihe:

  1. RAM - für Index -Prüfungen und "Prüfungstyp" - der Wert ist .Intern.
  2. RAM - Für Index -Prüfungen und 'Ergebnis' - Der Wert ist NAN (nicht eine Zahl).
  3. RAM - für Index -Prüfungen und 'Total' - der Wert ist NAN.
  4. RAM - für Index -Markierungen gesichert "und" Prüfungstyp " - der Wert ist nan.
  5. RAM - für Index -Markierungen gesichert und 'Ergebnis' - der Wert ist nan.
  6. RAM - für Index -Markierungen gesichert und 'Total' - der Wert beträgt 98.0.
  7. RAM - für den Indexstatus "und" Prüfungstyp " - der Wert ist nan.
  8. RAM - für den Indexstatus und 'Ergebnis' - Der Wert ist "passieren".
  9. RAM - für den Indexstatus 'und' Total ' - der Wert ist NAN

In ähnlicher Weise ereignete sich für alle Zeilen Stapelung im vorherigen Format. Für verpasste Werte wird NAN ersetzt.

Beispiel 2

Erstellen Sie einen Datenrahmen mit Zeilen mit MultiIndex. Stapeln Sie den Datenrahmen mit Level 2.

Pandas importieren
Ergebnisse = Pandas.DataFrame (["Internal", 98, "Pass"],
["Internal", 45, "Fail"],
["Extern", 89, "Pass"],
["Extern", 67, "Pass"],
["Extern", 18, "scheitern"]]],
Index = ['Ram', 'Sravan', 'Govind', 'Anup', 'Jab'],
Spalten = Pandas.MultiIndex.Von_tUples ([('Prüfungen', 'Prüfungstyp'), ('Marks gesichert', 'Total'), ('Status', 'Ergebnis')]
))
# Anwenden Stack () mit Level-1 in der Spalte mit mehrstufiger Ebene anwenden
Druck (Ergebnisse.Stack (Level = 1))

Ausgang

Prüfungszeichen gesicherter Status
RAM -Prüfungstyp Interner Nan Nan
Ergebnis Nan Nan Pass
Total Nan 98.0 nan
Sravan -Prüfungstyp Interner Nan Nan
Ergebnis Nan Nan scheitern
Total Nan 45.0 nan
Govind Prüfungstyp externer Nan Nan
Ergebnis Nan Nan Pass
Gesamtnan 89.0 nan
ANUP -Prüfungstyp External Nan Nan
Ergebnis Nan Nan Pass
Gesamt NAN 67.0 nan
JAB -Prüfungstyp External Nan Nan
Ergebnis Nan Nan scheitern
Total Nan 18.0 nan

Abschluss

Pandas „Stack“ ist eine extravagante Technik zum Stapeln der Levelspalten in Zeilen (Index). In den Bereichen, in denen Arbeiter anstelle der Spalten an den Zeilen arbeiten müssen oder die Daten möglicherweise in der Zeile haben möchten, haben sie es jedoch in Spalten getan, diese Methode ist für sie vorhanden. Es speichert ihre kostbare Zeit, indem sie einfach die Methode von Pandas Stack verwendet. Wir haben verschiedene Möglichkeiten gemacht, wie der Pandas Stack gemäß der Situation arbeitet. Jede Situation hat die Art und Weise, das Problem zu lösen, um die gewünschten Ergebnisse im DataFrame zu liefern.