На всякий случай, может быть, панды str.join пригодятся в будущем ;-)
1) добавили вторую строку к вашему примерному фрейму данных
2) не модифицировал ваш генератор
3) добавлена дополнительная строка:
df['example'] = df['example'].str.join(',')
Рабочий пример:
import pandas as pd
import re
d = {
'example' : pd.Series([
"['a' 'b c' 'd' 'e f' 'g' 'h i j' 'k l' 'm n']",
"['a' 'b c' 'd']"
]),
}
df = pd.DataFrame(d)
display(df)
example
0 ['a' 'b c' 'd' 'e f' 'g' 'h i j' 'k l' 'm n']
1 ['a' 'b c' 'd']
df.example = [[w.replace(' ', '_') for w in re.findall(r"'([^']*)'", x.lower())] for x in tqdm(df.example)]
df['example'] = df['example'].str.join(',')
display(df)
example
0 a,b_c,d,e_f,g,h_i_j,k_l,m_n
1 a,b_c,d