Saltar al contenido

mostrar distintos valores de columna en el marco de datos pyspark: python

Recuerda que en las ciencias informáticas un error casi siempere suele tener varias soluciones, por lo tanto nosotros te mostramos la mejor y más eficiente.

Solución:

Esto debería ayudar a obtener valores distintos de una columna:

df.select('column1').distinct().collect()

Tenga en cuenta que .collect() no tiene ningún límite incorporado sobre cuántos valores pueden devolverse, por lo que esto podría ser lento; use .show() en su lugar o añadir .limit(20) antes de .collect() para manejar esto.

Supongamos que estamos trabajando con la siguiente representación de datos (dos columnas, k y vdónde k contiene tres entradas, dos únicas:

+---+---+
|  k|  v|
+---+---+
|foo|  1|
|bar|  2|
|foo|  3|
+---+---+

Con un dataframe de Pandas:

import pandas as pd
p_df = pd.DataFrame([("foo", 1), ("bar", 2), ("foo", 3)], columns=("k", "v"))
p_df['k'].unique()

Esto devuelve un ndarrayes decir array(['foo', 'bar'], dtype=object)

Usted solicitó una “alternativa de marco de datos pyspark para pandas df[‘col’].unique()”. Ahora, dada la siguiente trama de datos de Spark:

s_df = sqlContext.createDataFrame([("foo", 1), ("bar", 2), ("foo", 3)], ('k', 'v'))

si quieres el mismo resultado de Spark, es decir, un ndarrayusar toPandas():

s_df.toPandas()['k'].unique()

Alternativamente, si no necesita un ndarray específicamente y solo quiero una lista de los valores únicos de la columna k:

s_df.select('k').distinct().rdd.map(lambda r: r[0]).collect()

Finalmente, también puede usar una lista de comprensión de la siguiente manera:

[i.k for i in s_df.select('k').distinct().collect()]

Puedes usar df.dropDuplicates(['col1','col2']) para obtener solo filas distintas basadas en colX en el array.

Si crees que ha resultado provechoso este artículo, agradeceríamos que lo compartas con el resto entusiastas de la programación de esta manera contrubuyes a difundir esta información.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *