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)