Menu
Coddy logo textTech

Modificaciones personalizadas

Lección 13 de 19 del curso Análisis con Pandas de Coddy.

Para realizar una modificación personalizada, utiliza el método .apply y proporciónale una lambda o una function. Por ejemplo, para encontrar el cuadrado de cada número en una columna:

df['num_squared'] = df['num'].apply(lambda x: x**2)

Esto también se puede lograr multiplicando la misma columna por sí misma:

df['num_squared'] = df['num'] * df['num']

Para sumar 2 a cada valor de la fila:

df["add_two"] = df['num'].apply(lambda x: x+2)
df["add_two"] = df['num'] + 2

Para sustituir cada valor en una Series con otro valor, utiliza el método .map y proporciónale una función, un diccionario o una Series.

Por ejemplo, si queremos reemplazar nombres de frutas con valores numéricos:

fruits_to_num = {"apple": 1, "mango": 2, "grape": 3}
df["fruits"] = df["fruits"].map(fruits_to_num)

Tanto .map como .apply pueden aceptar funciones:

df['num_squared'] = df['num'].apply(lambda x: x**2)
df['num_squared'] = df['num'].map(lambda x: x**2)

Para obtener más información sobre su diferencia, puedes leer aquí.

 

challenge icon

Desafío

Fácil

El archivo CSV stats.csv contiene información sobre estadísticas.

Aquí están las primeras 5 líneas del archivo:

ID,COUNTRY,COLOR,SKILL,SKILL_POINTS,UTILIZATION,IS_VALID,CATEGORY
1,France,Signal violet,marksmanship,14,0.1924,1,SHOW
2,Solomon Islands,Pearl violet,crocheting,4,0.6108,1,TREE
3,Germany,Bottle green,calligraphy,12,0.88646,0,SHOW
4,Mauritania,Fawn brown,paper cutting,9,0.058,1,JAPE
  • Sustituye los valores de CATEGORY por: {"SHOW": 0, "TREE": 1, "JAPE": 2, "GHUP": 3, "PLQR": 4}.
  • Crea una nueva columna llamada SKILL_MASTERY. Rellena esta columna con la siguiente fórmula: Multiplica los valores de las columnas SKILL_POINTS y UTILIZATION. Si el resultado es mayor que 5, divídelo por 4; de lo contrario, divídelo por 2. Finalmente, suma el valor de la columna IS_VALID al resultado.
  • Ordena el resultado en orden ascendente de acuerdo a SKILL_MASTERY.

Almacena el resultado en la variable df.

Pruébalo tú mismo

# pandas como pd ya está importado
df = pd.read_csv("./stats.csv")
# Escribe tu código debajo

Todas las lecciones de Análisis con Pandas