Pandas CrosStab -Funktion

Pandas CrosStab -Funktion
Die Funktion „CrosStab ()“ in Pandas erstellt eine Cross-Tabulation-Tabelle, in der die Frequenz angezeigt wird, mit der die spezifischen Datensätze erscheinen. Die Methode „CrosStab ()“ ist eine der verschiedenen Techniken in Pandas, mit der Sie Ihre Daten umstrukturieren können. In diesem Beitrag wird erläutert, wie die Funktion „CrosStab ()“ verwendet wird.

CrosStab () Syntax:

Pandas.CrosStab (Index, Spalten, Werte = Keine, Rownames = None, Colnames = None, Margen = False, Margins_Name = 'All', Dropna = True, Normalize = false)

Parameter:

  1. Hier ist der erste Parameter „Index“, das sind die Werte, die als Index des Ausgabedatens verwendet werden. Es kann ein Array, eine Serie oder mehrere Arrays oder Serien sein.
  2. Die "Spalten" sind die Spalten des generierten Datenfreams.
  3. Die „Werte“ sind die Werte, die zur Berechnung der Statistik verwendet werden, die durch "Agg _func" bereitgestellt wird.
  4. Die "Rownamen" sind die Namen, die den Zeilen im resultierenden Datenrahmen zugewiesen werden. Das "Rownames = None" ist die Standardeinstellung für dieses Argument.
  5. Die "Colnames" sind die Spaltennamen (en), die dem Ausgabedatenrahmen angegeben werden. Das "Colnames = None" ist die Standardeinstellung. Die Eingabe dieser Funktion ist "Werte" und das Rückgabeelement ist die aggregierte Statistik wie der Mittelwert, maximal usw.
  6. Die „Ränder“ bestimmen, ob eine zusätzliche Zeile und Spalte hinzugefügt werden soll. Das "margin = false" ist die Standardeinstellung.
  7. Der „Randname“ ist der Titel der neu angehängten Zeile und der Spalte, wenn die „Ränder“ auf „true“ konfiguriert sind.
  8. Die „Dropna“ bestimmt, ob die Spalten mit nur NAN -Werten entfernen sollen. Die "Dropna = false" ist die Standardkonfiguration.
  9. Die „Normalisierung“ stellt aus.

Beispiel 1:
Erstellen Sie einen Datenrahmen mit 5 Spalten und generieren Sie eine Kontingenztabelle (Registerkarte Querkreuz), indem Sie die X-Achse als Spalte „Option2“ und y-Achse als Spalte „Name“ einstellen.

Pandas importieren
# Erstellen Sie einen Datenrahmen mit 5 Spalten
mydata = pandas.DataFrame ([[1, "Sravan", "Cloud -Technologie", "Datenbanken", 89],
[2, "Sravan", "Python", "Frontend -Programmierung", 98],
[3, "Sravan", "Elective 1", "Datenbanken", 50],
[5, "Satwik", "Php", "Datenbanken", 99],
[6, "Diba", "Php", "Datenbanken", 19],
[9, "Diba", "Elective 1", "Frontend -Programmierung", 54],
],
Spalten = ["Prüfungs -ID", "Name", "Option1", "Option2", "Marks"]
)
print (mydata, "\ n")
# Verwenden wir CrosStab () -Funktion
Frequenz = Pandas.CrosStab (Mydata.Option2, mydata.Name)
Druck (Frequenz)

Ausgang:

Erläuterung:
Wir übergeben die Spalte "Option2" als X-Achse und die Spalte "Name" als y-Achse. Jetzt können Sie in der vorherigen Abbildung sehen, dass die Frequenztabelle erzeugt wird. Lassen Sie es uns analysieren.

  1. "Datenbanken" - "Diba" halten nur 1, "Satwik" ebenfalls 1 und "Sravan" 2.
  2. "Frontend -Programmierung" - "Diba" hält nur 1, "Satwik" hält 0 und "Sravan" ist auch 1.

Beispiel 2:
Verwenden Sie denselben Datenrahmen und generieren Sie eine Kontingenztabelle (Registerkarte Kreuz), indem Sie die X-Achse als Spalten „Option1“ und „Option2“ und die y-Achse als Spalte „Name“ einstellen.

Pandas importieren
# Erstellen Sie einen Datenrahmen mit 5 Spalten
mydata = pandas.DataFrame ([[1, "Sravan", "Cloud -Technologie", "Datenbanken", 89],
[2, "sravan", "elektiv 1", "Frontend -Programmierung", 98],
[3, "Sravan", "Elective 1", "Datenbanken", 50],
[5, "Satwik", "Php", "Datenbanken", 99],
[6, "Diba", "Php", "Datenbanken", 19],
[9, "Diba", "Php", "Frontend -Programmierung", 54],
],
Spalten = ["Prüfungs -ID", "Name", "Option1", "Option2", "Marks"]
)
# Verwenden wir CrosStab () -Funktion
Frequenz = Pandas.CrosStab ([Mydata.Option1, mydata.Option2], mydata.Name)
Druck (Frequenz)

Ausgang:

Erläuterung:
Wir übergeben die Spalten "Option1" und "Option2" als X-Achse über eine Liste und die Spalte "Name" als y-Achse. Jetzt können Sie in der vorherigen Abbildung sehen, dass die Frequenztabelle erzeugt wird.

Beispiel 3: Setzen Sie die Ränder
Jetzt erstellen wir eine Notfalltabelle für Spalten "Option2" und "Name", indem wir die Margen einstellen und die Margennamen als "Gesamtanzahl" angeben.

Pandas importieren
# Erstellen Sie einen Datenrahmen mit 5 Spalten
mydata = pandas.DataFrame ([[1, "Sravan", "Cloud -Technologie", "Datenbanken", 89],
[2, "sravan", "elektiv 1", "Frontend -Programmierung", 98],
[3, "Sravan", "Elective 1", "Datenbanken", 50],
[5, "Satwik", "Php", "Datenbanken", 99],
[6, "Diba", "Php", "Datenbanken", 19],
[9, "Diba", "Php", "Frontend -Programmierung", 54],
],
Spalten = ["Prüfungs -ID", "Name", "Option1", "Option2", "Marks"]
)
# Verwenden wir CrosStab () -Funktion, indem wir Margen und Margins_Name -Parameter einstellen
Frequenz = Pandas.CrosStab (Mydata.Option2, mydata.Name, margen = true, margen_name = "Total Count")
Druck (Frequenz)

Ausgang:

Erläuterung:
Wir übergeben die Margen und setzen sie an True und den Margennamen auf "Total Count". Die Ränder werden erstellt und die Gesamtwerte der Werte für die Achse wird als 6 zurückgegeben.

Über Reihen:

  1. Für „Datenbanken“ - 1+1+2 = 4
  2. Für die „Frontend -Programmierung“ - 1+0+1 = 2

Gesamtzahl ist 6.

Über Spalten hinweg:

  1. Für "diba" - 1+1 = 2
  2. Für "satwik" - 1+0 = 1
  3. Für "Sravan" - 2+1 = 3

Gesamtzahl ist 6.

Beispiel 4: Setzen Sie die Normalisierung der Werte
Jetzt erstellen wir eine Notfalltabelle für Spalten "Option2" und "Name", indem wir die Werte normalisieren.

Pandas importieren
# Erstellen Sie einen Datenrahmen mit 5 Spalten
mydata = pandas.DataFrame ([[1, "Sravan", "Cloud -Technologie", "Datenbanken", 89],
[2, "sravan", "elektiv 1", "Frontend -Programmierung", 98],
[3, "Sravan", "Elective 1", "Datenbanken", 50],
[5, "Satwik", "Php", "Datenbanken", 99],
[6, "Diba", "Php", "Datenbanken", 19],
[9, "Diba", "Php", "Frontend -Programmierung", 54],
],
Spalten = ["Prüfungs -ID", "Name", "Option1", "Option2", "Marks"]
)
# Verwenden wir die Funktion crosStabab (), indem Sie den Parameter Normalisieren auf den Index einstellen.
Frequenz = Pandas.CrosStab (Mydata.Option2, mydata.Name, Normalize = 'Index')
Druck (Frequenz)

Ausgang:

Erläuterung:
Wir übergeben den Normalisierungsparameter und setzen ihn auf "Index". Es gibt den Prozentsatz jedes Ereignisses zurück.

Die Gesamtzahl beträgt 6.

  1. In "Datenbanken" - für "Diba" - 1 unter 4 => Der normalisierte Wert beträgt 0.25.
  2. In "Datenbanken" - für "Satwik" - 1 unter 4 => Der normalisierte Wert beträgt 0.25.
  3. In "Datenbanken" - für "Sravan" - 2 unter 4 => Der normalisierte Wert beträgt 0.5.
  4. In „Frontend -Programmierung“ - für „DIBA“ - 1 unter 2 => Der normalisierte Wert beträgt 0.50.
  5. In „Frontend -Programmierung“ - für „Satwik“ - 0 unter 2 => Der normalisierte Wert beträgt 0.00.
  6. In „Frontend -Programmierung“ - für „Sravan“ - 1 unter 2 => Der normalisierte Wert beträgt 0.5.

Abschluss

Dieser Artikel ist geschrieben, um Ihnen die Idee zu geben und Sie das Konzept der Berechnung der Kreuzzeriteln für die Datenanalyse zu verstehen. Pandas bietet uns eine Reihe nützlicher Funktionen. Von dem „Pandas.CrosStab () “ist eins. Wir haben diese Methode in diesem Lernen verwendet.