我认为这个问题与Spark DataFrame: count distinct values of every column
有关所以基本上我有一个火花数据帧,列A
的值为1,1,2,2,1
所以我想计算每个不同的值(在这种情况下为1
和2
)出现在A
列中的次数,并打印类似的内容
distinct_values | number_of_apperance
1 | 3
2 | 2
答案 0 :(得分:1)
我不确定您是否正在寻找以下解决方案: 这是我对此的想法。假设您有一个这样的数据框。
>>> listA = [(1,'AAA','USA'),(2,'XXX','CHN'),(3,'KKK','USA'),(4,'PPP','USA'),(5,'EEE','USA'),(5,'HHH','THA')]
>>> df = spark.createDataFrame(listA, ['id', 'name','country'])
>>> df.show();
+---+----+-------+
| id|name|country|
+---+----+-------+
| 1| AAA| USA|
| 2| XXX| CHN|
| 3| KKK| USA|
| 4| PPP| USA|
| 5| EEE| USA|
| 5| HHH| THA|
+---+----+-------+
我想知道不同的国家/地区代码出现在此特定数据框中,并应打印为别名。
import pyspark.sql.functions as func
df.groupBy('country').count().select(func.col("country").alias("distinct_country"),func.col("count").alias("country_count")).show()
+----------------+-------------+
|distinct_country|country_count|
+----------------+-------------+
| THA| 1|
| USA| 4|
| CHN| 1|
+----------------+-------------+
您是否在寻找类似的东西?
答案 1 :(得分:1)