Pandas groupby und filter

Habe ich dataframe:

df = pd.DataFrame({'ID':[1,1,2,2,3,3], 
                   'YEAR' : [2011,2012,2012,2013,2013,2014], 
                   'V': [0,1,1,0,1,0],
                   'C':[00,11,22,33,44,55]})

Möchte ich group by-ID, und markieren Sie die Zeile mit V = 0 in jeder Gruppe.

Diese scheint nicht zu funktionieren:

print(df.groupby(['ID']).filter(lambda x: x['V'] == 0)) 

Bekam eine Fehlermeldung:

TypeError: filter-Funktion zurückgegebene einer Serie, von der aber erwartet wird eine Skalare bool

Wie kann ich filter verwenden, um das Ziel zu erreichen? Danke.

BEARBEITEN:
Die Bedingung V variieren für jede Gruppe, z.B., könnte es sein, V==0 für die ID 1, V==1 ID 2, und diese Informationen können verfügbar sein, über einen anderen DF:

df = pd.DataFrame({'ID':[1,2,3], 
                   'V': [0,1,0])

So, wie Sie Zeilen filtern innerhalb jeder Gruppe?

InformationsquelleAutor iwbabn | 2017-01-07
Schreibe einen Kommentar