Algo que puede resultar útil al “seleccionar” una columna:
Normalmente lo hacemos así:
df['Name']
Pero podemos, por practicidad “seleccionarla” así:
df.Name
OJO: Esto solo es posible cuando el nombre de la columna NO tiene espacios.
Librerías de manipulación de datos con Python
¿Por qué NumPy y Pandas?
NumPy
NumPy Array
Tipos de datos
Dimensiones
Creando arrays
Shape y Reshape
Funciones principales de NumPy
Copy
Condiciones
Operaciones
Quiz: NumPy
Pandas
Series y DataFrames en Pandas
Leer archivos CSV y JSON con Pandas
Filtrado con loc y iloc
Agregar o eliminar datos con Pandas
Manejo de datos nulos
Filtrado por condiciones
Funciones principales de Pandas
groupby
Combinando DataFrames
Merge y Concat
Join
Pivot y Melt
Apply
Quiz: Pandas
Cierre
Posibilidades con Pandas y NumPy
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Apply
Es un comando muy poderoso que nos deja aplicar funciones a nuestro DataFrame
import pandas as pd
df_books = pd.read_csv('/work/DataFrames/bestsellers-with-categories.csv')
df_books.head(2)
def two_times(value):
return value * 2
User Rating
df_books['User Rating'].apply(two_times)
---> Se multiplica por 2 todos los valores de la columna
df_books['User Rating2'] =df_books['User Rating'].apply(two_times)
df_books['User Rating2'] =df_books['User Rating'].apply(lambda x: x* 3)
---> Multiplica todos los valores por 3
df_books.apply(lambda x: x['User Rating'] * 2 if x['Genre'] == 'Fiction' else x['User Rating'], axis = 1)
---> Multiplica por 2 a los datos que cumplan la condición
Contribución creada por: Edward Giraldo.
Aportes 8
Preguntas 3
Algo que puede resultar útil al “seleccionar” una columna:
Normalmente lo hacemos así:
df['Name']
Pero podemos, por practicidad “seleccionarla” así:
df.Name
OJO: Esto solo es posible cuando el nombre de la columna NO tiene espacios.
Les dejo este aporte, son diferentes maneas de aplicar una función en pandas:
https://medium.com/@jassielmg/6-maneras-de-aplicar-una-función-a-una-columna-con-pandas-d0a82463b0e3
Esto si es lo maximo, chao excel!!!
Dato curioso 🤓, la herramienta .map()
es mas eficiente que .apply()
o .transform()
aplicando la función de two_times:
Puedes usar funciones que recibaan más argumentos especificando los demás argumentos en args. Por ejemplo una función que convierta el rating desde cualquier base a caulquier base sería
import pandas as pd
df_best_sellers = pd.read_csv("https://static.platzi.com/media/public/uploads/bestsellers-with-categories_e591527f-ae45-4fa5-b0d1-d50142128fa6.csv")
# Una función con parametros
def convert_rating_base(rating, current_base, new_base):
# Convert the current rating from the curret base to the new base
return rating*new_base/current_base
# Apply y se pasan todos los demás argumentos después del primero en args
df_best_sellers["User Rating"].apply(convert_rating_base, args=(5, 7))
Otro ejemplo
¡Excelente clase! De nuevo me solvento muchas dudas que tenía respecto a .apply()
Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.