Python Pandas 数据分析实战:学生成绩分析
import pandas as pd
# 读取数据生成DataFrame数据类型
df = pd.read_csv('score.csv', header=None, names=['name', 'id', 'course', 'score'])
# (1)计算并显示不及格学生姓名,学号,课程名,成绩。
fail = df[df['score'] < 60] # 筛选不及格成绩的数据行
fail[['name', 'id', 'course', 'score']].reset_index(drop=True) # 输出不及格学生信息
# (2)计算并输出数据集中各课程的平均成绩。
avg_score = df.groupby('course')['score'].mean() # 按课程名分组计算平均成绩
print(avg_score)
# (3)计算显示英语成绩最低分学生信息。
min_english = df[df['course'] == '英语']['score'].idxmin() # 找到英语成绩最低分的数据行
df.loc[min_english, ['name', 'id', 'course', 'score']] # 输出英语成绩最低分学生信息
使用 Pandas 进行学生成绩分析
本教程将带你使用 Python Pandas 库对学生成绩数据进行分析。
步骤:
- 读取数据: 使用
pd.read_csv()函数读取名为score.csv的文件,并将其转换为 DataFrame 数据类型。 - 筛选不及格学生信息:使用条件语句
df['score'] < 60筛选出不及格成绩的学生信息,并使用[['name', 'id', 'course', 'score']].reset_index(drop=True)获取姓名、学号、课程名和成绩。 - 计算课程平均成绩:使用
groupby()函数对course列进行分组,然后使用mean()函数计算每个课程的平均成绩。 - 查找英语成绩最低分学生信息:使用
df[df['course'] == '英语']['score'].idxmin()找到英语成绩最低分的数据行的索引,然后使用df.loc[min_english, ['name', 'id', 'course', 'score']]获取该学生的姓名、学号、课程名和成绩。
代码示例:
import pandas as pd
# 读取数据生成DataFrame数据类型
df = pd.read_csv('score.csv', header=None, names=['name', 'id', 'course', 'score'])
# (1)计算并显示不及格学生姓名,学号,课程名,成绩。
fail = df[df['score'] < 60] # 筛选不及格成绩的数据行
print(fail[['name', 'id', 'course', 'score']].reset_index(drop=True)) # 输出不及格学生信息
# (2)计算并输出数据集中各课程的平均成绩。
avg_score = df.groupby('course')['score'].mean() # 按课程名分组计算平均成绩
print(avg_score)
# (3)计算显示英语成绩最低分学生信息。
min_english = df[df['course'] == '英语']['score'].idxmin() # 找到英语成绩最低分的数据行
print(df.loc[min_english, ['name', 'id', 'course', 'score']]) # 输出英语成绩最低分学生信息
通过以上步骤,你可以使用 Pandas 库轻松地对学生成绩数据进行分析。
注意:
- 以上代码示例中,假设你已经将成绩数据保存为名为
score.csv的文件,并且该文件位于与代码相同的目录中。 - 你可以根据实际情况修改代码中的文件名和数据列名。
- 在实际应用中,你可能需要进行更多的数据清洗和处理,以确保数据的准确性和完整性。
希望本教程能够帮助你更好地理解 Pandas 库的用法,并进行学生成绩分析。
原文地址: https://www.cveoy.top/t/topic/opND 著作权归作者所有。请勿转载和采集!