Python 从具有True的列列表的dict创建数据帧

Python 从具有True的列列表的dict创建数据帧,python,pandas,dictionary,dataframe,Python,Pandas,Dictionary,Dataframe,我想拿一本'item':[list\u of_True\u column\u labels]的字典,看起来像这样: pre_df = {'item1':['a','b','c'], 'item2':['c','d'], 'item3':['a', 'c', 'd', 'e'], 'item4':['e']} index A B C D E item1 True True True False False item2 False

我想拿一本
'item':[list\u of_True\u column\u labels]
的字典,看起来像这样:

pre_df  = {'item1':['a','b','c'], 'item2':['c','d'], 'item3':['a', 'c', 'd', 'e'], 'item4':['e']}
index   A      B      C      D      E
item1  True   True   True   False  False
item2  False  False  True   True   False
item3  True   False  True   True   True
item4  False  False  False  False  True
并将其转换为
bool
的数据帧,如下所示:

pre_df  = {'item1':['a','b','c'], 'item2':['c','d'], 'item3':['a', 'c', 'd', 'e'], 'item4':['e']}
index   A      B      C      D      E
item1  True   True   True   False  False
item2  False  False  True   True   False
item3  True   False  True   True   True
item4  False  False  False  False  True
1) 我尝试过(从StackOverflow):

但这给了我一个不正确的数据帧:

    item1 item2 item3 item4
0     a     c     a     e
1     b     d     c   NaN
2     c   NaN     d   NaN
3   NaN   NaN     e   NaN

2) 使用
pd.melt()。这将提供所需输出的转置版本。转置结果并用
False
填充NaN,以提供所需信息:

pd.DataFrame.from_dict({k: pd.Series(True, v) for k, v in pre_df.items()}).T.fillna(False)