use*_*er1 5 dynamic filter apache-spark pyspark
是否可以动态过滤数据帧?
例如,如果我有以下带有可变数量键值对的字典,如何动态过滤数据帧?
x = {
"date": "2018-10-01",
"color": "red"
}
Run Code Online (Sandbox Code Playgroud)
我可以做这个
df.filter(df["date"] == x["date"] & df["color"] == x["color"])
Run Code Online (Sandbox Code Playgroud)
但字典可以有可变数量的键值对,比如“形状”:“圆”,所以我必须添加到过滤器。或者,如果字典只有一个 kvp,它应该只过滤该一列。有没有办法根据字典动态构建过滤器?
谢谢
由于您的逻辑运算符是AND,您可以简单地在循环中创建连续过滤的数据帧:
for col in x:
df = df.filter(df[col] == x[col])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6076 次 |
| 最近记录: |