Heim >Backend-Entwicklung >Python-Tutorial >Python extrahiert die angegebene Standortdatensatzmethode nach der Groupby-Gruppierung
Das Folgende ist eine Python-Methode zum Extrahieren bestimmter Standortdatensätze nach der Gruppierung. Sie hat einen guten Referenzwert und ich hoffe, dass sie für alle hilfreich ist. Kommen Sie und werfen Sie gemeinsam einen Blick darauf
Bei der Datenanalyse und Datenmodellierung müssen wir zunächst die Daten verarbeiten und die benötigten Informationen extrahieren. Im Folgenden werden einige Verwendungsmöglichkeiten von Groupby vorgestellt, um die Datenverarbeitung komfortabler zu gestalten.
Wenn wir Groupby zum Extrahieren von Informationen verwenden, finden wir häufig einige Statistiken (Max, Min, Var usw.) der gruppierten Stichproben. Wenn wir nun den zweiten Datensatz und den drittletzten Datensatz der gruppierten Stichprobe nehmen möchten, wie sollten wir das tun? Wir können die ersten und letzten Stichproben extrahieren, nachdem wir sie durch erste und letzte gruppiert haben. Wenn wir aber an bestimmten Orten Proben nehmen wollen, gibt es keine vorgefertigte Funktion. Wir müssen es selbst schreiben. Im Folgenden werde ich Ihnen vorstellen, wie Sie die oben genannten Funktionen implementieren.
1) Dateneinführung
Die Aktionstabelle hat 3 Spalten: Benutzer-ID, Aktionstyp und Aktionszeit, die Benutzer-ID, Benutzerverhaltenstyp und darstellen Verhalten bzw. Auftrittszeit. Das spezifische Format ist wie folgt:
2) Gruppierungsvorgang
a = action.groupby('userid') b = action.groupby('userid')['actionTime'] type(a) type(b)
Nach der Gruppierung können wir sehen, dass die Datentypen von a und b DataFrameGroupBy und SeriesGroupBy sind
3) Holen Sie sich die Nummer Operation
①Zweite/vorletzte Operationszeit durch verschiedene Benutzer
action.groupby('userid')['actionTime'].apply(lambda i:i.iloc[1] if len(i)>1 else np.nan) action.groupby('userid')['actionTime'].apply(lambda i:i.iloc[-2] if len(i)>1 else np.nan)
②Verschiedene Benutzer Die zweite/ Vorletzter Betriebszeitpunkt eines bestimmten Verhaltens
action[action['actionType']==2].groupby('userid')['actionTime'].apply(lambda i:i.iloc[1] if len(i)>1 else np.nan) action[action['actionType']==2].groupby('userid')['actionTime'].apply(lambda i:i.iloc[-2] if len(i)>1 else np.nan)
PS: Da einige Benutzer möglicherweise nur einen Datensatz haben, kann die direkte Einnahme dazu führen Fehler, also verwende ich if, um zuerst ein Urteil zu fällen.
Auf diese Weise können wir Proben an jeder Position der gruppierten Daten extrahieren.
Verwandte Empfehlungen:
Pandas-Methode zum Abrufen der Zeile mit dem Maximalwert in der Groupby-Gruppe
Das obige ist der detaillierte Inhalt vonPython extrahiert die angegebene Standortdatensatzmethode nach der Groupby-Gruppierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!