![](/img/trans.png)
[英]How to count occurrences of each distinct value for every column in a dataframe?
[英]How to count the number of occurrences of each distinct element in a column of a spark dataframe
假设我有以下格式的dataframe
:
-------------------------------
col1 | col2 | col3
-------------------------------
value11 | value21 | value31
value12 | value22 | value32
value11 | value22 | value33
value12 | value21 | value33
在这里,列col1
具有value11, value12
作为不同值。 我想要列col1
的每个不同值value11, value12
的出现总数。
您可以groupBy
col1 ,然后count
:
import org.apache.spark.sql.functions.count
df.groupBy("col1").agg(count("col1")).show
+-------+-----------+
| col1|count(col1)|
+-------+-----------+
|value12| 2|
|value11| 2|
+-------+-----------+
如果您想知道col1中有多少个不同的值,可以使用countDistinct
:
import org.apache.spark.sql.functions.countDistinct
df.agg(countDistinct("col1").as("n_distinct")).show
+----------+
|n_distinct|
+----------+
| 2|
+----------+
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.