是否可以动态过滤数据帧?
例如,如果我有下面的字典,其中包含可变数量的键值对,那么如何动态过滤数据框?
x = {
"date": "2018-10-01",
"color": "red"
}
我可以做到
df.filter(df["date"] == x["date"] & df["color"] == x["color"])
但是字典可以有可变数量的键值对,例如“ shape”:“ circle”,所以我必须添加到过滤器中。或者,如果字典只有一个kvp,则应仅在该列上进行过滤。有没有一种方法可以根据字典动态构建过滤器?
谢谢
答案 0 :(得分:3)
由于逻辑运算符为AND
,因此您可以简单地在循环中创建连续过滤的数据帧:
for col in x:
df = df.filter(df[col] == x[col])