import pandas as pd df = pd.read_csv('res.csv', header=None) df.columns = ['dummy', 'op', 'desc', 'test_size', 'time'] df.head() df[df.desc == 'completely_random'].groupby([df.test_size.name, df.op.name]).mean().unstack().plot(); title('completely_random'); df[df.desc == 'fixed_100'].groupby([df.test_size.name, df.op.name]).mean().unstack().plot(); title('fixed_100'); df[df.desc == 'hinnant'].groupby([df.test_size.name, df.op.name]).mean().unstack().plot(); title('hinnant'); df[df.desc == 'random_low_eq'].groupby([df.test_size.name, df.op.name]).mean().unstack().plot(); title('random_low_eq');