数据分析作业8

数据分析作业8

练习1

  • 通过 Pandas 创建 学生成绩表的 excel 文件
import pandas as pd
import numpy as np

stu_names = ["胡歌","林更新","金世佳","丑娟"]
courses = ['语文', '数学', '英语', 'Python', '体育']
data = np.array([[87., 74., 98., 84., np.nan],[79., 69., 61., 99., np.nan],[84., 84., 94., 66., np.nan],[90., 60., 72., 90., np.nan]])

# 通过 pandas 的 DataFrame 创建数据表,并保存数据
course_df = pd.DataFrame(data,index=stu_names,columns=courses)
course_df.to_excel("学生成绩表.xlsx")

学生成绩表

  • 再通过 Pandas 创建 选修成绩表的 excel 文件
ele_names = ["胡歌","林更新","金世佳","丑娟"]
ele_courses = ['统计学', '日语']
ele_data = np.array([[85., np.nan],[np.nan, 69.],[np.nan, 95.],[80., np.nan]])

ele_course_df = pd.DataFrame(ele_data,index=ele_names,columns=ele_courses)
ele_course_df.to_excel("选修成绩表.xlsx")

选修成绩表

练习2

  • 读取两表数据,注意:此时需指定行索引为第一列。
course_data = pd.read_excel('学生成绩表.xlsx',index_col=[0])
ele_course_data = pd.read_excel('选修成绩表.xlsx',index_col=[0])

– 学生成绩表数据:
学生成绩数据
– 选修成绩表数据:
选修成绩数据

练习3

  • 因为体育课全被数学老师抢了,所以学生成绩表中的体育期末成绩全为空,将其删除。
total_courses = course_data.drop(axis=0,columns='体育')

修改学生成绩

  • 学生成绩表.xlsx 中没有选修的数据,将 选修成绩表.xlsx 的数据添加到 学生成绩表 中。
def merge_courses(original_courses,new_courses):
    for course_i in range(new_courses.shape[1]):
        course = new_courses.iloc[:,course_i]
        original_courses[course.name] = course
    return original_courses
        
total_courses = merge_courses(total_courses,ele_course_data)

合并成绩

  • 可以观察出来,此时的数据每个人都是五门课程,现在需添加一列 总成绩 来求得每位学生的总成绩。(pandas中有df.sum(axis=1)来进行求每行的数据之和,并且gnan跳过。)
# 添加一列 总成绩 来求得每位学生的总成绩
total_courses['总成绩'] = total_courses.sum(axis=1)

# 创建 学生总成绩表的 excel 文件,并保存数据
total_courses.to_excel("学生总成绩.xlsx")

学生总成绩

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值