zu finden Ich habe eine Datenrahmen wiegemeinsamen Wert in einer Spalte gegen eindeutigen Wert in einer anderen Spalte in Pandas
event cust
et1 satya
et1 papu
et1 abc
et1 satya
et1 def
et2 papu
et2 satya
et2 panda
et3 normal
et3 panda
et3 satya
et3 fgh
Jetzt muß ich findout ‚benutz‘, die für alle drei Arten von events.so diese existieren sollte nachgeben
event cust
et1 satya
et1 satya
Mach dir keine Sorgen über distinct (Duplikate können entfallen). Für diesen meinen Ansatz ist
x = df[df['event'] == 'et1']
y = df[df['event'] == 'et2']
z = df[df['event'] == 'et3']
df_common = x[x['cust'].isin(y[y['cust'].isin(z.cust)]['cust'])]
aber dies wird in dem Fall nicht angebracht, wenn der Datenrahmen Größe sehr groß sein wird, und ich habe für einige 50-100 + Veranstaltungen gemeinsam benutz finden.
Bitte schlagen Sie einige Pandas/mehr-Pythonic Weg dazu vor.Vielen Dank im Voraus.
@ jezrael-Fein im Fall (gemeinsam für alle Event) .Aber was --wenn i cust möchten, die in einigen ausgewählten events.Like sind erhalten gemeinsame cust für Event et1 & et2 (mit Ausnahme von et3). – Satya
Ok. ich muss meinen dataframe zuerst entsprechend filtern. df = df [df ['events']. isin (['et1', 'et2'])] Dann kann ich Ihrer Herangehensweise folgen. Ich frage mich nur, ob es irgendeine Pandas-Funktion (falls vorhanden) dafür gibt ??? – Satya
Ja, ich möchte etwas Ähnliches wie 'Isin' schreiben. Ich weiß nicht über die Funktion, es zu tun. Ich versuche 'groupby' und' apply', aber ohne Erfolg. – jezrael