从JSON响应使用列表列表来显示使用Python的多列的平均值

2024-09-26 17:44:46 发布

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

如果我有一个列表,我从一个API响应中得到,我想找到平均值,我正在看两个或更多不同的响应(比如说我看棒球比赛中的两个不同的球员)。我想用pandas数据框来显示每个玩家的平均值,但我不希望它把他们的平均值重新打印出来,就在下面看到的其他玩家的平均值之下。你知道吗

假设我有一个API地址,我只需要更改变量players就可以得到下一个player的统计信息。你知道吗

'stats.mlb.com/mlb/2014-15/gamelog/'+player+'&SeasonType=Regular+Season'

所以如果我想看多个玩家,我会创建一个for循环,循环遍历我感兴趣的玩家列表:

下面是我打印时得到的答复测向平均值()我从多个参与者的列表中得到的响应:

p-玩家ID

P   4100
H   55
R   27
ER  24
HR  5 
BB  19

P   4200
H   44
R   30
ER  24
HR  8 
BB  22
.
.
.

目前我有一个for循环,循环遍历每个player ID,将新的ID分配给API地址的末尾,然后我获得响应并创建一个dataframe,在其中我感兴趣的是从中获得平均值。你知道吗

玩家=['4100','4200','4300'] 对于玩家中的玩家:

URL_PATTERN1='stats.mlb.com/201415/gamelog/'+player+'&SeasonType=Regular+Season'

响应统计=请求。获取(URL\模式1) mlb_data=data_mlb['resultSets'][0]['rowSet']#mlb_data现在是mlb stats列表

每次我转到一个新玩家的ID,它都会创建一个新的数据帧。我希望它能使用熊猫输出它们的平均数据,如下所示:

P   4100   4200   4300   ...
H   55     44     40     ...
R   27     30     25     ...
ER  24     24     28     ...
HR  5      8      9      ...
BB  19     22     20     ...

我想我必须采取以下方法:

  1. 假设我有一个玩家玩过的每一个游戏的列表,我使用测向平均值()以获得平均值
  2. 因为我有不止一个玩家,所以我应该以某种方式将这些平均值存储在另一个列表中,该列表由dataframe创建,如下所示 [[4100,55,27,24,5,19][4200,44,30,24,8,22],[…]]

使用这个平均值列表,然后创建另一个我已经存储了平均值的所有玩家的数据帧?你知道吗

我不知道该怎么做。或者像打印一样容易获得平均值测向平均值()

API响应的游戏日志统计如下所示:

[["0021401229",12425489,"DEN","Denver",4200,"Joe Schmoe",4.25,1.6,1,7,8,39,0,0,20,0,7,9,0.778,0,4,0.000,0.538],["0021401230",12425490,"MIL","Milwaukee",4200,"Joe Schmoe",4.25,1.6,1,7,8,39,0,0,20,0,7,9,0.778,0,4,0.000,0.538],...]

然后程序转到下一个播放器的API响应:

[["0021401229",12425489,"DEN","Denver",4300,"Choe Schmoe",4.25,1.6,1,7,8,39,0,0,20,0,7,9,0.778,0,4,0.000,0.538],["0021401230",12425490,"MIL","Milwaukee",4200,"Joe Schmoe",4.25,1.6,1,7,8,39,0,0,20,0,7,9,0.778,0,4,0.000,0.538],...]

等等。。。我想所有的打印出来,如上图所示或采取平均线一行。你知道吗


Tags: 数据apiid列表datastats玩家hr

热门问题