Pandas groupby() und diff()

Fariba Laiq 21 Juni 2023
  1. Datengruppierung in Python
  2. Verwenden Sie groupby() mit diff() in Pandas
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
Fariba Laiq avatar Fariba Laiq avatar

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

Verwandter Artikel - Pandas Dataframe