Solución - Crear una nueva columna
Pandas
Vista general
Este problema nos pide crear una nueva columna ‘bonus’ en el DataFrame employees. La nueva columna debe contener el doble del sueldo de cada empleado.
Conceptos clave:
- pandas
Series
: una estructura de datos dimensional. Podemos imaginar a una serie como una columna de información en un DataFrame. Una serie puede contener un amplio rango de tipos de datos. Al igual que los DataFrame, las series son indexadas y pueden ser etiquetadas para su fácil consulta. - pandas
DataFrame
: son similares a una tabla SQL, un DataFrame es una colección de Series mostradas como columnas. Se pueden redimensionar, lo cual significa que podemos agregar, eliminar, y modificar la información contenida (filas y columnas). - operaciones a nivel columna: son operaciones que pueden ser aplicadas sobre cada elemento individual en una serie de un DataFrame. Algunos ejemplos de tipos de operaciones a nivel columna son: operaciones aritméticas, funciones de agregación, operaciones de filtrado, y operaciones sobre cadenas de texto (strings).
Intuición
Para resolver este problema, podemos crear una nueva columna y calcular la gratificación usando una operación a nivel columna (*) para multiplicar la columna del sueldo por 2.
La forma más simple para crear una nueva columna es asignar la nueva columnas al dataframe employees usando el nombre de la columna. Enseguida, le asignamos el valor del sueldo multiplicado por dos.
Visualización de las operaciones a nivel columna
Ejemplo: SI tenemos el siguiente DataFrame:
name | salary |
---|---|
Piper | 4548 |
Grace | 28150 |
employees['salary']
nos dice:
index | salary |
---|---|
0 | 4548 |
1 | 28150 |
pandas nos permite realizar operaciones vectoriales. Cuando multiplicamos una Series por un valor escalar (un
número), pandas multiplica cada elemento por ese número. En nuestro caso, queremos obtener el doble de cada
valor en la columna salary
.
Usando el previo DataFrame, employees['salary'] * 2
resultarÃa en:
index | bonus |
---|---|
0 | 4548 |
1 | 56300 |
Asignamos esos valores a una nueva (o existente) columna en el DataFrame. Si la columna bonus no existe aún, pandas la creará.
Cuando hacemos
employees['bonus'] = employees['salary'] * 2
, estamos creando una nueva columna llamada bonus
en el DataFrame employees
, y le estamos asignando el
salario de cada empleado multiplicado por dos.
Implementación
import pandas as pd
def createBonusColumn(employees: pd.DataFrame) -> pd.DataFrame:
employees['bonus'] = employees['salary'] * 2
return employees