Pandas groupby() und diff()
Die Pandas-Bibliothek ist ein vollständiges Werkzeug zum Umgang mit Textdaten zusätzlich zu Zahlen. Sie möchten die Texteingabe aus vielen Datenanalyseanwendungen und der Exploration/Vorverarbeitung des maschinellen Lernens ausschließen oder Informationen daraus extrahieren.
Dazu können Sie mithilfe verschiedener integrierter Techniken von Pandas Textspalten in Ihren DataFrames hinzufügen, entfernen und ändern. In diesem Artikel wird kurz erläutert, wie Daten gruppiert und die Unterschiede zwischen den gruppierten Werten ermittelt werden.
Datengruppierung in Python
Die Datenanalyse erfordert häufig das Gruppieren von Datensätzen nach einer oder mehreren Spalten. Beispiele für solche Szenarien sind:
- Zählen der Anzahl der Mitarbeiter in jeder Geschäftsabteilung.
- Ermittlung der Durchschnittsgehälter von Männern und Frauen in jeder Abteilung.
- Ermittlung der Durchschnittsgehälter von Mitarbeitern unterschiedlichen Alters.
Pandas bieten eine groupby()
-Funktion, die es einfach macht, die meisten Gruppierungsaufgaben zu erledigen. Es gibt jedoch einige Jobs, bei denen die Position Hilfe benötigt, um sie zu erledigen. Lassen Sie uns versuchen, andere Möglichkeiten anzubieten.
Eine der wichtigsten Pandas-Funktionen ist groupby()
. Datensätze werden gruppiert und zusammengefasst, indem die Teilung in dieser Methode verwendet wird und die kombinierte Strategie verwendet wird.
Verwenden Sie groupby()
mit diff()
in Pandas
Im folgenden Beispiel wurde ein Datenrahmen mit ID_Number
, Stu_Names
und Marks
verschiedener Studenten erstellt. Danach haben wir eine neue Spalte mit dem Namen Marks_diff
erstellt, die den Unterschied in den Noten zwischen aufeinanderfolgenden Daten enthält, die ID_Number
gruppiert.
Wir haben hier fillna(0)
verwendet, denn wenn sich der Wert der Gruppenvariablen über benachbarte Zeilen im DataFrame ändert, weist fillna(0)
Pandas an, eine Null einzufügen.
Der Unterschied zwischen den Noten von Harry und Petter beträgt 6,0, und der Unterschied zwischen Daniel und Ron beträgt 10, wie in der Ausgabe gezeigt.
Beispielcode:
import pandas as pd
d1 = pd.DataFrame(
{
"ID_Number": ["ID1", "ID1", "ID2", "ID2"],
"Stu_Names": ["Harry", "Petter", "Daniel", "Ron"],
"Marks": [72, 78, 80, 90],
}
)
print(d1)
d1 = d1.sort_values(by=["ID_Number"])
d1["Marks_diff"] = d1.groupby(["ID_Number"])["Marks"].diff().fillna(0)
print(d1)
Ausgang:
ID_Number Stu_Names Marks
0 ID1 Harry 72
1 ID1 Petter 78
2 ID2 Daniel 80
3 ID2 Ron 90
ID_Number Stu_Names Marks Marks_diff
0 ID1 Harry 72 0.0
1 ID1 Petter 78 6.0
2 ID2 Daniel 80 0.0
3 ID2 Ron 90 10.0
I am Fariba Laiq from Pakistan. An android app developer, technical content writer, and coding instructor. Writing has always been one of my passions. I love to learn, implement and convey my knowledge to others.
LinkedIn