I have a panda data frame. One of the columns contains a list. I want that column to be a single string.
For example my list [\'one\',\'two\',\'three\'] should sim
You could convert your list to str with astype(str) and then remove ', [, ] characters. Using @Yakim example:
In [114]: df
Out[114]:
A
0 [a, b, c]
1 [A, B, C]
In [115]: df.A.astype(str).str.replace('\[|\]|\'', '')
Out[115]:
0 a, b, c
1 A, B, C
Name: A, dtype: object
Timing
import pandas as pd
df = pd.DataFrame({'A': [['a', 'b', 'c'], ['A', 'B', 'C']]})
df = pd.concat([df]*1000)
In [2]: timeit df['A'].apply(', '.join)
292 µs ± 10.8 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
In [3]: timeit df['A'].str.join(', ')
368 µs ± 24.6 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
In [4]: timeit df['A'].apply(lambda x: ', '.join(x))
505 µs ± 5.74 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)
In [5]: timeit df['A'].str.replace('\[|\]|\'', '')
2.43 ms ± 62.7 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)