本文同步发表于小弟自架网站:微确幸资讯站
以下的课程的课名来自公开资料,但教师、学生姓名及其他栏位均为虚构资料(人名为乱数产生)。
假设我们有一个Excel资料档,记录了学校的优良课程。
我们想从所有学生的选课资料中了解选修优良课程的学生资料。
import pandas as pdLocation = '0000_範例_优良课程_学生选课.xlsx'df1 = pd.read_excel(Location, sheet_name='範例优良课程')print(len(df1))print(df1.columns)df1.head()
output:
df2 = pd.read_excel(Location, sheet_name='範例学生选课')print(len(df2))print(df2.columns)df2.head()
output:
# 第一种方法df = pd.merge(df2, df1[['学年', '学期', '课号']], on=['学年', '学期', '课号'])print(len(df))print(df.columns)df.head()
output:
# 第二种方法df = df2[df2.set_index(['学年', '学期', '课号']).index.isin(df1.set_index(['学年', '学期', '课号']).index)]print(len(df))df.head()
output: