Tengo una columna rellena con un montón de estados iniciales como cadenas. Mi objetivo es cómo el conde de cada estado en la lista.

Por ejemplo: (("TX":3),("NJ":2)) debe ser la salida cuando hay dos ocurrencias de "TX" y "NJ".

Soy bastante nuevo en pyspark así que estoy perplejo con este problema. Cualquier ayuda sería muy apreciada.

  • No sé nada acerca de pyspark, pero si tu colección de cadenas es iterable, sólo se puede pasar a un collections.Counter, que existe para el propósito expreso de conteo de valores distintos.
InformationsquelleAutor madsthaks | 2017-02-25

1 Comentario

  1. 42

    Creo que usted está buscando para utilizar el DataFrame lenguaje de groupBy y contar.

    Por ejemplo, dada la siguiente dataframe, un estado por fila:

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

    Los siguientes rendimientos:

    df.groupBy('state').count().show()
    +-----+-----+
    |state|count|
    +-----+-----+
    |   TX|    2|
    |   NJ|    2|
    |   CA|    1|
    +-----+-----+

Dejar respuesta

Please enter your comment!
Please enter your name here