Вы можете использовать функцию выравнивания Credit @ wim
import collections
def flatten(l):
for i in l:
if isinstance(i, collections.abc.Iterable) and not isinstance(i, str):
yield from flatten(i)
else:
yield i
Затем используйте set
list(set(flatten(df.B)))
['A', 'B', 'E', 'C', 'D']
Настройка
df = pd.DataFrame(dict(
B=[['A', 'B'], ['A', 'C'], 'C', 'D', ['E', 'B']]
))