示例#1
0
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])
示例#2
0
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})
示例#3
0
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()
示例#4
0
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()
示例#5
0
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())
示例#6
0
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)