¿Cómo puedo tener columnas separadas de un dataframe fuera de la lista de tuplas y una lista?

Tengo las siguientes listas:

l1 = [(1,2),(3,4),(5,6)] l2 = [7,8,9] 

Quiero la salida como df

df =

  c1 c2 c3 0 1 2 7 1 3 4 8 2 5 6 9 

Hasta ahora puedo separar solo la tupla como

 df = pd.DataFrame(l1) 

eso me da

  c1 c2 0 1 2 1 3 4 2 5 6 

Quiero hacer para múltiples listas de diferentes formas como se mencionó anteriormente.

También puede usar pd.concat y concatenar los marcos de datos resultantes de pd.DataFrame(l1) y pd.Dataframe(l2) :

 df = pd.concat([pd.DataFrame(l1), pd.DataFrame(l2)], axis=1) >>> df 0 1 0 0 1 2 7 1 3 4 8 2 5 6 9 

Formulario de 2 listas:

 pd.DataFrame([*x, y] for x, y in zip(l1, l2)) 0 1 2 0 1 2 7 1 3 4 8 2 5 6 9 

Formulario de lista múltiple:

 from collections import Sequence lists = [l1, l2, ...] pd.DataFrame([ [ k for j in i for k in (j if isinstance(j, Sequence) else [j] )] for i in zip(*lists) ]) 0 1 2 0 1 2 7 1 3 4 8 2 5 6 9 

Esto funcionará para cualquier caso, independientemente de si l_i es una lista de tuplas o una lista de enteros.