首页 > 解决方案 > 将字符串元组链接到交叉表数据框

问题描述

如果我有一个数据框:

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

我在引用两个数据框并返回值时遇到问题。有人可以帮我吗?提前致谢

标签: pythonpandasdataframedata-science

解决方案


我想你需要lookup在这里

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

推荐阅读