Saltar al contenido

Eliminar duplicados de un marco de datos en PySpark

Agradeceríamos tu apoyo para difundir nuestros artículos sobre las ciencias informáticas.

Solución:

No es un problema de importación. simplemente llamas .dropDuplicates() en un objeto equivocado. mientras que la clase de sqlContext.createDataFrame(rdd1, ...) es pyspark.sql.dataframe.DataFramedespués de aplicar .collect() es un Python simple listy las listas no proporcionan dropDuplicates método. Lo que quieres es algo como esto:

 (df1 = sqlContext
     .createDataFrame(rdd1, ['column1', 'column2', 'column3', 'column4'])
     .dropDuplicates())

 df1.collect()

si tiene un marco de datos y desea eliminar todos los duplicados, con referencia a los duplicados en una columna específica (llamada ‘colName’):

contar antes de deduplicar:

df.count()

hacer la desduplicación (convertir la columna que está desduplicando a string escribe):

from pyspark.sql.functions import col
df = df.withColumn('colName',col('colName').cast('string'))

df.drop_duplicates(subset=['colName']).count()

puede usar un grupo ordenado para verificar que se hayan eliminado los duplicados:

df.groupBy('colName').count().toPandas().set_index("count").sort_index(ascending=False)

Aquí tienes las comentarios y calificaciones

Si sostienes algún disgusto o disposición de aclararse nuestro noticia te evocamos ejecutar una interpretación y con gusto lo interpretaremos.

¡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 *