我正在尝试合并两个数据框,其中一个包含赛马获胜赔率的详细信息,一个包含位置赔率的细节。它们共享一些相同的列名。我目前在马匹的名字上得到了重复,但赔率我不认识。我认为问题之所以出现,是因为有些比赛没有地方市场,只有胜利市场,这使事情变得混乱。下面是左侧中奖桌的示例,右侧中奖桌。
Time Horse Odds Result Time Horse Odds_P Result_P
13:55 Go faster 5.0 1 13:55 Go faster 5.0 1
14:10 Slow down 4.0 0
我希望能够添加Odds_P和Result_P以便更快地进入获胜数据帧的末尾,并删除没有相应的地方市场的条目。
我已经尝试过concat,join和merge,所有这些都为我呈现了一些马名的副本,但赔率我却不认识。
任何帮助将不胜感激
答案 0 :(得分:1)
如果我对您的理解正确,则您的odds_p数据帧如下所示:
Time Horse Odds Result
0 13.55 Go faster 5.0 1
1 14:10 Slow down 4.0 0
result_p如下:
Time Horse Odds_P Result_P
0 13.55 Go faster 5.0 1
我将odds_p数据帧的最后两列重命名为Odds_P和Result_P:
odds_p.rename(columns = {'Odds':'Odds_P', 'Result':'Result_P'}, inplace = True)
现在使用RIGHT连接合并两者:
final_p = pd.merge(odds_p, result_p, on = ['Time', 'Horse', 'Odds_P', 'Result_P'], how = 'right')
您的最终输出将如下所示:
Time Horse Odds_P Result_P
0 13.55 Go faster 5.0 1