Python 将嵌套列表转换为数据帧

Python 将嵌套列表转换为数据帧,python,pandas,list,dataframe,nested,Python,Pandas,List,Dataframe,Nested,正在尝试将python列表转换为数据帧: input: list = [[a,x,[1,2]],[a,y,[1]],[a,z,[1,2,3]],[b,v,[1]],[b,w,[1,2]]...] 一些转换技巧会导致: output: c1 c2 c3 a x 1 a x 2 a y 1 a z 1 a z 2 a z 3 b v 1 b w 1 b w 2 每个列表元素的第一个和第二个元素始终是单个值(成为c1和c2),但第三个元素是长度

正在尝试将python列表转换为数据帧:

input:
list = [[a,x,[1,2]],[a,y,[1]],[a,z,[1,2,3]],[b,v,[1]],[b,w,[1,2]]...]
一些转换技巧会导致:

output:
c1 c2 c3
 a  x  1
 a  x  2
 a  y  1
 a  z  1
 a  z  2
 a  z  3
 b  v  1
 b  w  1
 b  w  2
每个列表元素的第一个和第二个元素始终是单个值(成为c1和c2),但第三个元素是长度可变的列表。我尝试了各种循环来转换为一个列表,每个元素都准备好作为一个“行”,但我无法让它工作。它有点像一个反向透视表,但这也没有真正帮助我。谢谢你的帮助

enter code here
import pandas as pd
import numpy as np

df = pd.DataFrame([['a','x',[1,2]],['a','y',[1]],['a','z',[1,2,3]],['b','v',[1]],['b','w',[1,2]]],columns=["colum1","column2","column3"])

print(df)

print("******************")




lst_col = 'column3'

r = pd.DataFrame({
  col:np.repeat(df[col].values, df[lst_col].str.len())
  for col in df.columns.drop(lst_col)}
).assign(**{lst_col:np.concatenate(df[lst_col].values)})[df.columns]
print(r)