【发布时间】:2020-07-28 19:54:20
【问题描述】:
我有一个包含英超联赛足球数据的数据集:
HomeTeam AwayTeam FTHG FTAG
0 Liverpool Norwich 4 1
1 West Ham Man City 0 5
2 Bournemouth Sheffield United 1 1
3 Burnley Southampton 3 0
... ... ... ... ...
其中“FTHG”和“FTAG”分别是主队的全职进球和客队的进球。 我需要编写一个函数,根据结果(以数据框的形式)计算最终的英超联赛表。我写的是这个函数:
def calcScore(row):
if PL_df.iloc[row]['FTHG'] > PL_df.iloc[row]['FTAG']:
x = 3
y = 0
elif PL_df.iloc[row]['FTHG'] < PL_df.iloc[row]['FTAG']:
x = 0
y = 3
elif PL_df.iloc[row]['FTHG'] == PL_df.iloc[row]['FTAG']:
x = 1
y = 1
return x,y
这有效,例如第一行它给出这个输出:
in[1]: calcScore(0)
out[1]: (3,0)
现在我需要使用 apply() 创建两列 HP 和 AP,分别包含主队和客队获得的积分数。但我想不出办法。
我希望我已经足够清楚了。提前谢谢你。
【问题讨论】:
标签: python pandas list function tuples