本文同步發表於小弟自架網站:微確幸資訊站
以下的課程的課名來自公開資料,但教師、學生姓名及其他欄位均為虛構資料(人名為亂數產生)。
假設我們有一個Excel資料檔,記錄了學校的優良課程。
我們想從所有學生的選課資料中了解選修優良課程的學生資料。
import pandas as pd
Location = '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: