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