Для объединения слов в один столбец в каждой ячейке, вы можете использовать метод str.split() для разделения строк по запятым, а затем метод explode() для превращения списка слов в отдельные строки. Затем можно снова объединить строки с помощью метода groupby() и apply() с функцией ','.join для получения одного слова в каждой ячейке. Вот пример кода:
import pandas as pd
# Пример исходного датафрейма с одним столбцом
data = {'words': ['apple,orange', 'banana', 'grape,kiwi,mango', 'pear']}
df = pd.DataFrame(data)
# Разделение строк по запятым и превращение списка в отдельные строки
df['words'] = df['words'].str.split(',')
# Превращение списка слов в отдельные строки
df = df.explode('words')
# Объединение слов обратно в одну строку с помощью groupby и apply
df = df.groupby(level=0)['words'].apply(','.join).reset_index()
print(df)
В результате получится датафрейм, в котором в каждой ячейке будет только одно слово:
index words
0 0 apple
1 1 orange
2 2 banana
3 3 grape
4 3 kiwi
5 3 mango
6 4 pear