Python学习笔记: Pandas 多栏位、多条件筛选

本文同步发表于小弟自架网站:微确幸资讯站

以下的课程的课名来自公开资料,但教师、学生姓名及其他栏位均为虚构资料(人名为乱数产生)。

假设我们有一个Excel资料档,记录了学校的优良课程。
http://img2.58codes.com/2024/20122335VDI3cZuSBO.jpg

我们想从所有学生的选课资料中了解选修优良课程的学生资料。
http://img2.58codes.com/2024/20122335R5EJjkF1Uu.jpg

import pandas as pdLocation = '0000_範例_优良课程_学生选课.xlsx'df1 = pd.read_excel(Location, sheet_name='範例优良课程')print(len(df1))print(df1.columns)df1.head()

output:
http://img2.58codes.com/2024/20122335sCvgf3I9jz.jpg

df2 = pd.read_excel(Location, sheet_name='範例学生选课')print(len(df2))print(df2.columns)df2.head()

output:
http://img2.58codes.com/2024/20122335T8fehZiTvZ.jpg

# 第一种方法df = pd.merge(df2, df1[['学年', '学期', '课号']], on=['学年', '学期', '课号'])print(len(df))print(df.columns)df.head()

output:
http://img2.58codes.com/2024/20122335sTPzyUWjoT.jpg

# 第二种方法df = df2[df2.set_index(['学年', '学期', '课号']).index.isin(df1.set_index(['学年', '学期', '课号']).index)]print(len(df))df.head()

output:
http://img2.58codes.com/2024/20122335fmToCcViC1.jpg


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章