Curso de introducción a la programación con Python¶

    Autor: Luis Fernando Apáez Álvarez
    -Curso PyM-
    Tarea 7: Tipos de uniones
    Fecha: 13 de diciembre del 2022

Instrucciones: Al final de la clase 7 exportamos tres dataframes en archivos csv.

  1. Carga los tres archivos de los 3 dataframes que exportamos en la clase 7, referentes a la información de los empleados, los salarios u los departamentos.
    • Realiza una unión interna entre el dataframe de los empleados con el dataframe de los salarios.
    • Agrega una columna nueva al dataframe proveniente de la unión de la siguiente manera:
In [1]:
# Creamos una funcion para clasificar los rangos de edad
# de los empleados de la columna Edad
def clas(x):
    if x < 30:
        return 'Adulto joven'
    elif (x < 59) and (x >= 30):
        return 'Adulto'
    else:
        return 'Adulto mayor'

Después, agregaremos la columna nueva denominada R_edad la cual tendrá una de las tres cadenas de texto que definimos antes. Dicha columna la agregaremos utilizando apply() y una función lambda, los cuales no hemos visto en clase pero en clases posteriores indagaremos. Aplicaremos dichas función al dataframe proveniente de la unión, supondremos que dicho dataframe está alojado en la variable df_union, en tú caso cambiarás ese nombre por el nombre que le hayas dado al dataframe proveniente de la unión del punto anterior. Así:

In [6]:
# Agregamos la columna nueva:
#                    accedemos a la| aplicamos la funcion lambda a todas
#                    columna Edad  | las filas de la columna Edad
#                                  | donde la funcion lambda aplica la
#                                  | funcion clas()
df_union['R_edad'] = df_union.Edad.apply(lambda x: clas(x))
# Seleccionamos la columna de Edad y la columna nueva que creamos:
df_union[['Edad', 'R_edad']]
Out[6]:
Edad R_edad
0 66 Adulto mayor
1 58 Adulto
2 18 Adulto joven
3 72 Adulto mayor
4 28 Adulto joven
... ... ...
995 74 Adulto mayor
996 24 Adulto joven
997 28 Adulto joven
998 65 Adulto mayor
999 48 Adulto

1000 rows × 2 columns

* Con base en lo hecho anteriormente, agrupa con la función groupby() sobre la columna ``R_edad``, selecciona la columna ``Salario`` y utiliza la función de agregación ``mean()``, de modo que con lo anterior logramos obtener el promedio del salario por rango de edad. Obtén conclusiones.

* Obtén el promedio de salario por departamento. ¿Qué departamento gana más y cuál gana menos?
* Utilizando directamente pandas, gráfica un histograma del salario. Obtén conclusiones.
  1. Realiza un diagrama de Venn para ilustrar la unión interna. Personaliza dicho diagrama cambiando de colores, colocando título y etiquetas.
  2. Si tenemos dos dataframes y los consideramos como los conjuntos A y B, respectivamente, ¿a qué conjunto sería igual una unión derecha?
  3. Realiza una autounión para el dataframe de los empleados, lo cual nos permitirá ver a que departameto pertenecen los supervisores.
    • Con base en el dataframe anterior, agrupa por los nombres de los supervisores y por departamento, selecciona la columna Salario (o la equivalente para el salario) y utiliza como función de agregación mean(). Obtén conclusiones.