我有一个值列表:
my_list = ["temp1","temp2", "temp10", "temp15"]
我正试图从列"中删除行;值";具有此列表中的值。
我尝试过的代码:
res = res.filter((res.value == 'temp1') | (res.value == 'temp2') |
(res.value == 'temp10') | (res.value == 'temp15'))
但是,还有其他方法可以直接在列表中循环并进行筛选吗?(因为我的列表有30个元素(。
使用isin
:
res = res.filter(res.value.isin(my_list))
示例:
res = spark.createDataFrame([('temp1',), ('x',)], ['value'])
res.show()
# +-----+
# |value|
# +-----+
# |temp1|
# | x|
# +-----+
my_list = ["temp1", "temp2", "temp10", "temp15"]
res = res.filter(res.value.isin(my_list))
res.show()
# +-----+
# |value|
# +-----+
# |temp1|
# +-----+