Actualizado por ultima vez el 7 de mayo de 2021, por .
A menudo, puede estar interesado en encontrar todos los valores únicos en varias columnas en un DataFrame de pandas. Afortunadamente, esto es fácil de hacer usando la función pandas unique () combinada con la función ravel () :
- unique () : devuelve valores únicos en orden de aparición.
- ravel (): devuelve una serie de datos aplanados.
Por ejemplo, supongamos que tenemos el siguiente DataFrame de pandas:
importar pandas como pd #create DataFrame df = pd.DataFrame ({'col1': ['a', 'b', 'c', 'd', 'e'], 'col2': ['a', 'c', 'e', 'f', 'g'], 'col3': [11, 8, 10, 6, 6]}) #view DataFrame imprimir (df) col1 col2 col3 0 aa 11 1 ac 8 2 ce 10 3 df 6 4 por ejemplo, 6
Matriz de retorno de valores únicos
El siguiente código muestra cómo encontrar los valores únicos en col1 y col2 :
pd. único (df [[' col1 ', ' col2 ']]. valores . ravel ()) array (['a', 'b', 'c', 'e', 'd', 'f', 'g'], dtype = objeto)
En el resultado, podemos ver que hay 7 valores únicos en estas dos columnas: a, b, c, d, e, f, g .
Devolver DataFrame de valores únicos
Si desea devolver estos valores como un DataFrame en lugar de una matriz, puede usar el siguiente código:
únicos = pd. único (df [[' col1 ', ' col2 ']]. valores . ravel ()) pd. DataFrame (únicos) 0 0 a 1 b 2 c 3 e 4 días 5 f 6 g
Devolver número de valores únicos
Si simplemente desea saber el número de valores únicos en varias columnas, puede utilizar el siguiente código:
únicos = pd. único (df [[' col1 ', ' col2 ']]. valores . ravel ()) len (únicos) 7
Esto nos dice que hay 7 valores únicos en estas dos columnas.
Recursos adicionales
Cómo fusionar Pandas DataFrames en múltiples columnas
Cómo filtrar un Pandas DataFrame en múltiples condiciones
- https://r-project.org
- https://www.python.org/
- https://www.stata.com/