python - 如何将列与列组合以获取数据列表中的结果(Python)?
问题描述
我正在使用 Python 中的 CSV 文件。我试图阅读并将其拆分为一个列表:
# read file
with open("StudentsPerformance.csv") as file:
data = file.read().split("\n")
header = data[0]
students = data[1:]
# remove last student (empty student)
students.pop()
# get total number of students
total_student = len(students)
# split header
header = header.split(",")
subjects = header[5:]
# split each student in list
for i in range(len(students)):
students[i] = students[i].split(",")
for i in range(len(students)):
print(students[i])
然后,我有一个数据列表,如:
['female', 'group B', "bachelor's degree", 'standard', 'none', '72', '72', '74']
['female', 'group C', 'some college', 'standard', 'completed', '69', '90', '88']
['female', 'group B', "master's degree", 'standard', 'none', '90', '95', '93']
['male', 'group A', "associate's degree", 'free/reduced', 'none', '47', '57', '44']
['male', 'group C', 'some college', 'standard', 'none', '76', '78', '75']
['female', 'group B', "associate's degree", 'standard', 'none', '71', '83', '78']
['female', 'group B', 'some college', 'standard', 'completed', '88', '95', '92']
每列的名称是性别、种族、父母教育程度、备考课程、数学成绩、阅读成绩和写作成绩。
那么,我怎样才能得到每个组性别(女性、男性)的三个科目(数学、阅读、写作)的平均成绩?比如女性的平均分是 83.33,男性是 63.83。
我不能使用熊猫库。
谢谢你。
解决方案
以下代码将为您提供男性和女性的平均值:
maleScore = 0
femaleScore = 0
noOfMales = 0
noOfFemales = 0
for student in students:
if student[0] == "male":
maleScore += float(student[5])
maleScore += float(student[6])
maleScore += float(student[7])
noOfMales += 1
else:
femaleScore += float(student[5])
femaleScore += float(student[6])
femaleScore += float(student[7])
noOfFemales += 1
maleAverageScore = maleScore/(noOfMales*3)
femaleAverrageScore = femaleScore /(noOfFemales*3)
推荐阅读
- python - 执行循环时如何在数据框中添加额外的行
- php - 安装 Laravel - OpenSSL 问题
- c# - 使用 ASP.NET 创建应用程序发布自动化工具的最佳方法是什么?
- javascript - 如何为每组单词突出显示一个单词?
- c++ - 如何使用 OpenMP 减少嵌套循环?
- docker - 更新正在运行的 docker 镜像
- html - 如何在用户注册过程中使用 Firebase 身份验证保存额外信息
- java - 有没有办法在使用列表时不会更改列表中的原始值?
- c# - UWP/C++/Windows 运行时组件 - 无法加载文件或程序集“Microsoft.AppCenter.Analytics”
- javascript - 为什么惰性量词后跟问号会变得贪婪?