pyspark: подсчет количества вхождений каждого отдельного значения - PullRequest
0 голосов
/ 06 декабря 2018

Я думаю, что вопрос связан с: Spark DataFrame: подсчитывать отдельные значения каждого столбца

Так что в основном у меня есть искровой dataframe со столбцом A, имеющим значения 1,1,2,2,1

Поэтому я хочу посчитать, сколько раз каждое отдельное значение (в данном случае 1 и 2) появляется в столбце A, и вывести что-то вроде

distinct_values | number_of_apperance
1 | 3
2 | 2

Ответы [ 2 ]

0 голосов
/ 06 декабря 2018

Я просто публикую это, так как думаю, что другой ответ с псевдонимом может сбить с толку.Вам нужны методы groupby и count :

from pyspark.sql.types import *
l = [
1
,1
,2
,2
,1
]

df = spark.createDataFrame(l, IntegerType())
df.groupBy('value').count().show()

+-----+-----+ 
|value|count| 
+-----+-----+ 
|    1|    3|
|    2|    2| 
+-----+-----+
0 голосов
/ 06 декабря 2018

Я не уверен, что вы ищете следующее решение: Вот мои мысли по этому поводу.Предположим, у вас есть такой фрейм данных.

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

вы искаличто-то похожее на это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...