Вы можете использовать:
df.loc[df['id_original'].apply(lambda x: x.Class in allowed_class_type_list)]
Рассмотрите приведенный ниже минимизированный пример:
class Example:
def __init__(self, class_):
self.Class = class_
ex1 = Example('class1')
ex2 = Example('class2')
ex3 = Example('class3')
ex4 = Example('class4')
df = pd.DataFrame({
'id_original':[ex1, ex2, ex2, ex1, ex4, ex3, ex3, ex4]
})
allowed_class_type_list = ['class1', 'class4']
Вы можете фильтровать, используя:
df.loc[df['id_original'].apply(lambda x: x.Class in allowed_class_type_list)]
Вывод:
id_original
0 <__main__.Example object at 0x000000000A597390>
3 <__main__.Example object at 0x000000000A597390>
4 <__main__.Example object at 0x000000000A597B00>
7 <__main__.Example object at 0x000000000A597B00>