Heim  >  Artikel  >  Backend-Entwicklung  >  Python extrahiert die angegebene Standortdatensatzmethode nach der Groupby-Gruppierung

Python extrahiert die angegebene Standortdatensatzmethode nach der Groupby-Gruppierung

不言
不言Original
2018-04-20 13:45:304827Durchsuche

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn