Python 将列表元组(索引、列表(要素))转换为列值为要素布尔值的数据帧
我有以下数据列表:Python 将列表元组(索引、列表(要素))转换为列值为要素布尔值的数据帧,python,python-3.x,pandas,Python,Python 3.x,Pandas,我有以下数据列表: [(1[1,2]),(2[1,2]),(3[1])] 并希望将其转换为一个数据帧 1 2 1 True True 2 True True 3 True False 有没有一种内置的方法?不是真正的“内置”,但很快: l = [(1, [1,2]), (2, [1,2]), (3,[1])] df = pd.DataFrame([ i[1] for i in l ], index = [ i[0] for i in l ]).notnull() 输出:
[(1[1,2]),(2[1,2]),(3[1])]
并希望将其转换为一个数据帧
1 2
1 True True
2 True True
3 True False
有没有一种内置的方法?不是真正的“内置”,但很快:
l = [(1, [1,2]), (2, [1,2]), (3,[1])]
df = pd.DataFrame([ i[1] for i in l ], index = [ i[0] for i in l ]).notnull()
输出:
0 1
1 True True
2 True True
3 True False
…如果列名不一定必须是1,2
如果需要的话,这是对@piRSquared解决方案的无耻剽窃:
df = pd.DataFrame([ i[1] for i in l ], [ i[0] for i in l ], [ 1, 2 ]).notnull()
如果希望列名为1,2
df.columns=[1,2]
df
Out[231]:
1 2
1 True True
2 True True
3 True False
# use from_dict to load the list after converting it to a dict.
df = pd.DataFrame.from_dict({e[0]:e[1] for e in l},orient='index')>0
0 1
1 True True
2 True True
3 True False
df.columns=[1,2]
df
Out[231]:
1 2
1 True True
2 True True
3 True False