练习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””