作业

tech2023-01-05  104

练习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]]) lesson_score = pd.DataFrame(data,index = stu_names, columns = courses) lesson_score

如图所示:

保存到excel表格当中命名为 ”学生成绩单.xlsx”

course_df.to_excel("学生成绩表.xlsx")

再通过 Pandas 创建 学生成绩表的 excel 文件 。参考数据如下(可自己构建): 创建选修成绩表.xlsx

代码如下:

t_names = ["胡歌","林更新","金世佳","丑娟"] t_courses = ['统计学', '日语'] t_data = np.array([[85., np.nan],[np.nan, 69.],[np.nan, 95.],[80., np.nan]]) t_lesson_score = pd.DataFrame(t_data,index=t_names,columns=t_courses) t_lesson_score

结果如图所示:

保存到excel表格当中命名为 ”选修成绩表.xlsx”

t_lesson_score.to_excel("选修成绩表.xlsx")

练习2 读取两表数据,注意:此时需指定行索引为第一列。

# 读取列表并指定行索引为第一列 t_lesson_score = pd.read_excel("选修成绩表.xlsx",index_col=[0]) lesson_score = pd.read_excel("学生成绩表.xlsx",index_col=[0]) t_lesson_score lesson_score

结果 练习3 • 因为体育课全被数学老师抢了,所以学生成绩表中的体育期末成绩全为空,将其删除。 • 学生成绩表.xlsx 中没有选修的数据,将 选修成绩表.xlsx 的数据添加到 学生成绩表 中。 • 可以观察出来,此时的数据每个人都是五门课程,现在需添加一列 总成绩 来求得每位学生的总成绩。(pandas中有df.sum(axis=1)来进行求每行的数据之和,并且gnan跳过。)

因为体育课全被数学老师抢了,所以学生成绩表中的体育期末成绩全为空,将其删除。

lesson_score.drop("体育",axis=1,inplace=True)

学生成绩表.xlsx 中没有选修的数据,将 选修成绩表.xlsx 的数据添加到 学生成绩表 中。

代码如下:

lesson_score["统计学"] = t_lesson_score["统计学"] lesson_score["日语"] = t_lesson_score["日语"] lesson_score

结果如下:

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

代码如下:

lesson_score["总成绩"] = lesson_score.sum(axis=1) lesson_score

结果如下:

保存到excel表格当中命名为 ”“总表.xlsx””

最新回复(0)