我最近参与了一个项目,其中使用 pandas 数据框来存储数据。我目前有两个数据框,其中包含来自体育博彩公司的足球比赛赔率,通过这些数据,我想比较两个博彩公司的赔率,并将最低赔率替换为最高赔率。在尝试实现这一目标的过程中,我似乎陷入了困境。我什至已经将 2 个 if 语句和 5 个 for 循环嵌套在一起,但我似乎仍然无法使其工作。我的代码目前(绝望地)看起来像这样:
for cols in df.columns:
for colus in df1.columns:
if cols == colus:
for game in df.index:
for games in df1.index:
for odd in df[f'{cols}']:
for odds in df1[f'{cols}']:
if fuzz.ratio(game, games) > 90 and odd > odds:
print(odd)
else:
pass
else:
pass
正如你所看到的,我的代码变得越来越混乱,我似乎找不到解决方案。这是我正在使用的数据框的一小部分
如您所见,我迫切需要帮助,并且非常感谢! <3
我会把它分成几块,
第1步,模糊匹配游戏给他们一个game_id
*我会让你解决这个问题
第2步,将游戏id上的两个数据帧合并在一起 df = df.merge(df1, on='game_id', how='outer')
第3步,依次取两列赔率的最小值
df['min_home_odds'] = df[['min_home_x','min_home_y']].min(axis=1)