我正试图通过遵循逻辑来达到结果
IF Text.Contains([Col1] = "Text1" OR [Col1] = "Text2"))
AND
Text.Contains([Col3] = "Text3")) AND
(IF not (Text.Contains([Col2] ="12345") OR
not Text.Contains([Col2] = "67890"))
我在pySpark中编写了以下代码,但没有得到预期的结果
(
(F.col("Col1").like("%Text1%") | F.col("Col1").like("%Text2"))
&
(
(F.col("Col3").like("%Text3%")) &
(~F.col("Col2").like("%12345%") | (~F.col("Col2").like("%67890%")))
)
)
有人能帮我纠正代码以获得所需的结果吗?
我的输入数据集是:
| Col1|Col3|Col2|
| --------------|--------------|--------------|
| 文本1;随机|Text 3;随机|12345;67890;34567|
| 随机;文本2|文本3|98765;54321|
因此,预期的输出是一个布尔结果,其中第一行预期为False,而第二行预期为True。
1条答案
按热度按时间igsr9ssn1#
据我所知,这就是你想达到的目的: