Pandas - 合并两个数据帧添加不需要的行

时间:2016-06-09 00:56:11

标签: python pandas data-structures dataframe merge

这是我的问题。在2015年MLB对决的ML项目的背景下,我有两个数据帧:

一个数据框,其中包含2015赛季的比赛详情,以及我预测模型的结果(下图)。

enter image description here

还有另一个数据框,还有2015赛季的比赛细节以及每支球队在特定比赛中的奇数。

enter image description here

我的目标是使用匹配详细信息列合并两个数据框作为键(" Visitor_Team"," V_Team_PTS"," Home_Team",H_Team_PTS)以获得赔率并且我的模型的结果对应于每个对应(每个观察)以供进一步分析。

所以我尝试了以下代码:

df = pd.merge(model_df, odds_df, on = ['Visitor_Team','V_Team_PTS', 'Home_Team','H_Team_PTS'], how = "inner")

它适用于作业的主要部分,但它为我提供了额外的行,因为" merge()"在两个数据帧中查找匹配时,函数不会考虑订单。 所以让我们想象一下如下比赛:

V_Team  V_PTS H_Team  H_PTS   Conf   V_Odds   H_Odds   Date
NYY     3     ARI     4       0.6532 1.45     1.98     06/04/2015

当我实现这个功能的时候,它也会在这两支球队相遇的情况下进行比赛,并且只要相同的分数(无论顺序是3-4,4-3)是否存在并在同一天创建新的一行,具有不同的赔率(这需要其他游戏的赔率)。

所以,我有这样的额外行(只有奇数值不同):

V_Team  V_PTS H_Team  H_PTS   Confidence   V_Odds   H_Odds   Date
NYY     3     ARI     4       0.6532       1.45     1.98     06/04/2015
NYY     3     ARI     4       0.6532       1.75     2.04     06/04/2015
NYY     3     ARI     4       0.6532       2.32     1.45     06/04/2015

以下是一个例子:

enter image description here

这实际上没有任何意义。尽管对熊猫文档进行了大量研究,但我还是没有弄清楚如何避免这种半复制"。有没有人有想法?任何帮助将不胜感激。

0 个答案:

没有答案