第6节,pandas实现更复杂的数据筛选

上一篇的数据筛选比较简单,是在某一列上进行数据筛选,实践中,筛选条件往往更复杂,比如要求你筛选出年龄大于20岁的女员工并写入到一个新的sheet中。

基本思路是不变的,你只需要掌握一个新的pandas技能就可以了

import pandas as pd

result_file = "./data/数据筛选.xlsx"
df = pd.read_excel(result_file)

target_excel = "./data/年龄大于20的女员工.xlsx"
writer = pd.ExcelWriter(target_excel, engine='openpyxl')

filter_df = df[(df['年龄'] >= 20) & (df['性别'] == "女")]
filter_df.to_excel(writer, sheet_name="年龄大于20的女员工", index=False)
writer.save()

注意看这行代码

filter_df = df[(df['年龄'] >= 20) & (df['性别'] == "女")]

年龄和 性别分别做了筛选,两个筛选条件使用 & 连接,表示并的关系, 筛选出的数据就符合年龄大于20性别为女的要求。

如果筛选条件是年龄小于20岁或者性别为男,那么就需要在连个筛选条件之间使用 | 连接

filter_df = df[(df['年龄'] < 20) & (df['性别'] == "男")]

扫描关注, 与我技术互动

QQ交流群: 211426309

加入知识星球, 每天收获更多精彩内容

分享日常研究的python技术和遇到的问题及解决方案