python - 将字符串元组链接到交叉表数据框

标签 python pandas dataframe data-science

如果我有一个数据框:

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/

相关文章:

python - 如何在Python中给定范围内扩大单词间距?

python - Pandas 将不同大小的数据帧连接到列末尾

python - 如果它们之间的差异小于 pandas 中的固定值,则将行值替换为先前的值

python - 自定义样式 Pandas 数据框

python - Pyramid (Pylons/repoze.bfg) LDAP 身份验证

python - DBF - 编码 cp1250

python - 字符串匹配并在 Pandas 中获取多于 1 列

python - 如何使用 pandas 将在线 csv 文件保存到计算机

python-2.7 - 保留一些数据不重复并添加到现有的 python 数据框中

python-3.x - Matplotlib:仅将单元格颜色应用于某些列/单元格