ls !cat output_data0.csv import glob from numpy import mean from scipy.stats import sem list_of_mean_fitness = [] list_of_stderr_fitness = [] list_of_mean_trait1 = [] list_of_stderr_trait1 = [] list_of_mean_trait2 = [] list_of_stderr_trait2 = [] list_of_mean_trait3 = [] list_of_stderr_trait3 = [] for gen in range(50): list_of_fitness = [] list_of_trait1 = [] list_of_trait2 = [] list_of_trait3 = [] for file_name in glob.glob("output_data*"): with open(file_name) as in_file: for line in in_file: split_line = line.split(",") if int(split_line[0]) == gen: list_of_fitness.append(float(split_line[1])) list_of_trait1.append(float(split_line[2])) list_of_trait2.append(float(split_line[3])) list_of_trait3.append(float(split_line[4])) break mean_fitness = mean(list_of_fitness) mean_trait1 = mean(list_of_trait1) mean_trait2 = mean(list_of_trait2) mean_trait3 = mean(list_of_trait3) stderr_fitness = 1.96*sem(list_of_fitness) stderr_trait1 = 1.96*sem(list_of_trait1) stderr_trait2 = 1.96*sem(list_of_trait2) stderr_trait3 = 1.96*sem(list_of_trait3) list_of_mean_fitness.append(mean_fitness) list_of_stderr_fitness.append(stderr_fitness) list_of_mean_trait1.append(mean_trait1) list_of_stderr_trait1.append(stderr_trait1) list_of_mean_trait2.append(mean_trait2) list_of_stderr_trait2.append(stderr_trait2) list_of_mean_trait3.append(mean_trait3) list_of_stderr_trait3.append(stderr_trait3) errorbar(x=range(len(list_of_mean_fitness)), y=list_of_mean_fitness, yerr=list_of_stderr_fitness) 1.96 * array([1, 2, 3])