筛选前后数据
背景:
Pandas实现excel筛选数据功能,例:年龄在20岁到25岁,分数大于90分的数据
20<=Age<=25, Score>90
方法一:
DataFrame[criteria]:criteria数据筛选规则
import pandas as pd
df=pd.read_excel("D:\\python_pandas\\sample\\demo06\\Students.xlsx",index_col="ID")
#多条件筛选,(xxx)填写筛选条件
#AND 条件的运算符为 & ,OR 条件的运算符为 |
condition = (20<=df["Age"])&(df["Age"]<=25)&(df["Score"]>90)
data_df = df[condition]
print(data_df.head())
输出结果:
Name Age Score
ID
6 Student_006 20 93
20 Student_020 20 94
方法二:
使用Series的apply方法,对一列中的每个元素执行入参的函数
def validate_age(a):
return 20<= a <= 25
def level_b(s):
return 90 < s
data_df = df.loc[df['Age'].apply(validate_age)]\
.loc[df["Score"].apply(level_b)]
print(data_df.head())
输出结果:
Name Age Score
ID
6 Student_006 20 93
20 Student_020 20 94