我正在创建一个表,并通过一个名为“passer\u player\u name”的变量将其分组
data.loc[(data['play_type'] == 'pass') & (data['down'] <= 4)].groupby(by='passer_player_name')[['epa']].mean()
passer_index = data.loc[(data['play_type'] == 'pass') & (data['down'] <= 4)].groupby(by='passer_player_name')[['epa', 'success','yards_gained']].mean()
passer_index['attempts'] = data.loc[(data['play_type'] == 'pass') & (data['down'] <= 4)].groupby(by='passer_player_name')['epa'].count()
这给出了以下输出(几个示例行):
epa success yards_gained attempts
passer_player_name
L.Jackson 0.336 0.48 6.9 335
K.Cousins 0.295 0.50 7.1 363
P.Mahomes 0.285 0.50 7.4 368
我接下来要做的是使用“passer\u player\u name”列抓取/排序我的表,但是从技术上讲,这不是表的一部分。我试着做了以下工作:
passer_index['team_names'] = data.loc[(data['play_type'] == 'pass') & (data['down'] <= 4)].groupby(by='passer_player_name').posteam
不幸的是,这在添加的“团队名称”列中给出了以下内容(这是一个示例行):
(L.Jackson, [BAL, BAL, BAL, BAL, BAL, BAL, BAL...
我怎样才能得到一个只写一次团队名称的列,比如一个只输出“BAL”的列(每个玩家的团队显然不同)?你知道吗
因为我显然无法显示整个数据集以及数据来自何处,所以我的问题基本上是:
我怎么能从这句台词中得知:
(L.Jackson, [BAL, BAL, BAL, BAL, BAL, BAL, BAL...
只是写着“BAL”的一行?我如何从这个系列/序列/任何东西中提取数据?你知道吗
为团队名称创建一个映射,如下所示:
然后可以这样合并:
输出:
我写了一个html scraper,建议我可以修改它来帮助您,它从https://fantasyfootballers.org/rb-running-back-nfl-stats/中获取所有快速的信息。只要#Look for table部分有正确的“table”索引,就可以刮除站点上的任何表,因为通常在要获取的数据之前有几个表,所以可以在其他站点上尝试。我用它从维基百科上为你得到了QB,行必须是table=汤。全部找到('表')[0]
相关问题 更多 >
编程相关推荐