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'] + 2Para 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í.
Desafío
FácilEl 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
CATEGORYpor:{"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 columnasSKILL_POINTSyUTILIZATION. Si el resultado es mayor que5, divídelo por 4; de lo contrario, divídelo por2. Finalmente, suma el valor de la columnaIS_VALIDal 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
4Análisis de datos con Pandas
Estadística descriptivaAgrupación y agregación de datosDiferentes agregacionesMerge y Concat3Manipulación de datos con Pandas
Retornar el resultado solicitadoFiltrar datosAgregar y eliminarModificar datosModificar cadenasModificaciones personalizadas