在python中使用带有多个和条件的when语句

时间:2018-10-25 13:38:50

标签: python pyspark

我的数据如下所示

+------------+--------------+---------------+    
|domain      | country_code | country       | 
+------------+--------------+---------------+
|amazon.de   | DE           | Germany       |
|amazon.uk   | UK           | united kingdom|
|amazon.de   | UK           | mismatched    |
|amazon.uk   | DE           | mismatched    |
+------------+--------------+---------------+

在上述数据中,我想更正country_code,因此应对照country_code列检查域列中包含.de的所有内容,如果Country_code包含DE,则表示正确匹配。否则任何不正确的

因此,我正在尝试创建一个如下所示的新列国家/地区。但是,在使用when时,我无法使用and语句。你能帮忙吗

    
import pyspark.sql.functions as f

df = df.withColumn(
    'country', 
    f.when(
        f.col('domain') == '.de' && f.col('country_code') == 'DE',
        'Germany'
    ).otherwise('mismatch')
)

0 个答案:

没有答案