给定这两个数据框,如何得到预期的输出数据框?
一种冗长的方法是使用iloc
循环遍历数据框的行,然后在将df2
转换为一个dict
后,使用map
函数将x和y映射到它们的分数。
这个过程似乎很繁琐,在较大的数据框上运行需要很长时间。希望有更简洁的解决方案。
df1:
ID A B C
1 x x y
2 y x y
3 x y y
df2:
ID score_x score_y
1 20 30
2 15 17
3 18 22
输出:
ID A B C
1 20 20 30
2 17 15 17
3 18 22 22
注意:数据框架可能有很多列,并且除了 x 和 y 之外,还会有更多类别(可能在 20 个类别左右)。
谢谢!
mask
在一个 1000 x 3 的数据框中替换 20 个类别,比使用apply
快约 10 倍。 - Stef