Путем написания следующего кода я создаю фрейм данных
data = [['A', 'B','D'], ['A','D'], ['F', 'G','C','B','A']]
df = pd.DataFrame(data)
df

Моя цель - удалить значения из фрейма данных, которые не находятся в список ниже.
list_items = ['A','B','C']
Мой ожидаемый результат такой же, как и в

Я попытался просмотреть значения в циклах и проверить один за другим, но предположим, что кадр данных очень большой по размеру (9108, 1616), и в списке содержится более 130 элементов, которые необходимо проверить. В этом случае выполнение кода занимает слишком много времени. Пожалуйста, предложите наиболее эффективный способ достижения ожидаемого результата.