基于其他dataframe列映射列中类别的值

2024-04-29 00:17:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两只熊猫

其中一个对这样的列进行了分类

var1 | var2 
-----|------
A    |x
B    |y
C    |z

另一个具有上述数据框的每列中存在的每个类别的证据权重(woe)

var_name | category | value
---------|----------|---------
var1     |A         |0.2
var1     |B         |0.3 
var1     |C         |0.4
var2     |x         |0.8
var2     |y         |0.9 
var2     |z         |1

我想将列值映射到第一个数据帧,并得到如下示例所示的结果:

var1 | var2
-----|------
0.2  |0.8
0.3  |0.9
0.4  |1

我对应用它感到困惑

有人有小费吗

非常感谢你


Tags: 数据name证据示例valuevar分类类别
1条回答
网友
1楼 · 发布于 2024-04-29 00:17:57

我们可以将df2更改为dict,然后执行replace

d = df2.set_index('category').groupby('var_name').agg(dict).value.to_dict()
df1 = df1.replace(d)
Out[424]: 
   var1  var2
0   0.2   0.8
1   0.3   0.9
2   0.4   1.0

相关问题 更多 >