Использование серии Pandas для хранения списков нецелесообразно, потому что оно всегда будет иметь dtype object
и представляет указатели на произвольные типы. Таким образом, операции над такой серией не будут векторизуемыми и будут иметь привязанную память.
Если у вас есть определенное количество элементов в каждом списке, вы можете разделите серию списков на несколько рядов, см. Pandas разбивает столбцы списков на несколько столбцов . Затем сделайте каждую серию категорией:
for col in ['col1', 'col2', 'col3']:
df[col] = df[col].astype('category')