我正在尝试从pandas数据帧中获取数据,并将其转换为所需的字典。以下是数据示例:
data =[[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1],[0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2]]
Utable = pd.DataFrame(data, columns =['Type1', 'Type2', 'Type3', 'Type4', 'Type5', 'Type6', 'Type7', 'Type8', 'ID'])
我需要的字典是作为dict键的ID记录,并且值需要是根据列名确定的不可接受的Type#的列表。如果类型为0.0,则它们是不可接受的。因此,对于本例,输出为:
{1: [1, 2, 3, 4, 5, 6, 7, 8], 2: [1, 2, 4, 5, 6, 7, 8]}
我可以找到如何使用ID作为dict键将类型值存储为列表的方法:
U = Utable.set_index('ID').T.to_dict('list')
其给出:
{1: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0], 2: [0.0, 0.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0]}
但我不知道如何从列表中存储的列名中获取内容作为dict值。
非常感谢您的帮助。