原文链接在此。
下载例子中用到的csv文件请点击这里。
处理数据方面,Python最重要的一个包就是Pandas,所以尽量使用pandas来处理更多的问题我觉的是最合适的。
DataFrame.isin(values)
功能:来查看参数values是否在Series/Data Frame里边,是的话就返回按DataFrame分布布尔值True,否则False
values
: Series, List, Tuple, DataFrame 或其dictionary 。
多变量筛选
import pandas as pd """ · 从isin()函数中创建gender = male 的布尔值列表,再应用到数据中;· 先创建N个子筛选条件,再用 `AND` 或者 `&` 合并子条件:"""df = pd.read_csv("employees.csv") filter1 = df["Gender"].isin(["Female"]) filter2 = df["Team"].isin(["Engineering", "Distribution", "Finance" ]) a = df[filter1 & filter2] # 此处表示两个条件同时满足print(a)
输出:
单变量筛选同理。
pandas.DataFrame.isin(version 0.24.1)。
举例:
df = pd.DataFrame({'num_legs': [2, 4], 'num_wings': [2, 0]},index=[;falcon', 'dog'])print(df)# df如下:num_legs num_wingsfalcon 22dog 40
如果想知道df
是否包含这几个对象(列表类型):
print(df.isin([0, 2]))# 结果如下num_legs num_wingsfalconTrue Truedog False True
如果想知道df
的某列是否包含给定的对象(字典类型):
print(df.isin({'num_wings': [0, 3]})# 结果如下num_legs num_wingsfalconFalseFalsedog False True
如果我们要查询的对象是一个DaraFrame呢?
haha = pd.DataFrame({'num_legs': [8, 2], 'num_wings': [0, 2]},index=['spider', 'falcon'])print(df.isin(haha))# 结果如下num_legs num_wingsfalconTrue Truedog FalseFalse