我有一个输入文件(input.txt),其中包含以下信息:
所以文本文件看起来像这样
4
5
Jane Doe,80,75,90,100,95,68
Sara Jones,65,80,72,90,75,80
Bill Smith,50,70,90,70,55,90
John Foles,95,90,85,80,88
我正在尝试创建一个python程序,它将读取此信息,并将某些值(类平均分数,学生姓名,学生分数等)输出到另一个文件(output.txt)。
我一直在努力,我永远无法让我的程序完成我需要的一切。例如,我只能输出班级平均值,或仅输出一个学生的分数。我无法弄清楚如何输出多个功能。
我真的可以使用一些帮助。
答案 0 :(得分:0)
您将要使用Pandas(另请参阅Pandas Manual)。
首先,将以下内容复制到剪贴板:
Jane Doe,80,75,90,100,95,68
Sara Jones,65,80,72,90,75,80
Bill Smith,50,70,90,70,55,90
John Foles,95,90,85,80,88
接下来,运行以下脚本:
#%% Load Your Data
import pandas as pd
df = pd.read_clipboard(sep = ',')
# YOU WILL HAVE TO LOAD YOUR ACTUAL DATA AS FOLLOWS:
# file_path = 'path/to/your/file.txt'
# df = pd.read_csv()
number_of_students = df.shape[0]
number_of_tests = df.shape[1] -1 # This is the number of columns you have
score_names = ['score' + str(number+1) for number in range(number_of_tests)]
df.columns = ['student'] + score_names # Prepares the column names
df.set_index('student',inplace=True) # Makes the student names the index
#%% Calculate Maximum, Minimum and Average Class Score per test
score_summaries = df.describe()
#%% Calulate the average score for all students across all tests
average_exam_score = df.mean().mean()
#%% A single students' score
df.loc['Sara Jones']
该脚本将计算您的几个请求。它没有做的一件事就是加载你的文件(你必须删除包含学生数量和测试分数的行,但不用担心,它会从分数数据本身重新计算)。我已经在评论中提供了关于如何执行此操作的提示,并留给您实施。
我鼓励您仔细阅读并探索删除某些内容或更改其他内容的内容。
最后,我代表SO社区说欢迎!我知道你好像是一个艰难的开始(包括所有的投票和所有)但是不要让你沮丧。阅读How to ask a good question,请回来,帮助我们一起学习!