如何在Pyspark数据框中查找重复的列值

5

我将尝试在pyspark中查找数据框中的重复列值。

例如,我有一个仅包含单列“A”的数据框,其值如下:

==
A
==
1
1
2
3
4
5
5

我期望的输出如下所示(仅需要重复的值)
==
A
==
1
5

如果有问题,您可以接受一个解决方案或发表评论。 - undefined
2个回答

7

使用内置函数,与 @Yuva 给出的答案相同:

df = sqlContext.createDataFrame([(1,),(1,),(2,),(3,),(4,),(5,),(5,)],('A',))

df.groupBy("A").count().where("count > 1").drop("count").show()

+---+
|  A|
+---+
|  5|
|  1|
+---+


2
"最初的回答":你可以试试这个方法,看看是否有帮助?
df = sqlContext.createDataFrame([(1,),(1,),(2,),(3,),(4,),(5,),(5,)],('A',))
df.createOrReplaceTempView(df_tbl)
spark.sql("select A, count(*) as COUNT from df_tbl group by a having COUNT > 1").show()

+---+-----+
|  A|COUNT|
+---+-----+
|  5|2    |
|  1|2    |
+---+-----+

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接