pyspark:计算每个不同值的出现次数

pyspark:计算每个不同值的出现次数,pyspark,Pyspark,我认为这个问题与: 基本上我有一个spark数据框,列a的值为1,1,2,2,1 因此,我想计算每个不同的值(在本例中,1和2)出现在A列中的次数,并打印如下内容 distinct_values | number_of_apperance 1 | 3 2 | 2 我不确定您是否正在寻找以下解决方案: 以下是我对此的看法。假设您有这样一个数据帧 >>> listA = [(1,'AAA','USA'),(2,'XXX','CHN'),(3,'KKK','USA'),(4,'PP

我认为这个问题与:

基本上我有一个spark数据框,列
a
的值为
1,1,2,2,1

因此,我想计算每个不同的值(在本例中,
1
2
)出现在
A
列中的次数,并打印如下内容

distinct_values | number_of_apperance
1 | 3
2 | 2

我不确定您是否正在寻找以下解决方案: 以下是我对此的看法。假设您有这样一个数据帧

>>> 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|
+----------------+-------------+

您是否正在寻找类似的解决方案?

我不确定您是否正在寻找以下解决方案: 以下是我对此的看法。假设您有这样一个数据帧

>>> 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|
+----------------+-------------+

你看起来像这样吗?

我刚刚发布了这篇文章,因为我认为另一个带别名的答案可能会让人困惑。您需要的是以下内容和方法:


我只是发布了这篇文章,因为我认为另一个带别名的答案可能会让人困惑。您需要的是以下内容和方法:


我的印象是打印数据应该有用户定义的名称。这就是我把它弄得有点复杂的原因。无论如何,两者都会起作用@完全正确。这种方法比较简单,但两者都有效。非常感谢。我的印象是打印数据应该有用户定义的名称。这就是我把它弄得有点复杂的原因。无论如何,两者都会起作用@完全正确。这种方法比较简单,但两者都有效。非常感谢。