我有一个列表“list_of_lists”,看起来像这样:
[[1,2,3,4],[1,2,3],[3,4,3,2,1,9], [8,3]]
所以在这个例子中我们有 4 个列表,但可能不止这些。 我想要的是创建一个包含两列的数据框,第一列包含列表的元素,第二列包含元素所属的列表编号(第一个列表 = 1,第二个列表 = 2,依此类推)< /p>
所以它看起来像这样:
element list_n
1 1
2 1
3 1
4 1
1 2
2 2
3 2
3 3
4 3
3 3
.... etc
答案 0 :(得分:1)
转换列表列表后很简单
import pandas as pd
spam = [[1,2,3,4], [1,2,3], [3,4,3,2,1,9], [8,3]]
df= pd.DataFrame([[n, idx] for idx, item in enumerate(spam, start=1)
for n in item], columns=['element', 'list_n'])
print(df)
答案 1 :(得分:1)
一种理解为你做到了
l = [[1,2,3,4],[1,2,3],[3,4,3,2,1,9], [8,3]]
pd.DataFrame([[e,ln+1] for ln,sl in enumerate(l) for e in sl], columns=["element","list_n"])