Изменение значений в датасете формул

У меня есть столбец с данными типа: ZnFe2O4, Fe2O3, Fe3O4@CeO2, Fe-CuO2. Однако, формулы с разделителями типа: /, @, -, мне нужно привести к виду от Fe-CuO2 к FeCuO2. Я написала такой блок:

for formula in df['Core']:
  if formula.isalnum( ) == False:
    line = re.split("-,@,/", formula) #разделила через регулярные выражения
    comp1 =''
    count = 0
    while count <= len(line):
      for i in line:
        count += 1 
        comp1 += i
    df['Core'] = comp1   

Однако в итоге все значения в столбце стали пустыми:

df['Core'].values

array(['', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '',...

В чём моя ошибка?

Обновление 1. Мне нужно, чтобы все значения в столбце типа Au@CuFe2O3 стали AuCuFe2O3, поэтому я решила разделить значения, что имели разделители в списки, а потом соединить в строку, но присваивание значений для каждого значения в pandas через цикл идёт не правильно. Как правильно проверить все значения на разделители в столбце в pandas и изменить неподходящие, без разделителей (@, /, -)?


Ответы (1 шт):

Автор решения: Alexey Trukhanov

Если я правильно понял задачу, то надо в колонке неких строк, удалить из этих строк некие ненужные знаки. Есть pandas метод .str.replace(), он этим занимается.

df.Core = df.Core.str.replace('[-@/]', '', regex=True)
→ Ссылка