有谁知道如何从几个不同的人的文本文件中提取平均值?
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
我有一个文本文件 (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