Curso de introducción a la programación con Python

Autor: Luis Fernando Apáez Álvarez

Clase 3: DataFrames (parte III)

Recordemos de la clase pasada el DataFrame

y recordemos que mediante corchetes y dobles corchetes podemos acceder a la información que guarda nuestro DataFrame, accediendo desde columnas o desde filas. Asimismo, podemos expandir dichas funcionalidades utilizando las fuciones log e ilog.

Comparaciones lógicas en un DataFrame

Por otro lado, podemos realizar comparaciones lógicas para buscar una información en especifico, comparando una propiedad con todas las entradas de una columna o fila. Por ejemplo, podemos intentar buscar si en alguna entrada de la columna País hay un algún valor 'Brazil' escribiendo

donde en una entrada vemos un True, indicando que ahí la entrada tiene el valor buscado ('Brazil'). Podemos también realizar comparaciones del tipo

que realiza la búsqueda de las entradas cuyos valores sean mayores a 1000, colocando en su respectivo lugar True o False si dicho valor excede a 1000 o no, respectivamente. Con lo anterior podemos ver que CH y IN cumplen con dicha propiedad. Continuando, podemos seleccionar sólo aquellas filas que cumplan la propiedad que declaramos, para ello debemos acceder al DataFrame entre corchetes, colocando dentro de ellos la propiedad que deseamos aplicar. Por ejemplo, podemos seleccionar las filas del DataFrame que cumplan la propiedad d1[['Población']] > 1000. Salvo que en este caso utilizaremos sólo unos corchetes, esto es d1['Población'] > 1000:

o alternativamente, para no confundirnos sobre el uso de los corchetes dobles o simples y sus distintas funcionalidades, podemos emplear la nomenclatura del punto. Para ello requerimos del nombre del DataFrame punto el nombre de la columna:

lo cual nos arroja el mismo resultado. De tal manera, cuando deseemos acceder a las filas de un DataFrame que cumplen con una propiedad utlizaremos la sintaxis anterior y no la de los corchetes. De hecho, con la nomenclatura del punto como vimos antes, podemos obtener de otra manera Series Pandas:

Por otro lado, podemos combinar lo aprendido en la clase anterior con la selección de filas dada una propiedad. Recordemos que podemos seleccionar, por ejemplo, todas las filas de nuestro DataFrame mostrando sólo algunas columnas

de tal manera, como d1[ d1.Población > 1000 ] es también un DataFrame (comprueba lo anterior ejecutando type(d1[ d1.Población > 1000 ])), podemos acceder a las entradas especificas de ciertas columnas

en donde omitimos la información de la columna Capital pues en este caso no es relevante. Con base en todo lo anterior y combinando el conocimiento adquirido podemos realizar diversas búsquedas de información dentro de nuestro DataFrame. Otros ejemplos pueden ser

Socialmedia.PNG