如果我有一个数据帧:

df1 = matchups 1    matchups 2    matchups 3
      ('a', 'b')    ('b', 'c')    ('a', 'c')
      ('d', 'a')    ('c', 'd')    ('a', 'e')

等等。。
我有一个交叉表:
df2 =     a     b     c     d     e
      a  NaN  -1.0  +2.0  -8.0   +5.0

      b  +1.0  NaN  +2.5  +3.0    0

      c  -2.0 -2.5  NaN   +5.5   -3.5

      d  +8.0 -3.0  -5.5  NaN   +2.8

      e  -5.0   0   +3.5  -2.8    NaN

我希望每次配对都返回一个值
df1 = matchups 1    matchups 2    matchups 3
       +1.0           -2.5         -2.0
       -8.0           -5.5         -5.0

我在引用这两个数据帧和返回值时遇到问题。有人能帮我吗?提前谢谢

最佳答案

我想你需要这里

df1.applymap(lambda x : df2.lookup([x[0]],[x[1]])[0])
Out[289]:
    M1   M2   M3
0 -1.0  2.5  2.0
1  8.0  5.5  5.0

关于python - 将字符串元组链接到交叉表数据框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51015583/

10-11 04:02