Python 如何在pandas中添加一列,该列是基于多个条件的行的平均值
有人能帮我在数据框中添加一个新列吗。我有一个包含几个赛季的足球比赛的数据框,数据框中的行是:踢球日期、赛季、队1名称、队2名称、队1目标、队2目标。在新的专栏中,我希望每个球队都有一个赛季迄今为止的平均进球数(应以日期为基础),并且每个球队都有一个包含上赛季平均进球数的专栏。当球队在主场和客场比赛时,平均进球数应该都是。所有球队至少在主场比赛一次,并且在df['team1_name'].unique()中存在。find_start_of_season(date)是一个基于开始日期返回去年8月的函数 我的最佳猜测是本季迄今为止:Python 如何在pandas中添加一列,该列是基于多个条件的行的平均值,python,pandas,dataframe,Python,Pandas,Dataframe,有人能帮我在数据框中添加一个新列吗。我有一个包含几个赛季的足球比赛的数据框,数据框中的行是:踢球日期、赛季、队1名称、队2名称、队1目标、队2目标。在新的专栏中,我希望每个球队都有一个赛季迄今为止的平均进球数(应以日期为基础),并且每个球队都有一个包含上赛季平均进球数的专栏。当球队在主场和客场比赛时,平均进球数应该都是。所有球队至少在主场比赛一次,并且在df['team1_name'].unique()中存在。find_start_of_season(date)是一个基于开始日期返回去年8月的函
df['team1_avg_goals_this_season'] = [[df.between_time(find_start_of_season(j), j)[df['team1_name'] == i]['team1_goals']+[df.between_time(find_start_of_season(j), j)[df['team2_name'] == i]['team2_goals']].mean() for i in df['team1_name'].unique()] for j in df['kick_off_datetime'].unique()]
关于上赛季的平均水平,我最好的猜测是:
df['team1_avg_goals_last_season'] = [[df[(((df['team1_name'] == i) & (df['season'] == j))]['declared_inj_time'].mean() for i in df['team1_name'].unique()] for j in df['season'].unique()]
这些都是不正确的,我希望任何人都知道一个更好的解决办法。提供了一个示例(代码段):
开始约会
季节
团队1_名称
团队2_名称
团队1_目标
团队2_目标
10/8/2018
2018-2019
曼联
莱斯特
2.
1.
11/8/2018
2018-2019
伯恩茅斯
加的夫
2.
0
11/8/2018
2018-2019
富勒姆
水晶宫
0
2.
11/8/2018
2018-2019
哈德斯菲尔德
切尔西
0
3.
11/8/2018
2018-2019
纽卡斯尔
托特纳姆
1.
2.
11/8/2018
2018-2019
沃特福德
布莱顿
2.
0
11/8/2018
2018-2019
狼
埃弗顿
2.
2.
12/8/2018
2018-2019
兵工厂
曼城
0
2.
12/8/2018
2018-2019
利物浦
西汉姆
4.
0
12/8/2018
2018-2019
南安普顿
伯恩利
0
0
18/8/2018
2018-2019
加的夫
纽卡斯尔
0
0
18/8/2018
2018-2019
切尔西
兵工厂
3.
2.
18/8/2018
2018-2019
埃弗顿
南安普顿
2.
1.
18/8/2018
2018-2019
莱斯特
狼
2.
0
18/8/2018
2018-2019
托特纳姆
富勒姆
3.
1.
18/8/2018
2018-2019
西汉姆
伯恩茅斯
1.
2.
19/8/2018
2018-2019
布莱顿
曼联
3.
2.
19/8/2018
2018-2019
伯恩利
沃特福德
1.
3.
19/8/2018
2018-2019
曼城
哈德斯菲尔德
6.
1.
20/8/2018
2018-2019
水晶宫
利物浦
0
2.
25/8/2018
2018-2019
兵工厂
西汉姆
3.
1.
25/8/2018
2018-2019
伯恩茅斯
埃弗顿
2.
2.
25/8/2018
2018-2019
哈德斯菲尔德
加的夫
0
0
25/8/2018
2018-2019
利物浦
布莱顿
1.
0
25/8/2018
2018-2019
南安普顿
莱斯特
1.
2.
25/8/2018
2018-2019
狼
曼城
1.
1.