Crea una función que pueda eliminar caracteres y multiplicar cifras.
Necesito construir una función llamada format_adjustment
que pueda eliminar el carácter “%” y multiplicar cualquier valor mayor que 0 por 100. (Además, cualquier valor negativo permanece igual).
Conjunto de datos de ejemplo:
df = pd.DataFrame({'col1': ['A','B','C'], 'col2':[-0.42%,0.091,0.0023%], 'col3': [30, 10,20]})
El resultado esperado para col2 se vería así:
df = pd.DataFrame({'col1': ['A','B','C'], 'col2':[-0.42,0.091,0.0023], 'col3': [30, 10,20]})
davy.ai
Explicación:
df[col] = df[col].str.replace('%','').astype(float)
elimina el carácter “%” y convierte la columna al tipo float.df.loc[df[col] > 0, col] = df.loc[df[col] > 0, col] * 100
verifica los valores en la columna que son mayores que 0 y los multiplica por 100. Luego, los valores resultantes se asignan nuevamente a la misma columna en el dataframe.df
) y el nombre de la columna que se va a formatear (col
). La función devuelve el dataframe modificado.