我有一个这样的数据框,
Key Group RS
42 23 100
42 41 21
46 23 89
67 10 65
其他dataframe是这样的,
Key Group RS
42 41 11
67 10 23
有层次结构:Key -> Group(在key内唯一) -> RS。
如果键和组与第二个数据帧相同,我想替换第一个数据帧中的 RS 值。 所以结果应该是这样的,
Key Group RS
42 23 100
42 41 11 // updated
46 23 89
67 10 23 // updated
我想使用 pandas .update 函数,但它不适用于非唯一索引,Key 就是这种情况,因为它在多行中重复。我不知道该怎么办。
请您参考如下方法:
设置索引并使用 loc 分配更新的值。然后重置索引。
请注意,此方法保留了 'RS' 列的 dtype。
d1 = df1.set_index(cols).RS
d2 = df2.set_index(cols).RS
d1.loc[d2.index] = d2
d1.reset_index()
Key Group RS
0 42 23 100
1 42 41 11
2 46 23 89
3 67 10 23
