我有以下字典:
{
('x', 1): 1,
('y', 2): 2,
('z', 3): 3
}
我还有以下数据框:
index data common
0 ('x',1)
1 ('y',2)
2 ('z',3)
我想将字典与数据框合并。我想将字典中的键值与数据帧中的数据值进行比较,如果它们相同,则将字典值设置为df.common值。结果字典将是:
index data common
0 ('y',2) 2
1 ('x',1) 1
2 ('z',3) 3
我尝试了以下方法:
m = pd.Series(dictionary)
df['common']= m
我尝试使用map,但这不允许您重新索引多索引值。
答案 0 :(得分:0)
@DanielMesejo评论的一种方式是:
somelist = [x for x in range(1500, 2701) if x%5==0 and x%7==0]
另一种方式是这样的:
df.assign(common=df.data.map(d))
data common
0 (x, 1) 1
1 (y, 2) 2
2 (z, 3) 3
from operator import getitem
from functools import partial
p = partial(getitem, d)
df.assign(common=df.data.apply(p))
data common
0 (x, 1) 1
1 (y, 2) 2
2 (z, 3) 3
是您的字典