如何编写从数据帧返回两个变量的函数

2024-05-15 08:56:26 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我现在正在学校做一个项目

这是我的数据帧

Div Date    Time    HomeTeam    AwayTeam    FTHG    FTAG    FTR HTHG    HTAG    ... AvgC<2.5    AHCh    B365CAHH    B365CAHA    PCAHH   PCAHA   MaxCAHH MaxCAHA AvgCAHH AvgCAHA
0   E0  09/08/2019  20:00   Liverpool   Norwich 4   1   H   4   0   ... 3.43    -2.25   1.91    1.99    1.94    1.98    1.99    2.07    1.90    1.99
1   E0  10/08/2019  12:30   West Ham    Man City    0   5   A   0   1   ... 2.91    1.75    1.95    1.95    1.96    1.97    2.07    1.98    1.97    1.92
2   E0  10/08/2019  15:00   Bournemouth Sheffield United    1   1   D   0   0   ... 1.92    -0.50   1.95    1.95    1.98    1.95    2.00    1.96    1.96    1.92
3   E0  10/08/2019  15:00   Burnley Southampton 3   0   H   0   0   ... 1.71    0.00    1.87    2.03    1.89    2.03    1.90    2.07    1.86    2.02
4   E0  10/08/2019  15:00   Crystal Palace  Everton 0   0   D   0   0   ... 1.71    0.25    1.82    2.08    1.97    1.96    2.03    2.08    1.96    1.93
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
283 E0  07/03/2020  15:00   Wolves  Brighton    0   0   D   0   0   ... 1.74    -0.75   1.98    1.92    2.01    1.92    2.03    1.99    1.94    1.93
284 E0  07/03/2020  17:30   Burnley Tottenham   1   1   D   1   0   ... 1.74    0.00    1.95    1.95    1.96    1.97    2.00    2.01    1.94    1.92
285 E0  08/03/2020  14:00   Chelsea Everton 4   0   H   2   0   ... 2.13    -0.50   1.85    2.05    1.88    2.04    2.00    2.11    1.86    2.01
286 E0  08/03/2020  16:30   Man United  Man City    2   0   H   1   0   ... 1.97    0.75    1.87    2.03    1.85    2.07    1.91    2.11    1.87    2.01
287 E0  09/03/2020  20:00   Leicester   Aston Villa 4   0   H   1   0   ... 2.28    -1.00   1.85    2.05    1.88    2.05    1.91    2.08    1.86    2.01

我被要求编写一个函数,该函数取一行并返回两个变量,即FTHG和FTAG列中主队和客队的点数

该项目还增加了

计算分数的规则如下:如果两个队在比赛结束时得分相同,每个队得1分。否则,得分更多的球队得3分,而失利的球队得0分

我正在为这个问题苦苦挣扎,目前我想不出一个办法来提出这个问题。有人能帮我吗


Tags: 数据项目函数divcitydate学校united
1条回答
网友
1楼 · 发布于 2024-05-15 08:56:26

您可以定义自定义函数并与pandas.DataFrame.apply一起使用:

def give_point(row):

    if row['FTHG'] > row['FTAG']:
        row['PointsHG'] = 3
        row['PointsAG'] = 0

    elif row['FTHG'] < row['FTAG']:
        row['PointsHG'] = 0
        row['PointsAG'] = 3

    else:
        row['PointsHG'] = 1
        row['PointsAG'] = 1

    return row


df = df.apply(lambda row: give_point(row), axis=1)

相关问题 更多 >