if else在pyspark中使用and运算符比较两个Dataframe列

vuv7lop3  于 2021-05-27  发布在  Hadoop
关注(0)|答案(0)|浏览(604)

我正在努力 compare two columns 但它会导致错误。pfb代码:

if((df3.name==df3.KEY) and (df3.id==df3.seq_id)):
    print("hey")
else:
    print("hey1")

哪里 df3 是Dataframe。它抛出以下错误:

raise ValueError("Cannot convert column into bool: please use '&' for 'and', '|' for 'or', "
ValueError: Cannot convert column into bool: please use '&' for 'and', '|' for 'or', '~' for 'not' when building DataFrame boolean expressions.

我尝试了几个解决方案,所以博客和改变运营商从 and& 但没用。
我试着转换成 pandas 然后执行操作,它在shell中运行良好,但在ide中不起作用:

df4 = df3.toPandas()
if(df4['name'].equals(df4['KEY']) & df4['id'].equals(2)):
    print("hey")
else:
    print("hey1")

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题