在Python中将dict转换为列表的dict

时间:2016-03-12 18:26:11

标签: python python-3.x dictionary

我的词典看起来像:

d = {'col2': 'b', 'col1': 12}

这是使用以下命令从Pandas DataFrame创建的:

df.ix[row,['col1','col2,]].to_dict()

我想在df.isin()方法中包含此dict。但是,当我这样做时,我收到以下错误:

TypeError: only list-like or dict-like objects are allowed to be passed to DataFrame.isin(), you passed a 'int'

如果我手动编辑字典为:

d = {'col2': ['b'], 'col1': [12]}

...(即列表的字典)然后.isin()按预期工作。

不幸的是,手动编辑不是一种选择。需要从大型数据帧自动创建大量此类dicts。从可以包含在.isin()方法中的数据框中自动创建列表的dict的最有效方法是什么?

1 个答案:

答案 0 :(得分:3)

这样做:

d = {key: [value] for key, value in d.items()}

这被称为词典理解。