1.i具有以下pyspark Dataframe
message,type,object
"they are one, two, three, four, five, six",typeA,objectA
"they are one, two",typeB,objectB
"they are four,five",typeC,objectC
"they are six, five, four, three, two, one",typeD,objectD
"they are six, one, five, three, two, four",typeE,objectE
2.现在我想返回一个结果,消息列包含6个单词:一,二,三,四,五,六。六部作品之间的关系是AND,而不是OR。
所以预期的结果是:
message,type,object
"they are one, two, three, four, five, six",typeA,objectA
"they are six, five, four, three, two, one",typeD,objectD
"they are six, one, five, three, two, four",typeE,objectE
1.下面是我使用的代码,但在2中未能返回预期的结果。
如果您有任何问题,请联系我们。如果您有问题,请联系我们。
我知道我可以使用6包含函数来达到预期的结果,但是如果有很多条件,代码看起来太长了。
df.message.contains("one") & df.message.contains("two")...&df.message.contains("six")
有没有Maven能帮我看看为什么rlike函数没有把我带到预期的结果?
1条答案
按热度按时间n53p2ov01#
我找到解决办法了。
如果列包含所有必需的字符串,则编写一个正则表达式进行匹配。