Python中的VLookup等价于多列数据框

时间:2019-07-29 09:46:09

标签: python-3.x

我已经看到很多关于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

但是它返回错误:语法无效。你知道为什么吗?还是有其他优雅的方法可以做到这一点?

0 个答案:

没有答案