我的词典看起来像:
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的最有效方法是什么?
答案 0 :(得分:3)
这样做:
d = {key: [value] for key, value in d.items()}
这被称为词典理解。