【发布时间】:2018-05-05 16:50:28
【问题描述】:
df1:
GAME PLAY BET
0 (SWE, FIN) DRAW 10
1 (DEN, GER) WIN 20
2 (RUS, CZE) LOSS 30
df2:
GAME WIN DRAW LOSS
0 (SWE, FIN) 1.50 2.0 3.25
1 (DEN, GER) 2.00 2.5 2.10
2 (RUS, CZE) 1.05 2.1 10.00
我想在 df1 中为每个游戏创建一个“PAYOFF”列。通过从 df2 中获取实际赔率(赢/平/输),通过将该值乘以 df1 中的“BET”来计算收益。例如,对于第 1 行 (SWE,FIN),PLAY 是 DRAW,我需要使用该值从 df2 中的 DRAW col 中获取。
我可以通过加入 2 个 df 来管理它,然后在多个步骤中对列进行一些丑陋的删除/重命名,但我肯定错过了一些更优雅的方法吗? TIA,--汤米
【问题讨论】:
-
您能否举例说明您对所提供数据的期望输出?
-
对于 df1 中的每一行,我想计算 BET 乘以 df2 的相应赔率,在三个单独的列中给出。因此,例如,对于 df1 第 0 行,游戏是 DRAW,我将从 df2, row0 中获取 DRAW 列中的值 2.0,然后将其与第 0 行 df1 的 BET 值 10 相乘.对 df1 中的所有行都这样做。请注意,df1 中的行数可能比 df2 中的多,例如,在 SWE-FIN 游戏中可能有几种不同的赌注...
-
@Pryderide 不客气。请注意,表格的每一行之前需要 4 个空格。
标签: python pandas dataframe join