我有一个python数据框,其中包含多个季节的NHL Player数据。我正在尝试删除2018-2019年未参加比赛的所有玩家行。例如,如果乔·琼斯(Joe Jones)在2018-2019赛季出战,我希望保留该赛季以及他参加的任何其他赛季的数据。
我在想代码看起来像这样:
for player in data.players:
if data['Year'] == '2018-2019':
save player's name
else:
remove player's data
例如,我的数据框如下所示
Year Player TM GP
2018-2019 Joe MTL 78
2017-2018 Joe MTL 82
2016-2017 Joe MTL 80
2017-2018 Jim STL 76
2016-2017 Jim STL 82
2018-2019 Jack MIN 82
结果将是:
Year Player TM GP
2018-2019 Joe MTL 78
2017-2018 Joe MTL 82
2016-2017 Joe MTL 80
2018-2019 Jack MIN 82
答案 0 :(得分:5)
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
if (this.auth.isLoggedIn()) {
this.router.navigate(['/confirm'], { queryParams: route.queryParams });
} else {
return true;
}
}
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
if (!this.auth.isLoggedIn()) {
this.router.navigate(['/login'], { queryParams: route.queryParams });
} else {
return true;
}
}
相同,但使用groupby.filter
数组而不是df.groupby('Player').filter(lambda d: '2018-2019' in {*d.Year})
Year Player TM GP
0 2018-2019 Joe MTL 78
1 2017-2018 Joe MTL 82
2 2016-2017 Joe MTL 80
5 2018-2019 Jack MIN 82
values
set