我有一列用一串州的名字缩写作为字符串填充。我的目标是了解 list 中每个州的数量。
例如:当出现(("TX":3),("NJ":2))
和"TX"
两次时,应将"NJ"
作为输出。
我是pyspark的新手,所以我为这个问题感到困惑。任何帮助将非常感激。
最佳答案
我认为您正在寻找使用groupBy和count的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/