有谁知道如何从几个不同的人的文本文件中提取平均值?

Does anyone know how to pull averages from a text file for several different people?

我有一个文本文件 (Player_hits.text),我正试图从中提取球员的击球率。类似于第 179-189 行,我想找到一个平均值。但是,我不想找到整个团队的平均值。相反,我想找到团队中每个球员的平均值。

例如,文本文件是这样设置的: Player_hits.txt

在此文件中,1 定义命中,0 表示玩家没有命中。我正在尝试为两名球员拉出个人平均水平。 (亚历克斯 = 0.500,莱利 = 0.666) 如果有人可以提供帮助,将不胜感激! 谢谢!

Link 到 repl.it 上的原始代码:Baseball Stat-Tracking

JSONDecodeError Image

import pandas as pd
import json

p_hits = []

with open('Player_hits.txt') as hits:
    for line in hits:
        l = json.loads(line)
        p_hits.append(l)


df = pd.DataFrame.from_records(p_hits, colmuns=[hit, name])

df.groupby(['name']).mean()

json.decoder.JSONDecodeError: 即将到来,因为 json.loads() 不会将其解释为(每一行,'[[1, 'Riley']\n' 为有效的 json 格式。您可以使用 ast 将该列表作为文字评估读取,从而将其作为列表元素 [', 'Riley'] 存储在 p_hits.

列表中

然后第二部分是您可以转换为数据框并按 'name' 列分组。所以吉姆的想法是正确的,但也有错误(即 colmuns 应该是 columns,列表中的项目需要是字符串 ['hit','name'],而不是未声明的变量。

import pandas as pd
import ast

p_hits = []

with open('Player_hits.txt') as hits:
    for line in hits:
        l = ast.literal_eval(line)
        p_hits.append(l)

df = pd.DataFrame(p_hits, columns=['hit', 'name'])

输出: 使用我制作的示例数据集

print(df.groupby(['name']).mean())
            hit
name           
Matt   0.714286
Riley  0.285714
Todd   0.500000