def get_best_columns(dirname, filename, columns_to_compare=[1, 2], output_filename='comp_most_wins.csv'): # Lee el csv df = fh.read_csv_file(dirname, filename) best_results = {} for column_index in columns_to_compare: best_results.update({df.columns[column_index]: 0}) for index, row in df.iterrows(): row_values = [(df.columns[column_index], row[df.columns[column_index]]) for column_index in columns_to_compare] best_row_score = max(row_values, key=lambda item: item[1])[1] for res in row_values: if res[1] == best_row_score: best_results[res[0]] += 1 if 'filename' in df.columns: df = df.drop(columns=['filename']) df.astype('float64') fh.write_csv_file(dirname, output_filename, df.columns.tolist(), [best_results])
def get_column_means(dirname, filename, columns=[1, 2]): # Lee el csv df = fh.read_csv_file(dirname, filename) means = {} for column_index in columns: means.update({df.columns[column_index]: None})
def plot_csv_file(dirname, filename, columns_to_compare=[1, 2]): """Grafica un csv como gráfica de barras. El eje X será el número de fila. El eje Y serán los valores de las columnas a comparar. """ # Lee el csv df = fh.read_csv_file(dirname, filename) # Define el eje X como una lista de enteros igual al número de filas number_of_rows = df.shape[0] x_values = list(range(0, number_of_rows)) # Genera una gráfica de barras para cada columna indicada del csv bar_charts = [] for i, column_index in enumerate(columns_to_compare): column_name = df.columns[column_index] y_values = df[column_name] color = COLORS[i] bar_charts.append( go.Bar(x=x_values, y=y_values, name=column_name, marker_color=color)) # Se genera la figura en dónde se renderizarán las gráficas fig = go.Figure() # Se agregan las gráficas de barras generadas previamente for bc in bar_charts: fig.add_trace(bc) # Se renderiza el gráfico completo fig.update_layout(barmode='group', xaxis_tickangle=-45) fig.show()
def plot_describe(fileanme): df = fh.read_csv_file('local_results_evaluation', fileanme) # pdb.set_trace() df.describe().iloc[1].plot() df.describe().iloc[1].to_csv plt.show()
def describe_results(filename, output_filename='comp_all_in_one_metrics.csv'): df = fh.read_csv_file('local_results_evaluation', filename) # pdb.set_trace() fh.write_file('local_results_evaluation', output_filename, df.describe().to_csv())
def csv_to_latex_table(dirname, filename, columns_to_compare=[1, 2], columns_to_show=[0, 1, 2]): df = fh.read_csv_file(dirname, filename, dtype="object") return dataframe_to_latex_table(df, columns_to_compare)