1
我有一列填充了一堆状态的首字母作为字符串。我的目标是如何在这样的列表中的每个国家的数量。如何计算pyspark数据框中每个不同值的计数?
例如:(("TX":3),("NJ":2))
应该是在出现两次出现"TX"
和"NJ"
时的输出。
我对pyspark相当陌生,所以我很难过这个问题。任何帮助将非常感激。
我有一列填充了一堆状态的首字母作为字符串。我的目标是如何在这样的列表中的每个国家的数量。如何计算pyspark数据框中每个不同值的计数?
例如:(("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|
+-----+-----+
我不知道关于pyspark的事情,但如果你的字符串的集合是可迭代的,你可以将它传递给一个['collections.Counter'](https://docs.python.org/2/library/collections.html#collections.Counter),它的存在是为了明确计数值。 – Kevin