code: def run(pool, expName, name, args):
    
    tables = pool.map(analyzeWeightPruning, args)
    merged = pd.concat(tables, axis=1).sort_index(axis=1)
    filename = "{}_{}".format(name, expName)
    plotDataframe(merged, filename, "{}.pdf".format(filename))
    print()
    print(filename)
    print(tabulate(merged, headers='keys', tablefmt='fancy_grid',
                   numalign="right"))
    merged.to_csv("{}.csv".format(filename))
    return merged
docs: Runs :func:`analyzeWeightPruning` in parallel and save the results
  
    :param pool: multiprocessing pool
    :param expName: Experiment name
    :param name: File/Plot name (i.e. 'weight_prunning')
    :param args: Argument list to be passed to :func:`analyzeWeightPruning`
    :return: panda dataframe with all the results