Python

Obtención de valores únicos de una columna con Pandas

En muchas ocasiones al trabajar con un DataFrame de Pandas puede que una de las columnas contenta los valores de una etiqueta. La que posiblemente tendrá muchos registros repetidos. Por lo que puede ser interesante obtener el listado de valores únicos de la columna. Afortunadamente los objetos DataFrame de la librería Pandas cuentan con un método para obtener estos. A continuación, se explicarán diferentes ejemplos para la obtención de valores únicos de una columna con Pandas.

A modo de ejemplo en esta entrada se utilizará el conjunto de datos de exoplanetas que se puede encontrar en la librería Seaborn. Para importarlo se ha de importar la librería y utilizas la función load_dataset() como se muestra en el siguiente ejemplo

import seaborn as sb

planets = sb.load_dataset('planets')
planets.head()
            method  number  orbital_period   mass  distance  year
0  Radial Velocity       1         269.300   7.10     77.40  2006
1  Radial Velocity       1         874.774   2.21     56.95  2008
2  Radial Velocity       1         763.000   2.60     19.84  2011
3  Radial Velocity       1         326.030  19.40    110.62  2007
4  Radial Velocity       1         516.220  10.50    119.47  2009

Obtención de valores únicos de una columna

En el conjunto de datos de exoplanetas existe una columna con el método de utilizados para su descubrimiento. Por lo que puede ser interesante obtener el listado de método únicos utilizados. El método de las columnas de Pandas que permite obtener esto valores es unique(). Así el listado de métodos de descubrimiento de planetas se puede obtener aplicando este método a la columna method.

planets['method'].unique()
array(['Radial Velocity', 'Imaging', 'Eclipse Timing Variations',
       'Transit', 'Astrometry', 'Transit Timing Variations',
       'Orbital Brightness Modulation', 'Microlensing', 'Pulsar Timing',
       'Pulsation Timing Variations'], dtype=object)

En este caso se puede ver que el resultado es un array. En el caso de que desee que el listado de valores sea una lista se puede utilizar el método tolist() para transformarla.

planets['method'].unique().tolist()
['Radial Velocity',
 'Imaging',
 'Eclipse Timing Variations',
 'Transit',
 'Astrometry',
 'Transit Timing Variations',
 'Orbital Brightness Modulation',
 'Microlensing',
 'Pulsar Timing',
 'Pulsation Timing Variations']

El método unique() se puede aplicar también en columnas cuyo contenido sea numérico. Por ejemplo, en la columna con el número.

planets['number'].unique()
array([1, 2, 3, 5, 4, 6, 7])

Número de valores únicos en la columna

Una vez obtenidos el listado con los registros únicos de una columna es trivial obtener el número de estos. Para ello solamente es necesario utilizar la función len() sobre el objeto.

len(planets['method'].unique())
10

Conclusiones

En esta entrada se ha visto cómo obtener los valores únicos de una columna con Pandas. Operación que es necesaria cuando una de las columnas del conjunto de datos contenga un índice. Algo que es bastante habitual.

Imágenes: Pixabay (heecehil)

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez
Tags: Pandas

Recent Posts

El bestiario de los indicadores económicos absurdos: El zoo patrio

Cualquier país desarrollado tiene sus propios indicadores folclóricos. España, por motivos que tienen mucho que…

4 días ago

Por qué el banco te ofrece un 3% TAE y no es lo que parece

Entras a la web de tu banco. En la página principal, un banner llamativo: “Depósito…

6 días ago

Analytics Lane lanza la versión 1.3 del laboratorio con nuevas herramientas de evaluación de modelos y utilidades prácticas

Seguimos ampliando el laboratorio de Analytics Lane con el lanzamiento de la versión 1.3, disponible…

1 semana ago

Augurios deportivos y portadas malditas, o cuando The Economist predice mejor al revés – El bestiario de los indicadores económicos absurdos (parte 3)

Cerramos la serie internacional con la categoría más estrambótica de todas: indicadores que predicen el…

2 semanas ago

El Binning en Credit Scoring: El Arte de Discretizar Variables

Si el WOE y el IV son la base matemática del credit scoring, el binning…

2 semanas ago

Analytics Lane lanza la versión 1.2 del laboratorio con nuevas herramientas de ajuste de curvas y cálculo matricial

Seguimos iterando sobre el laboratorio de Analytics Lane y lanzamos la versión 1.2, disponible en:https://www.analyticslane.com/lab/es…

2 semanas ago

This website uses cookies.