【发布时间】:2019-06-08 04:12:44
【问题描述】:
有点宽泛的问题,但我不确定如何获得有关如何改进此代码的指针。
我有一个包含投注赔率和比赛结果的数据框,我想计算投资于某支球队的回报。
我现在拥有的代码可以运行,但我觉得它只是依靠apply 方法并进入 Python 来完成 Pandas 可以做的大部分事情。
这是我的代码:
def compute_payout(odds, amount=1):
if odds < 0:
return amount/(-1.0 * odds/100.0)
elif odds > 0:
return amount/(100.0/odds)
def game_payout(row, team_name):
if row['home_team'] == team_name:
if row['home_score'] > row['away_score']:
return compute_payout(row['home_odds'])
else:
return -1
elif row['away_team'] == team_name:
if row['away_score'] > row['home_score']:
return compute_payout(row['away_odds'])
else:
return -1
payout = df.apply(lambda row: game_payout(row, team_name), axis=1)
非常感谢任何建议!
【问题讨论】:
-
文本而不是图像中的数据将有助于其他人复制它。