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 鈥淭rue鈥. 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[ 鈥榊ear鈥 ] == 2010
author = df_books[ 鈥楢uthor鈥 ] == '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 鈥渧铆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