Apache spark 找出组pyspark数据帧中的某些列是否不同

Apache spark 找出组pyspark数据帧中的某些列是否不同,apache-spark,pyspark,apache-spark-sql,Apache Spark,Pyspark,Apache Spark Sql,因此,我想知道是否有一种比较组中某列的值的好方法,例如,如果这些值不完全相同,则将一个新列放入该组 小例子: 名称 性 安娜 女性的 山姆 男性的 山姆 女性的 安娜 女性的 您可以检查每组名称的唯一元素数是否等于1: from pyspark.sql import functions as F, Window df2 = df.withColumn( 'difference', F.size(F.collect_set('sex').over(Window.partition

因此,我想知道是否有一种比较组中某列的值的好方法,例如,如果这些值不完全相同,则将一个新列放入该组

小例子:

名称 性 安娜 女性的 山姆 男性的 山姆 女性的 安娜 女性的
您可以检查每组名称的唯一元素数是否等于1:

from pyspark.sql import functions as F, Window

df2 = df.withColumn(
    'difference',
    F.size(F.collect_set('sex').over(Window.partitionBy('name'))) == 1
)

df2.show()
+----+------+----------+
|name|   sex|difference|
+----+------+----------+
|Anna|female|      true|
|Anna|female|      true|
| Sam|  male|     false|
| Sam|female|     false|
+----+------+----------+