поэтому здесь уникальный список идентификаторов и тег. мне нужны только те строки, которые не включают tag = 2, 3. поэтому ответ должен быть уникальным ID = b, d, c
уникальный идентификатор тега
Фирменный фильтр Unique_id с согласованным 2,3 по Series.isin, а затем отфильтровать несоответствие Unique_id с np.setdiff1d:
Unique_id
2,3
Series.isin
np.setdiff1d
mask1 = df['tag'].isin([2,3]) out = np.setdiff1d(df['Unique_id'].unique(), df.loc[mask1, 'Unique_id'].unique()).tolist() print (out) ['b', 'c', 'd']