No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Filtrado por condiciones

16/24
Recursos

Funciona por lógica booleana y retorna los valores que están en “True”. Es muy útil porque en ocasiones queremos filtrar o separar datos.

  • Llamamos los datos de un archivo csv para manejarlos
df_books = pd.read_csv('bestsellers-with-categories.csv')
df_books.head(2) ---> #muestra los primeros dos registros del dataFrame 
  • Mostrar datos que sean mayores a cierto valor
mayor2016 = df_books['Year'] > 2016
mayor2016
---> #muestra el dataFrame con valores booleanos. True para libros publicados desde el 2017
  • Filtrar datos en nuestro DataFrame que sean mayores a cierto valor
df_books[mayor2016]
---> #filtra los datos que cumplen con la condicion
  • También se puede colocar la condición directamente como parámetro
df_books[df_books['Year'] > 2016]
---> #filtra los datos que cumplen con la condicion
  • Mostrar los datos que sean igual a cierto valor
genreFiction = df_books['Genre'] == 'Fiction'
genreFiction ---> #muestra el dataFrame con valores booleanos. True para libros de tipo Fiction
  • Filtrado con varias condiciones
df_books[genreFiction & mayor2016]
---> #Filtra los libros que sean de tipo Fiction y que hayan sido publicado desde 2017
  • Filtrado con negación
df_books[~mayor2016]
---> #Filtra los libros publicados antes o igual al 2016

Contribución creada por: Edward Giraldo.

Aportes 19

Preguntas 1

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

Aquí dejo un pequeño aporte, me dio curiosidad por cómo podría filtrarse una columa de texto. Comparto la solución.

Wow Carlos esto es muy util, te felicito por el curso va todo excelente hasta el momento, explicas con casos practicos y muy buen contenido, puedo ver muchas veces tus clases y aportan mucho

Si queremos colocar varias condiciones sin expresarla anteriormente, debemos colocarlas separadas en paréntesis:

df_books[(df_books['Year'] > 2016) & (df_books['Genre'] == 'Fiction')]

Filtrado por condiciones

Llamamos los datos de un archivo csv para manejarlos

import pandas as pd
df_books = pd.read_csv('bestsellers-with-categories.csv', sep=',', header=0)
df_books.head(2) ---> #muestra los primeros dos registros del dataFrame 
  • Mostrar datos que sean mayores a cierto valor
mayor2016 = df_books['Year'] > 2016
mayor2016
---> #muestra el dataFrame con valores booleanos. True para libros publicados desde el 2017
  • Filtrar datos que sean mayores a cierto valor
df_books[mayor2016]
---> #filtra los datos que cumplen con la condicion
  • Tambien se puede colocar la condicion directamente como parametro
df_books[df_books['Year'] > 2016]
---> #filtra los datos que cumplen con la condicion
  • Mostrar los datos que sean igual a cierto valor
genreFiction = df_books['Genre'] == 'Fiction'
genreFiction ---> #muestra el dataFrame con valores booleanos. True para libros de tipo Fiction
  • filtrado con varias condiciones
df_books[genreFiction & mayor2016]
---> #Filtra aquellos libros que sean de tipo Fiction y que hayan sido publicado desde 2017
  • Filtrado con negacion
df_books[~mayor2016]
---> #Filtra aquellos libros publicado antes de 2017

Lo del filtrado negativo me parece super útil, llevo 1 año en Pandas y NO lo conocía, super práctico este curso

Excelente curso de momento de mis favoritos en el Data Science

Símbolos de condicionales con Pandas y NumPay

Estoy empezando a pensar que NumPy y Pandas son Excel con ESTEROIDES

Excelente clase, el profe sabe como darse a entender y fue de mucha importancia este tema

Muy buena clase. Justamente hoy tenía la duda de como negar una condición.

También se puede generar un filtrado del dataframe según las etiquetas de los INDEX por medio del método FILTER.
Cuando los INDEX son palabras: el método FILTER nos permite filtrar según un grupo de caracteres que contiene la palabra INDEX (argumento LIKE) ó usar expresiones regulares.
FUENTE: https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.filter.html

También pueden usar esta funcionalidad

Tener muy claro lo que hay que filtrar para una buena limpieza de datos

Al igual que los demás compañeros, felicitar muchísimo al profesor.
Gran curso sin duda alguna, he aprendido mucho, paso por paso y de forma clara.

El colocar ~ (virgulilla) antes de el nombre asignado a una variable con una condicional alojada es super útil.
Ejemplo probado y que comparto para que lo prueben es:

year_2010 = df_books[ ‘Year’ ] == 2010
author = df_books[ ‘Author’ ] == 'Stephen King’
df_books[ year_2010 & ~author ]

La salida será el año 2010 de todos los autores que no corresponden a Stephen King 😊

La “vírgula” sale con ALT + 126 ~~~~
Paso la data para que no se pasen dos horas googleando 😉

Si tienen algún problema al momento de filtrar , pueden cambiar el tipo de dato de las columnas de esta manera:

types = {'user_rating':'float','reviews':'float','price':'int', 'year':'int'}
df_best = df_best.astype(types)

Genial esta clase! Super útil!!

Aportes que saque de esta clase 💡

👇🏻 Para pasar de los datos booleanos podríamos concatenar 2 filtros y nos genera una tabla ya filtrada



⚠ ➡ Si quieren filtrar por negaciones no se usa != 😃 se usa ’ ~ ’

Mi ejemplo