我有一列用一串州的名字缩写作为字符串填充。我的目标是了解 list 中每个州的数量。

例如:当出现(("TX":3),("NJ":2))"TX"两次时,应将"NJ"作为输出。

我是pyspark的新手,所以我为这个问题感到困惑。任何帮助将非常感激。

最佳答案

我认为您正在寻找使用groupBycount的DataFrame惯用法。

例如,给定以下数据框,每行一种状态:

df = sqlContext.createDataFrame([('TX',), ('NJ',), ('TX',), ('CA',), ('NJ',)], ('state',))
df.show()
+-----+
|state|
+-----+
|   TX|
|   NJ|
|   TX|
|   CA|
|   NJ|
+-----+

产生以下结果:
df.groupBy('state').count().show()
+-----+-----+
|state|count|
+-----+-----+
|   TX|    2|
|   NJ|    2|
|   CA|    1|
+-----+-----+

关于python - 如何计算pyspark数据帧中每个不同值的计数?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42451189/

10-12 18:50