繁体   English   中英

如何计算Spark数据帧的列中每个不同元素的出现次数

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM