python—如何将xnor操作应用于从到两个Dataframe的行

trnvg8h3  于 2021-06-27  发布在  Hive
关注(0)|答案(0)|浏览(234)

我已经阅读了几个小时的文件,现在我觉得我是用错误的心态来处理这个问题。
我在 hive 里有两张table,我和它们一起看书 (spark.table(table_A)) 列的数量和类型相同,但来源不同,因此它们的数据不同。两个表都反映了显示是否满足条件的标志。至少有20列左右,将来可能会增加。
如果表a的第一行是 0 0 1 1 0 表\u b可能是 0 1 0 1 0 ,我希望结果是xnor的结果,比较位置,所以:1 0 0 1 1,因为它在第一、第四和第五位置有相同的值
所以我想到了xnor操作,当两个值匹配时,它返回1,否则返回0。
我面临着许多问题,其中之一是我的数据量(现在我正在处理一个1周的样本,它已经达到300mb大关),因此我正在使用pyspark并避免使用pandas,因为它通常不适合内存和/或延迟操作很多。
综上所述,我有两个类型的对象 pyspark.sql.dataframe.DataFrame ,每个都有一张table,到目前为止我最好的是这样的:

df_bitwise = df_flags_A.flag_column_A.bitwiseXOR(df_flags_B.flag_columns_B)

但可悲的是,这回报了 pyspark.sql.column.Column 我不知道如何读取这个结果,也不知道如何用这个来构建一个Dataframe(我希望最终结果是上面操作的20倍,每列一个,每列形成一个Dataframe的列)。
我做错了什么,因为我觉得这不是正确的方法。

暂无答案!

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

相关问题