这不是一个抽象的解决方案,但它确实得到了您想要的结果。我期待着看到一个更加以熊猫为中心的答案来解决这个问题,但同时也提出了这个问题。
import pandas as pd
la = ['a', 'b', 'c', 'd', 'e']
lb = [[1], [2], [3, 33], [11,12,13], [4]]
lc = [[1], [2, 22], [3], [11,12,13], [4]]
l1 = []
l2 = []
l3 = []
l1Temp = []
l2Temp = []
l3Temp = []
for i, listInt in enumerate(lb):
if type(listInt == list):
for j, item in enumerate(listInt):
l1Temp.append(la[i])
l2Temp.append(lb[i][j])
l3Temp.append(lc[i])
else:
l1Temp.append(la[i])
l2Temp.append(lb[i])
l3Temp.append(lc[i])
for i, listInt in enumerate(l3Temp):
if type(listInt == list):
for j, item in enumerate(listInt):
l1.append(l1Temp[i])
l2.append(l2Temp[i])
l3.append(l3Temp[i][j])
else:
l1.append(l1Temp[i])
l2.append(l2Temp[i])
l3.append(l3Temp[i])
for i, item in enumerate(l3):
print('%s - %s - %s' % (l1[i], l2[i], l3[i]))
df = pd.DataFrame({'la':[x for x in l1],
'lb':[x for x in l2],
'lc': [x for x in l3]})
print(df)