2 回答

TA貢獻(xiàn)1770條經(jīng)驗(yàn) 獲得超3個(gè)贊
您可以將issubset每個(gè)set組用于掩碼:
s = df.groupby('h1')['h2'].apply(lambda x: set(["a","b"]).issubset(x))
print (s)
h1
mn True
pq False
rs False
we False
Name: h2, dtype: bool
然后過(guò)濾索引值:
vals = s.index[s]
print (vals)
Index(['mn'], dtype='object', name='h1')

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超5個(gè)贊
groupby.filter與 一起使用np.isin:
new_df = df.groupby('h1').filter(lambda x: np.isin(['a','b'],x['h2']).all())
print(new_df)
h1 h2 h3
0 mn a 1
1 mn b 1
s = df.groupby('h1')['h2'].apply(lambda x: np.isin(['a','b'],x).all())
s.index[s]
#Index(['mn'], dtype='object', name='h1')
添加回答
舉報(bào)