Рекомендуемое решение, особенно если у вас одинаковое количество разделителей ;
в каждой строке, состоит в создании кадра данных из серии object
dtype, в которой каждый элемент представляет собой одну строку:
df = pd.DataFrame({'A': ['Beach holiday;Plenty of space;Pool',
'Mountain holiday;Plenty of grey;Ice']})
df = df['A'].str.split(';', expand=True)
print(df)
0 1 2
0 Beach holiday Plenty of space Pool
1 Mountain holiday Plenty of grey Ice
Создание серии списков, альтернатива, не рекомендуется ; это включает вложенный слой указателей.