Untitled
unknown
plain_text
2 years ago
3.4 kB
9
Indexable
nombre_empresa = 'Corporación Hijos de Rivera'
orquestador = BChange_db()
orquestador.extraction_sql((nombre_empresa)) # (nombre_empresa)
orquestador.init_df_compania(nombre_empresa) # nombre_empresa
extract_users = extract_users(orquestador.mydb)
ruta_excel = "Hijos de Rivera - Data Analytics V1 - cubierto.xlsx"
lista_campos = ['Email', 'Empresa', 'Área']
def get_merged_dataframe_final(orquestador):
empleados = pd.read_excel(ruta_excel)[lista_campos]
# HIJOS DE RIVERA PROCESAMIENTO ##########################################
empleados['user_nicename'] = (empleados['Email'].str.split('@').str[0] + '_1').str.lower()
"""# Duplicate rows for users that has "_2"
empleados2 = empleados.copy()
empleados2['user_nicename'] = empleados['user_nicename'].str[:-1] + '_2'
empleados = pd.concat([empleados, empleados2])"""
df_merged = pd.merge(empleados, extract_users, on = "user_nicename")
#######################################################################
df_merged = pd.merge(orquestador.df_company, df_merged, left_on='ID_PARTICIPANTE', right_on="ID")
#df_merged = df_merged[df_merged['MÓDULO'] == modulo]
print(df_merged["MÓDULO"].unique())
return df_merged
df_rivera_analytics = get_merged_dataframe_final(orquestador)
def plot_selection_barplot_segregado(df, nombre, nombre_compania, agrupation):
plt.figure(figsize=(18, 10))
my_palette = sns.color_palette(["#FFD779","#FFC12A",'#F2A337', '#EA832F', '#D77423', '#C05E1A'], n_colors=6)
#Paleta saturada
#my_palette2 = sns.color_palette(["#00495E","#FF9E01",'#52D0B7', '#00B050', '#B50042'], n_colors=4)
#hue_order = ['Directivos', 'Administrativos', 'Técnicos']
sns.set(context="paper", font_scale=1.2) # Adjust the font_scale value as needed
sns.set_style("whitegrid") # Set the style to "whitegrid"
ax = sns.barplot(x = "TEMA", y = "RESPUESTA", hue = agrupation, data = df, palette=my_palette) # , hue_order=hue_order , width=0.8
# Ejecutar dos veces si los colectivos no tienen los mismos ejercicios: No user "hue_order" cuando no están todas las categorías en el gráfico
for container in ax.containers:
ax.bar_label(container)
ax.set_ylim(0,4.5)
plt.title(nombre)
plt.legend(loc='upper center', bbox_to_anchor=(0.5, -0.1), ncol=2)
plt.savefig(nombre_compania + "_" + nombre + '.jpg', bbox_inches='tight', dpi=200)
#plt.show()
def get_selection_chart_segregado(df_agrupation, agrupation): #, modulo
df_selection = df_agrupation[df_agrupation['TIPO_PREGUNTA'] == 'selection']
df_selection["RESPUESTA"] = df_selection["RESPUESTA"].astype('int')
result = df_selection.groupby(["EJERCICIO", "TEMA", agrupation])["RESPUESTA"].mean()
result_df = result.to_frame().reset_index()
result_df["RESPUESTA"] = result_df["RESPUESTA"].apply(lambda x: round(x,2))
for ejercicio in result_df["EJERCICIO"].unique():
df_ejercicio = result_df[result_df["EJERCICIO"] == ejercicio]
plot_selection_barplot_segregado(df_ejercicio, ejercicio, orquestador.nombre_compania, agrupation)
get_selection_chart_segregado(df_rivera_analytics, "Empresa") # , 'Módulo 3: Inteligencia Transversal'
Editor is loading...