Why not converting each to str:
import pandas as pd
list_t = [(1,2),(1,7),(1,8),(2,6),(5,8)]
list_t = [str(item) for item in list_t]
df_com = pd.DataFrame(list_t,columns=["tuples"])
print(df_com)
Output:
tuples
0 (1, 2)
1 (1, 7)
2 (1, 8)
3 (2, 6)
4 (5, 8)
Just a note that this is faster from above
(although it is 'elegant'):
timeit("""import pandas as pd;list_t=[(1,2),(1,7),(1,8),(2,6),(5,8)];pd.Series(list_t).to_frame('new');""",number=1000)
0.25547240000014426
timeit("""import pandas as pd;list_t=[(1,2),(1,7),(1,8),(2,6),(5,8)];pd.DataFrame({'tuple': list_t});""",number=1000)
0.19921229999999923
Current answer:
timeit("""import pandas as pd;list_t=[(1,2),(1,7),(1,8),(2,6),(5,8)];list_t = [str(item) for item in list_t];pd.DataFrame(list_t,columns=["tuples"]);""",number=1000)
0.144553399999495