Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

335
Visualizações
¿Cómo calcular los recuentos de cada valor distinto en un marco de datos pyspark?

Tengo una columna llena con un montón de iniciales de estados como cadenas. Mi objetivo es cómo el recuento de cada estado en dicha 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.

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Creo que está buscando usar el lenguaje DataFrame de groupBy y count .

Por ejemplo, dada la siguiente trama de datos, 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| +-----+-----+
over 4 years ago · Santiago Trujillo Relatório

0

import pandas as pd import pyspark.sql.functions as F def value_counts(spark_df, colm, order=1, n=10): """ Count top n values in the given column and show in the given order Parameters ---------- spark_df : pyspark.sql.dataframe.DataFrame Data colm : string Name of the column to count values in order : int, default=1 1: sort the column descending by value counts and keep nulls at top 2: sort the column ascending by values 3: sort the column descending by values 4: do 2 and 3 (combine top n and bottom n after sorting the column by values ascending) n : int, default=10 Number of top values to display Returns ---------- Value counts in pandas dataframe """ if order==1 : return pd.DataFrame(spark_df.select(colm).groupBy(colm).count().orderBy(F.desc_nulls_first("count")).head(n),columns=["value","count"]) if order==2 : return pd.DataFrame(spark_df.select(colm).groupBy(colm).count().orderBy(F.asc(colm)).head(n),columns=["value","count"]) if order==3 : return pd.DataFrame(spark_df.select(colm).groupBy(colm).count().orderBy(F.desc(colm)).head(n),columns=["value","count"]) if order==4 : return pd.concat([pd.DataFrame(spark_df.select(colm).groupBy(colm).count().orderBy(F.asc(colm)).head(n),columns=["value","count"]), pd.DataFrame(spark_df.select(colm).groupBy(colm).count().orderBy(F.desc(colm)).head(n),columns=["value","count"])])
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda