我已经看到很多关于python中的VLookup等效问题,大多数答案都是Merge函数。但是,如果参考数据帧由两列组成,则效果很好。我有的是 df_pij_k:
row_number()
df_pij_fcd:
k o d
0 1 1 2
1 2 1 3
2 3 1 3
3 4 1 4
4 5 1 5
5 6 1 6
6 7 1 7
我想从p_fcd中获取值(如果第二个数据帧中存在k,则列为k,如果不存在则为1),然后将它们放在第一个数据帧的列p中。结果如下:
k o d kz p_fcd
0 2 1 3 5.0 83.33
1 3 1 3 1.0 16.67
2 10 1 10 8.0 66.67
3 11 1 10 4.0 33.33
4 15 2 4 10.0 25.64
5 6 1 6 29.0 74.36
6 20 2 8 92.0 83.64
7 7 1 7 18.0 16.36
合并功能会带来第二个数据帧的所有列,这是我不想要的。我尝试了这段代码:
k o d P
0 1 1 2 1
1 2 1 3 83.33
2 3 1 3 16.67
3 4 1 4 1
4 5 1 5 1
5 6 1 6 83,64
6 7 1 7 16,36
但是它返回错误:语法无效。你知道为什么吗?还是有其他优雅的方法可以做到这一点?