数据框中每个列表的唯一标识符

时间:2019-03-26 18:42:09

标签: python

我有一个列表列表

lst = [[2, 0, 1, 6, 7, 8], [4, 3, 5]] 

,我想拉平列表,并为合并到data.frame中的列表中的每个列表分配唯一的ID。

所需的输出:

  value group
0   2   0
1   0   0
2   1   0
3   6   0
4   7   0
5   8   0
6   4   1
7   3   1
8   5   1

4 个答案:

答案 0 :(得分:2)

您将需要进行一些花哨的拼合:

flattened = [(item, index) for index, sublist in enumerate(lst) for item in sublist]
df = pd.DataFrame(flattened, columns=['value','group'])

答案 1 :(得分:1)

如果要使用Pandas DataFrame:

import pandas as pd

lst = [[2, 0, 1, 6, 7, 8], [4, 3, 5]] 

final_list = []
for i, l in enumerate(lst):
    for num in l:
        final_list.append({'value': num, 'group': i})

df = pd.DataFrame(final_list)

答案 2 :(得分:1)

您可以使用以下代码:

new_lst = []
for group in lst:
    for n in group:
        new_lst.append({"group":lst.index(group),"value": n})

答案 3 :(得分:0)

在要求输出之前,您应该尝试一下。

在具有唯一标识符的列表列表中循环浏览,您可能想使用枚举“为列表提供索引器”的函数。

for i,sub_list in enumerate(lst):
    identifier = i
    [(value,identifier) for value in sublist]
    ....

希望这会有所帮助