[PYTHON] So extrahieren Sie Bedingungen (erwerben Sie alle Elemente der Gruppe, die die Bedingungen erfüllen) für Gruppe für Gruppe

Ich möchte Bedingungen für eine Gruppe extrahieren, die gruppiert wurde.

Ich werde erklären, wie alle Elemente der Gruppe, die die Bedingungen erfüllen, von der Gruppe für Gruppe in Python abgerufen werden.

Wenn Sie beispielsweise die folgenden Daten haben und die höchste Punktzahl 80 oder höher ist, möchten Sie alle Daten für diese Person erfassen.

import pandas as pd
import numpy as np

df = pd.DataFrame({"name":["Yamada","Yamada","Yamada","Suzuki","Suzuki","Hayashi"],
                   "score":[60,70,80,60,70,80]})
print(df)

#       name  score
# 0   Yamada     60
# 1   Yamada     70
# 2   Yamada     80
# 3   Suzuki     60
# 4   Suzuki     70
# 5  Hayashi     80

(Korrigiert am 19/12/05) In einem solchen Fall können Sie mit `` `groupby.filter``` in einer Zeile schreiben.

new_df = df.groupby('name').filter(lambda group: group['score'].max() >= 80)
print(new_df)

#       name  score
# 0   Yamada     60
# 1   Yamada     70
# 2   Yamada     80
# 5  Hayashi     80

Der Inhalt von `filter ()` sind Lambda-Ausdrücke, die sich auf die Bedingung beziehen.

Übrigens, bevor ich von Qiita unterrichtet wurde, habe ich die Bedingungen wie folgt extrahiert. Sie können einen Schlüssel erhalten, der die Bedingungen für jede Gruppe mit groupby erfüllt, und dann den ursprünglichen Datenrahmen mit diesem Schlüssel auf der linken Seite verbinden. Insbesondere lautet der Code wie folgt.

group_df = df.groupby('name').max().reset_index()
key = group_df[group_df['score'] >= 80]['name']
new_df = pd.merge(key, df, on = 'name', how = 'left')
print(new_df)

#       name  score
# 0  Hayashi     80
# 1   Yamada     60
# 2   Yamada     70
# 3   Yamada     80

Ich war beeindruckt, eine Reihe von Flüssen des linken äußeren Joins in eine Zeile schreiben zu können, um den Schlüssel zu extrahieren, der die Bedingung erfüllt, und die Score-Informationen wiederherzustellen, die durch die groupby-Operation gelöscht wurden.

Recommended Posts

So extrahieren Sie Bedingungen (erwerben Sie alle Elemente der Gruppe, die die Bedingungen erfüllen) für Gruppe für Gruppe
[Python] Verwendung der for-Anweisung. Eine Methode zum Extrahieren durch Angabe eines Bereichs oder von Bedingungen.
Sortieren Sie die Elemente eines Arrays, indem Sie Bedingungen angeben
So erstellen Sie eine Eigenschaft von Beziehungen, die durch bestimmte Bedingungen vorab abgerufen werden kann
So testen Sie die Attribute, die durch add_request_method of pyramid hinzugefügt wurden
So ändern Sie die Protokollstufe von Azure SDK für Python
Wie nutzt man maschinelles Lernen für die Arbeit? 01_ Den Zweck des maschinellen Lernens verstehen
So erstellen Sie einen Wrapper, der die Signatur der zu umschließenden Funktion beibehält
Pandas des Anfängers, vom Anfänger, für den Anfänger [Python]
Wie man eine Benutzergruppe mit Slack-Benachrichtigung erwähnt, wie man die ID einer Benutzergruppe überprüft
Geben Sie den gesamten E-Mail-Text der E-Mail-Gruppe aus, die von Google Mail durchsucht und eingegrenzt wurde
Lesen aller in * .py enthaltenen Klassen in dem von Python angegebenen Verzeichnis
[Python] So sortieren Sie nach dem N-ten M-ten Element eines mehrdimensionalen Arrays
So ermitteln Sie den Koeffizienten der ungefähren Kurve, die in Python durch die Scheitelpunkte verläuft
Verwenden Sie numpy, um Spalten oder Zeilen zu entfernen, die Elemente bestimmter Bedingungen enthalten
So erstellen Sie einen Raspberry Pi, der die Tweets eines bestimmten Benutzers spricht
[Einführung in Python] So erhalten Sie den Datenindex mit der for-Anweisung
So berechnen Sie die Volatilität einer Marke
[Python] So zeigen Sie die Elemente der Liste nebeneinander an
[Python] Checklistenelemente alle, alle
So verwenden Sie MkDocs zum ersten Mal
So löschen Sie die von Python ausgegebenen Zeichen
So erhalten Sie Elemente vom Typ Wörterbuch von Python 2.7
So finden Sie die Korrelation für kategoriale Variablen
So vermeiden Sie die Cut-Off-Beschriftung des Diagramms, das vom Plotsystemmodul mit matplotlib erstellt wurde
[Ruby] Wie ersetze ich nur einen Teil der Zeichenkette, der mit dem regulären Ausdruck übereinstimmt?
Konvertieren Sie die Finanzinformationen aller börsennotierten Unternehmen der letzten 5 Jahre in eine CSV-Datei
Wie man die Portnummer des xinetd-Dienstes kennt
So ermitteln Sie die Anzahl der Stellen in Python
So lösen Sie die rekursive Funktion, die abc115-D gelöst hat
Die Entscheidung von scikit-learn Wie man ein Holzmodell visualisiert
So finden Sie heraus, welche Version von Java Maven verwendet wird
[Blender] So legen Sie die Auswahlelemente von EnumProperty dynamisch fest
[Python] Gibt alle Kombinationen von Elementen in der Liste aus
[Python] Zusammenfassung, wie die Farbe der Figur angegeben wird
Wie man das Dokument der magischen Funktion (Linienmagie) trifft
So greifen Sie auf die globale Variable des importierten Moduls zu
Gruppieren Sie nach aufeinanderfolgenden Elementen einer Liste in Python
Vergleichen Sie, wie die Verarbeitung für Listen nach Sprache geschrieben wird
[Selen] Wie wird der relative Pfad des Chromedriver angegeben?
Extrahieren Sie nur Elemente, die bestimmte Bedingungen in Python erfüllen
So heben Sie den von pytest-django verwendeten DB-Namen auf
So überprüfen Sie anhand des Hashwerts, ob der Inhalt des Wörterbuchs in Python identisch ist
So lösen Sie das Problem, dass Videoinhalte unter Firefox für Linux nicht abgespielt werden können
Wie man zeichnet, indem man die Farbe des Diagramms kontinuierlich mit matplotlib ändert und einfach viele Legenden anordnet
So ermitteln Sie die kumulative Summe für jede Gruppe mithilfe von DataFrame in Spark [Python-Version]
So legen Sie Variablen fest, die in der gesamten Django-App verwendet werden können ~ Praktisch für Vorlagen usw. ~